Compare commits

..

2222 Commits

Author SHA1 Message Date
The ReactOS Team
d7d72444fb This commit was manufactured by cvs2svn to create tag 'krnl0103'.
svn path=/tags/krnl0103/; revision=5949
2003-08-30 22:14:42 +00:00
nj
e9170f21ca Version 0.1.3
svn path=/trunk/; revision=5948
2003-08-30 22:14:42 +00:00
Martin Fuchs
d347dec099 Wine cleanup
svn path=/trunk/; revision=5947
2003-08-30 21:05:22 +00:00
Martin Fuchs
c2a5e8e44e compatibility to building as Winelib application
svn path=/trunk/; revision=5946
2003-08-30 20:48:21 +00:00
Casper Hornstrup
d88ab5ba6e Readd bootimage.bmp in binary mode.
svn path=/trunk/; revision=5945
2003-08-30 20:09:45 +00:00
Casper Hornstrup
283cd3b65a Readd bootimage.bmp in binary mode.
svn path=/trunk/; revision=5944
2003-08-30 20:07:09 +00:00
Casper Hornstrup
5e27514ba7 2003-08-30 Filip Navara <xnavara@volny.cz>
* tools/cabman/cabinet.cxx (CCabinet::ConvertPath): NULL-terminate
	newpath.

svn path=/trunk/; revision=5943
2003-08-30 19:22:32 +00:00
Thomas Bluemel
653c134ed1 some fixes on MessageBox code
svn path=/trunk/; revision=5942
2003-08-30 18:38:08 +00:00
Steven Edwards
449c82d834 Added stubs to iphlpapi that are needed by netapi32.
svn path=/trunk/; revision=5941
2003-08-30 15:27:42 +00:00
Richard Campbell
e388dadfac replaced tab with 2 spaces.
svn path=/trunk/; revision=5940
2003-08-30 15:09:46 +00:00
Richard Campbell
a18c29c6fb - Removed the loop from UNIMPLEMENTED and changed the text a bit
svn path=/trunk/; revision=5939
2003-08-30 15:04:34 +00:00
Hartmut Birr
335e8718f7 - Reference/dereference the parent key in CmiObjectDelete.
The call to CmiRemoveKeyFromList does dereference the parent and
  it is possible that the parent key is deleted before the
  subkey delete process is complete.

svn path=/trunk/; revision=5938
2003-08-30 14:51:05 +00:00
Hartmut Birr
5a6cf4163c - Use the parents registry hive if the parent is accessed in CmiRemoveSubKey.
svn path=/trunk/; revision=5937
2003-08-30 14:50:23 +00:00
Hartmut Birr
72bb12e96c - Allocate a separate name buffer in RtlQueryRegistryValues.
- Fixed a name parameter in a call to the callers supplied query routine.

svn path=/trunk/; revision=5936
2003-08-30 14:49:41 +00:00
Hartmut Birr
ee8ef2cacf - Fixed the enumeration of subkeys for which doesn't exist a hash entry.
- Fixed the enumeration of the length of all sub key and class names.

svn path=/trunk/; revision=5935
2003-08-30 14:49:03 +00:00
Hartmut Birr
249cdd634d - Copied some changes from wine tree.
svn path=/trunk/; revision=5934
2003-08-30 14:48:07 +00:00
Hartmut Birr
e1a7ba7e86 - Changed the attributes in all calls to NtOpenKey from KEY_ALL_ACCESS to MAXIMUM_ALLOWED.
- Fixed in some function the length of the allocated buffer and the returned values.
  The Ntxxx functions doesn't return a zero terminator for strings.

svn path=/trunk/; revision=5933
2003-08-30 14:46:29 +00:00
Eric Kohl
45d8282507 Reset last error before moving the file pointer.
svn path=/trunk/; revision=5932
2003-08-30 13:32:52 +00:00
Martin Fuchs
b69868a964 WINE build compatibility
svn path=/trunk/; revision=5931
2003-08-30 11:30:18 +00:00
Casper Hornstrup
2566f13f3e 2003-08-30 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/rmkdir.c: Fix for absolute paths.

svn path=/trunk/; revision=5930
2003-08-30 00:59:11 +00:00
Casper Hornstrup
b6a3594f0e 2003-08-30 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/rmkdir.c: Create all (sub)directories in path on win32.

svn path=/trunk/; revision=5929
2003-08-29 23:32:56 +00:00
Richard Campbell
8d9c42a241 Added vera fonts.
svn path=/trunk/; revision=5928
2003-08-29 23:08:10 +00:00
Casper Hornstrup
b80c0dd41c 2003-08-30 Casper S. Hornstrup <chorns@users.sourceforge.net>
* bootdata/packages/reactos.dff: Don't include winmm.dll in reactos.cab.

svn path=/trunk/; revision=5927
2003-08-29 22:56:18 +00:00
Richard Campbell
c87861cbec Use Vera instead of helmet for drawing menus, button captions, etc. Please note i wasn't able to TEST this patch but there is no possible way it doesn't work.
svn path=/trunk/; revision=5926
2003-08-29 21:53:50 +00:00
David Welch
88cdb96043 - Fix from art: use the region protection for faulted in pages.
svn path=/trunk/; revision=5925
2003-08-29 21:23:06 +00:00
David Welch
eebe1ed001 - Removed test code.
svn path=/trunk/; revision=5924
2003-08-29 21:22:24 +00:00
Thomas Bluemel
b8025b214f modified MsqTranslateMouseMessage() for Double clicks
svn path=/trunk/; revision=5922
2003-08-29 19:17:32 +00:00
Casper Hornstrup
37f50a72e5 2003-08-29 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Copy freeloader files to bootable CD.

svn path=/trunk/; revision=5921
2003-08-29 18:59:29 +00:00
Casper Hornstrup
e0351c91f1 - Add top-level makefile
- Add fdebug/.cvsignore
- Don't use rdel to remove files in tools/Makefile
- Remove warning in freeldr/mm/meminit.c

svn path=/trunk/; revision=5920
2003-08-29 18:54:17 +00:00
Martin Fuchs
5b3f0e0806 Now we handle start menu popups via StartMenuRoot::TrackStartmenu().
svn path=/trunk/; revision=5919
2003-08-29 14:52:57 +00:00
Gé van Geldorp
5db07c0a15 Fixed NtGdiCreateCompatableDC()
svn path=/trunk/; revision=5918
2003-08-29 12:28:24 +00:00
Eric Kohl
b4b3b303fe Keep users from deleting partitions in special cases that will damage partition tables.
svn path=/trunk/; revision=5917
2003-08-29 11:27:16 +00:00
Gé van Geldorp
5348dfac81 Allocate space for terminating NUL of window text
svn path=/trunk/; revision=5916
2003-08-29 11:00:19 +00:00
Martin Fuchs
ed65784cec multithreading for class Window; usage of window map insted of GWL_USERDATA
svn path=/trunk/; revision=5915
2003-08-29 10:35:37 +00:00
Gé van Geldorp
9665ee6bdb Handle non-nul terminated strings
svn path=/trunk/; revision=5914
2003-08-29 10:20:53 +00:00
Gé van Geldorp
3c1664946f Fix warning
svn path=/trunk/; revision=5913
2003-08-29 09:34:52 +00:00
Gé van Geldorp
6f5012a900 Various fixes by Filip Navara
svn path=/trunk/; revision=5912
2003-08-29 09:29:11 +00:00
Thomas Bluemel
12c2e7f892 fixed the definition of User32SetupDefaultCursors()
svn path=/trunk/; revision=5911
2003-08-29 08:46:20 +00:00
Thomas Bluemel
502394d4ce 1.added callback routine for loading system cursors after switching to gui (not implemented so far)
2.added CopyCursor() which didn't exist as yet

svn path=/trunk/; revision=5910
2003-08-29 00:24:42 +00:00
Gé van Geldorp
62a4b07158 Fix ellipsis in e.g. window captions
svn path=/trunk/; revision=5909
2003-08-28 21:40:26 +00:00
Emanuele Aliberti
24315e0593 PSX: POSIXW32: I updated a note about creating a PSX process from W32.
svn path=/trunk/; revision=5908
2003-08-28 20:01:23 +00:00
Martin Fuchs
1eea5d2dac set TTN_ALWAYS for quicklaunch icons
svn path=/trunk/; revision=5907
2003-08-28 19:59:14 +00:00
Gé van Geldorp
eee0086bc9 Serial mouse driver rewrite by Filip Navara
svn path=/trunk/; revision=5906
2003-08-28 19:44:00 +00:00
Gé van Geldorp
d6a2479e6a Fix PolyPolygon and PolyPolyline (patch by Jonathan Wilson)
svn path=/trunk/; revision=5905
2003-08-28 19:41:37 +00:00
Martin Fuchs
34a1adfed2 Implemented control panel window in cabinet view mode.
svn path=/trunk/; revision=5904
2003-08-28 19:38:17 +00:00
Gé van Geldorp
c954ec53c5 Stubs for newer functions (patch by Jonathan Wilson)
svn path=/trunk/; revision=5903
2003-08-28 19:37:00 +00:00
Gé van Geldorp
31393a210e Implement LZ functions (patch by Jonathan Wilson)
svn path=/trunk/; revision=5902
2003-08-28 19:34:10 +00:00
Gé van Geldorp
8975cb766b Cleaned up too much.... Sorry
svn path=/trunk/; revision=5901
2003-08-28 19:24:28 +00:00
Martin Fuchs
d1a58a026b Implemented control panel window in cabinet view mode.
svn path=/trunk/; revision=5900
2003-08-28 19:13:48 +00:00
Thomas Bluemel
7a0c1b40d1 1. implemented GetDoubleClickTime() and SetDoubleClickTime()
2. implemented SM_CXDOUBLECLK, SM_CYDOUBLECLK and SM_SWAPBUTTON for GetSystemMetrics()
3. implemented NtUserSystemParametersInfo() partially
4. implemented SPI_SETDOUBLECLKWIDTH, SPI_SETDOUBLECLKHEIGHT and SPI_SETDOUBLECLICKTIME for SystemParametersInfo()

svn path=/trunk/; revision=5899
2003-08-28 18:04:59 +00:00
Thomas Bluemel
303749022b implemented support for double clicks
svn path=/trunk/; revision=5898
2003-08-28 16:33:22 +00:00
Thomas Bluemel
9719db631e implemented SwapMouseButton()
svn path=/trunk/; revision=5897
2003-08-28 14:22:05 +00:00
Martin Fuchs
6381c3ac66 Implemented control panel window in cabinet view mode.
svn path=/trunk/; revision=5896
2003-08-28 14:20:05 +00:00
Gé van Geldorp
063d8646a9 .cvsignore maintenance
svn path=/trunk/; revision=5895
2003-08-28 14:00:22 +00:00
Gé van Geldorp
3a922d8d38 Fix double locking of DC
svn path=/trunk/; revision=5894
2003-08-28 13:50:49 +00:00
Gé van Geldorp
e9b3a79c09 Silence debug messages
svn path=/trunk/; revision=5893
2003-08-28 13:38:24 +00:00
Gé van Geldorp
4ab5d75768 Create palette handles as gdiobj handles which can be used by usermode
svn path=/trunk/; revision=5892
2003-08-28 12:35:59 +00:00
Thomas Bluemel
1847e2839e implemented drawing menu bar
svn path=/trunk/; revision=5891
2003-08-28 10:39:44 +00:00
Martin Fuchs
926aaa42ea control panel start entry
svn path=/trunk/; revision=5890
2003-08-28 08:19:50 +00:00
Thomas Bluemel
9cfd31e787 changed menu code to use UNICODE_STRING
svn path=/trunk/; revision=5889
2003-08-27 22:58:12 +00:00
David Welch
22f4e1ae9e - Forgot these two files.
svn path=/trunk/; revision=5888
2003-08-27 21:30:37 +00:00
David Welch
9231f7b9a2 - Added support for crash dumps:-
* Recognize the option /CRASHDUMP on the kernel command line to specify
the type of dump desired.
* Added a new driver (diskdump) which wraps the miniport for the disk
containing the pagefile and does the crash dump i/o.
* Added a FSCTL to get the mapping between LCNs and disk offsets so
crash dumps don't need to go through the filesystem.

svn path=/trunk/; revision=5887
2003-08-27 21:28:08 +00:00
David Welch
1d47b45a53 - Removed kernel private includes.
svn path=/trunk/; revision=5886
2003-08-27 21:21:59 +00:00
Martin Fuchs
49f689ef95 partly implemented control panel window
svn path=/trunk/; revision=5885
2003-08-27 21:07:33 +00:00
David Welch
f97528ca2d - Added .cvsignore file.
svn path=/trunk/; revision=5884
2003-08-27 20:59:35 +00:00
David Welch
9768ea066d - Fix for completion of file system control IRPs.
svn path=/trunk/; revision=5883
2003-08-27 20:57:09 +00:00
David Welch
927f2ae503 - Implement backspace control code in hal output.
svn path=/trunk/; revision=5882
2003-08-27 20:56:26 +00:00
Martin Fuchs
e092af6dee clock tool tips
svn path=/trunk/; revision=5881
2003-08-27 15:52:03 +00:00
Martin Fuchs
3bd933579b idea-update
svn path=/trunk/; revision=5880
2003-08-27 15:47:53 +00:00
Martin Fuchs
44eb89d031 Implemented launching of date/time control panel applet
svn path=/trunk/; revision=5879
2003-08-27 10:00:26 +00:00
Steven Edwards
8a964fafb7 New header from WINE for regression test suite.
svn path=/trunk/; revision=5878
2003-08-27 05:09:58 +00:00
Steven Edwards
c4f4234af6 Did some work implementing rpcrt4.dll so we can make use of the UUID
creation functions for other dlls we need to port. The other 90% of wines
rpc client and server code wont compile but this should be all we need for
a while.

Added regression test.

svn path=/trunk/; revision=5877
2003-08-27 05:07:19 +00:00
Steven Edwards
bac8e6e44e Imported imm32.dll from Winehq CVS 8-26-03
Needed for OpenOffice. (No it wont work yet.)

svn path=/trunk/; revision=5876
2003-08-27 03:11:40 +00:00
Martin Fuchs
2d0cf5cb61 Implemented Tooltip Popup for Clock to display current date
svn path=/trunk/; revision=5875
2003-08-26 22:37:20 +00:00
Thomas Bluemel
51b70de9b7 1. finally fixed handling the WM_MOUSEMOVE messages, credits go to Royce :)
2. Now passing cursor's hotspot position to SetPointerShape

svn path=/trunk/; revision=5874
2003-08-26 19:26:02 +00:00
Martin Fuchs
d239b6fbb7 added hostobjs dir to .cvsignore
svn path=/trunk/; revision=5873
2003-08-26 17:56:22 +00:00
David Welch
698ab100bb - Fixed slashes.
svn path=/trunk/; revision=5872
2003-08-26 16:36:33 +00:00
Martin Fuchs
5207a6524e Implemented Search and Shut Down in startmenu by calling undocumentd shell32 fucntions
svn path=/trunk/; revision=5871
2003-08-26 15:51:17 +00:00
Steven Edwards
93082694f4 end of line fix
svn path=/trunk/; revision=5870
2003-08-26 14:17:01 +00:00
Richard Campbell
9efc96ea08 - Figured i'd go ahead and commit these changes...reduces the cludge that is shell32.dll under ROS. Still needs ALOT of work (which i actually plan on doing :) )
svn path=/trunk/; revision=5869
2003-08-26 13:44:12 +00:00
David Welch
4825f80147 - Add the boot video driver to the system hive.
svn path=/trunk/; revision=5868
2003-08-26 12:48:47 +00:00
Thomas Bluemel
7e89d485f3 big patch by Jonathon Wilson for GDI32 & related stuff
changes are:
1.add some new functions to ascii.h and unicode.h
2.add some definitions to base.h
3.add a bunch of functions to funcs.h
4.add a few structures to structs.h
5.add definitions for some missing stuff to winddi.h
6.general fixes and updates to structures and definitions in winddi.h
7.add some other structures and definitions to winddi.h
8.add some Engxxx functions to winddi.h
9.a small fix in crtdll.def
10.add all the new defs to gdi32.def and gdi32.edf
11.add all the new stubs to gdi32 stubs.c
12.implement PolyPolygon and PolyPolyline
13.some fixes to msafd.def/msafd.edf
14.change WahCloseNotificationHelper to WahCloseNotificationHandleHelper in ws2help to match the microsoft definition
15.add d3d.h, d3dcaps.h, d3dtypes.h, ddraw.h, d3dhal.h, ddrawi.h to include and include\ddk (needed for the GdiEntryxx and DdEntryxx functions in gdi32.dll). Headers are modified versions of those from WINE (stuff removed that wont compile without OLE headers, some stuff added)
16.add ddentry.h which is used with the DdEntry and GdiEntry functions
and 17.fix some stuff in stubs.c of win32k

A fair few of these definitions could be wrong (some of them are educated guesses, like some of the Gdixxx functions)
If anyone has any corrections, any answers for the FIXMEs and structures I dont have definitions for, definitions for the remaining stuff in gdi32.def with a ; in front of it or whatever, do let me know.
Or if anyone wants to comment about my changes, please let me know.

svn path=/trunk/; revision=5867
2003-08-26 12:28:53 +00:00
Thomas Bluemel
0a74c43706 due to reports in the mailing list i fixed this file
svn path=/trunk/; revision=5866
2003-08-26 09:18:26 +00:00
Thomas Bluemel
692a8afd47 fixed a bug crashing the kernel when moving the cursor while returning to the console
svn path=/trunk/; revision=5865
2003-08-26 00:33:53 +00:00
Thomas Bluemel
a38845b010 disabled new code...
svn path=/trunk/; revision=5864
2003-08-26 00:06:16 +00:00
Steven Edwards
2832cd4e05 Added make and install for cards.dll
svn path=/trunk/; revision=5863
2003-08-25 23:56:58 +00:00
Thomas Bluemel
044494cbcd fixed a few bugs in MsqInsertSystemMessage() and improved moving mouse cursor
svn path=/trunk/; revision=5862
2003-08-25 23:55:46 +00:00
Steven Edwards
877b6f0c22 Forgot this
svn path=/trunk/; revision=5861
2003-08-25 23:41:55 +00:00
Steven Edwards
f4722f2cd8 Added cards.dll by Filip Navara with some minor changes I had to make
to merge with winehq.

svn path=/trunk/; revision=5860
2003-08-25 23:35:36 +00:00
Richard Campbell
5d01a60b97 - Solitaire now works partially, patch by Filip Navara
svn path=/trunk/; revision=5859
2003-08-25 23:24:03 +00:00
Andrew Greenwood
2721685576 * This is a TEMPORARY commit of some WINMM stubs to get comctl32 to compile, as requested by Steven. I am going to continue working on porting this over from WINE, but won't commit my changes until it compiles and links properly.
svn path=/trunk/; revision=5858
2003-08-25 22:41:26 +00:00
David Welch
5265ea1787 - Patch from Art Yerkes: return access violation on PAGE_NOACCESS memory.
svn path=/trunk/; revision=5857
2003-08-25 19:26:10 +00:00
Hartmut Birr
238889e049 - The pool lock should be acquired before any tests start (pool verify or red zone test).
svn path=/trunk/; revision=5856
2003-08-25 18:51:50 +00:00
Hartmut Birr
54867f2910 - Fixed a buffer overflow.
svn path=/trunk/; revision=5855
2003-08-25 18:24:20 +00:00
Martin Fuchs
cd92a2363b calculate taskbar size
svn path=/trunk/; revision=5854
2003-08-25 17:01:38 +00:00
Thomas Bluemel
15ccb1b4be fixed MsqInsertSystemMessage()
svn path=/trunk/; revision=5853
2003-08-25 14:54:06 +00:00
Thomas Bluemel
9acc460ae1 modified MsqInsertSystemMessage() so it prevents the system message queue from having more than one WM_MOUSEMOVE message. This should improve moving windows and reduce sending unnecessary WM_MOUSEMOVE messages to applications
svn path=/trunk/; revision=5852
2003-08-25 14:26:30 +00:00
Martin Fuchs
7b2f150c3c moved explorer.lst ti winefile dir
svn path=/trunk/; revision=5851
2003-08-25 13:54:10 +00:00
David Welch
c702fb192b - Only set up the registers that are needed for fading in the palette.
Fixes compatibility problems.

svn path=/trunk/; revision=5850
2003-08-25 12:27:45 +00:00
David Welch
0fb5176276 - Fixed DAC mask register definition.
svn path=/trunk/; revision=5849
2003-08-25 12:26:50 +00:00
Eric Kohl
aa839bb4ed Removed trailing newline. This could have caused some trouble.
svn path=/trunk/; revision=5848
2003-08-25 12:06:29 +00:00
Eric Kohl
f9d13d1819 Disabled two debug messages.
svn path=/trunk/; revision=5847
2003-08-25 11:57:22 +00:00
Eric Kohl
d84b0927cd Changed file system decision as per Brian Palmers suggestion.
Prepare check for valid bootsectors.

svn path=/trunk/; revision=5846
2003-08-25 11:56:07 +00:00
Martin Fuchs
aee5772252 todo update
svn path=/trunk/; revision=5845
2003-08-25 09:33:24 +00:00
Hartmut Birr
17ad3ee0db - Include roscfg.h previous all other header files.
svn path=/trunk/; revision=5844
2003-08-25 09:17:12 +00:00
Hartmut Birr
d09b29c3e8 - Check always the irq trapframe's cs before delivering an user mode apc.
- Copy the irq trap frame only for apc's.

svn path=/trunk/; revision=5843
2003-08-25 09:14:09 +00:00
Steven Edwards
78b253a811 Converted some C++ comment to C style comments
svn path=/trunk/; revision=5842
2003-08-25 01:37:48 +00:00
Thomas Bluemel
94053da414 fixed a bug in NtUserClipCursor()
svn path=/trunk/; revision=5841
2003-08-25 00:51:11 +00:00
Thomas Bluemel
862a1d3afe fixed a bug that caused the mouse cursor drawing incorrectly
svn path=/trunk/; revision=5840
2003-08-25 00:28:23 +00:00
Thomas Bluemel
94b7020933 fixed bugs and completed SetCursorPos() and ClipCursor()
svn path=/trunk/; revision=5839
2003-08-24 23:52:29 +00:00
Aleksey Bragin
35a75878d6 Fixing some obvious bugs in NtGdiRealizePalette (mentioned in the email to ros-kernel list)
svn path=/trunk/; revision=5838
2003-08-24 21:45:40 +00:00
Gé van Geldorp
259639183e BuildDIBPalette fix by Filip Navara
svn path=/trunk/; revision=5837
2003-08-24 20:58:09 +00:00
David Welch
d7e545ac33 - Added in some code from XFree86 to save the vga state on the startup
and restore it on a bugcheck.

svn path=/trunk/; revision=5836
2003-08-24 20:56:16 +00:00
Martin Fuchs
5d476a06de changes-update
svn path=/trunk/; revision=5835
2003-08-24 20:27:38 +00:00
Martin Fuchs
5ccd500de1 Added romanian translation of Ciobanu Alexander.
svn path=/trunk/; revision=5834
2003-08-24 20:19:38 +00:00
Thomas Bluemel
80f8d37b53 implemented SetCursorPos() and GetCursorPos() and changes in the win32k mouse driver callback
svn path=/trunk/; revision=5833
2003-08-24 18:52:18 +00:00
Eric Kohl
096203e6dc - xHalIoReadPartitionTable() returns proper HiddenSector values.
- Disabled some debug messgages.

svn path=/trunk/; revision=5832
2003-08-24 18:07:45 +00:00
David Welch
e4259d3298 - Support 'in dx, eax'/'in imm, eax' in the v86 monitor. Fixes gui startup
on my Radeon 9000.

svn path=/trunk/; revision=5831
2003-08-24 17:22:27 +00:00
Gé van Geldorp
c157c95deb - Improve repainting after a window move
- Move child windows if their parent is moved

svn path=/trunk/; revision=5830
2003-08-24 16:20:30 +00:00
Eric Kohl
c466a4450e Added FAT12 support.
Create random volume serial numbers.

svn path=/trunk/; revision=5829
2003-08-24 16:15:31 +00:00
Hartmut Birr
26532ec2d6 - Fixed the check for printable ascii characters.
svn path=/trunk/; revision=5828
2003-08-24 16:02:52 +00:00
David Welch
9cb40ad0da - Fixed typo in SetUnhandledExceptionFilter
svn path=/trunk/; revision=5827
2003-08-24 14:49:55 +00:00
Martin Fuchs
becf23850d Added logo in start menu.
svn path=/trunk/; revision=5826
2003-08-24 13:53:40 +00:00
Martin Fuchs
eed9914cd8 added shellclasses example project
svn path=/trunk/; revision=5825
2003-08-24 13:51:11 +00:00
Martin Fuchs
fc0152a86e added VC file patterns
svn path=/trunk/; revision=5824
2003-08-24 12:27:22 +00:00
Martin Fuchs
dc72d671b1 moved plugin source from taskbar directory to winefile/plugins
svn path=/trunk/; revision=5823
2003-08-24 12:24:03 +00:00
Martin Fuchs
d5cc3b7cb3 moved plugin source from taskbar directory to winefile/plugins
svn path=/trunk/; revision=5822
2003-08-24 12:22:14 +00:00
Martin Fuchs
86c2f8cff6 added comments
svn path=/trunk/; revision=5821
2003-08-24 12:20:38 +00:00
Martin Fuchs
72898415e4 checked in shellhook source code as backup
svn path=/trunk/; revision=5820
2003-08-24 12:20:20 +00:00
David Welch
26c230dd5a - Moved boot video support to a seperate driver.
svn path=/trunk/; revision=5819
2003-08-24 12:11:13 +00:00
David Welch
d75ef2bebd - Move bootvideo support for a seperate driver.
- Use the normal HalAcquire/ReleaseDisplayOwnership mechanism to reset the
display if a bugcheck occurs while the bootimage is displayed.

svn path=/trunk/; revision=5818
2003-08-24 12:08:16 +00:00
David Welch
d2c4219caf - Support for resetting the display mode on a bug check.
svn path=/trunk/; revision=5817
2003-08-24 11:58:16 +00:00
David Welch
1c8b6bc99e - Fill in the DriverBase and DriverSize fields in the DRIVER_OBJECT structure.
svn path=/trunk/; revision=5816
2003-08-24 11:35:41 +00:00
David Welch
659245c76a - Calls the miniport's HwReset if the HAL reacquires display ownership;
don't do an int10.

svn path=/trunk/; revision=5815
2003-08-24 11:30:02 +00:00
David Welch
f85a8455cb - Return TRUE from HwInitialize
- Implement HwReset.

svn path=/trunk/; revision=5814
2003-08-24 11:28:09 +00:00
Casper Hornstrup
aa6c5c7738 2003-08-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Support creating compressed bootable CDs.
	* rules.mak (HOST_CXX, HOST_AR, CABMAN): Define.
	* bootdata/txtsetup.sif: Add Cabinets section.
	Remove files that are put in reactos.cab.
	* subsys/system/usetup/filequeue.c (SetupCloseFileQueue): Release
	memory allocated for SourceCabinet.
	(SetupQueueCopy): Support copying files in cabinets.
	(SetupCommitFileQueue): Support copying files in cabinets.
	* subsys/system/usetup/filequeue.h (SetupQueueCopy): Add SourceCabinet
	parameter.
	* subsys/system/usetup/filesup.c (SetupExtractFile): New function.
	* subsys/system/usetup/filesup.h (SetupExtractFile): Prototype.
	* subsys/system/usetup/infcache.c (InfOpenBufferedFile): New function.
	* subsys/system/usetup/infcache.h (InfOpenBufferedFile): Prototype.
	* subsys/system/usetup/makefile (TARGET_SDKLIBS): Add zlib.a.
	(TARGET_CFLAGS): Add zlib to include path.
	(TARGET_OBJECTS): Add cabinet.o.
	* subsys/system/usetup/usetup.c (PrepareCopyPageInfFile): New function.
	(PrepareCopyPage): Process Cabinets section.
	* tools/helper.mk: Support C++ applications.
	* rosbin.txt: Remove.
	* bootdata/packages: New directory.
	* bootdata/packages/reactos.dff: New file.
	* lib/zlib/Makefile.host: New file.
	* subsys/system/usetup/cabinet.c: Ditto.
	* subsys/system/usetup/cabinet.h: Ditto.
	* tools/cabman: New directory.
	* tools/cabman/.cvsignore: New file.
	* tools/cabman/cabinet.cxx: Ditto.
	* tools/cabman/cabinet.h: Ditto.
	* tools/cabman/cabman.h: Ditto.
	* tools/cabman/dff.txt: Ditto.
	* tools/cabman/dfp.cxx: Ditto.
	* tools/cabman/dfp.h: Ditto.
	* tools/cabman/main.cxx: Ditto.
	* tools/cabman/makefile: Ditto.
	* tools/cabman/makefile.win32: Ditto.
	* tools/cabman/mszip.cxx: Ditto.
	* tools/cabman/mszip.h: Ditto.
	* tools/cabman/raw.cxx: Ditto.
	* tools/cabman/raw.h: Ditto.

svn path=/trunk/; revision=5813
2003-08-24 10:36:07 +00:00
Casper Hornstrup
a60eb421a7 2003-08-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/structs.h: Apply packed attribute to the typedef, not the
	type's name.
	* include/ntos/keyboard.h: Ditto.
	* include/ntos/tss.h: Ditto.
	* include/win32k/cursoricon.h: Ditto.
	* include/win32k/math.h: Include the compiler's math.h for builtins.
	* ntoskrnl/nt/vdm.c (NtEarlyInitVdm): Avoid warning when compiling using
	GCC 3.4.

svn path=/trunk/; revision=5812
2003-08-24 10:00:12 +00:00
Martin Fuchs
a7977a2a2d Implement CTRL+ESC shortcut for poping up start menu
svn path=/trunk/; revision=5811
2003-08-24 09:44:02 +00:00
Martin Fuchs
80069f0d59 moved externals.h into winefile directory
svn path=/trunk/; revision=5810
2003-08-24 09:43:56 +00:00
Thomas Bluemel
65e70b333c added missing icon file
svn path=/trunk/; revision=5809
2003-08-24 07:58:01 +00:00
Martin Fuchs
aa77f6df20 browse drives in start menu
svn path=/trunk/; revision=5808
2003-08-24 05:04:04 +00:00
Thomas Bluemel
53ee161d92 1. ClipCursor(), GetClipCursor() in user32
2. NtUserClipCursor() and NtUserGetClipCursor() in win32k
3. moved system cursor information to WINSTATION_OBJECT
4. modified win32k mousedriver callback routine for cursor clipping

svn path=/trunk/; revision=5807
2003-08-24 01:12:16 +00:00
Steven Edwards
f9212d48c5 Fixed new tests added .cvsignore files.
Sorry about that.

svn path=/trunk/; revision=5806
2003-08-23 21:13:18 +00:00
Thomas Bluemel
7ef4a451c3 implemented NtUserGetIconSize()
svn path=/trunk/; revision=5805
2003-08-23 20:59:08 +00:00
Steven Edwards
a301bcf7df Updated patblt test and .cvsignore
svn path=/trunk/; revision=5804
2003-08-23 20:55:40 +00:00
Martin Fuchs
2de513433b work around for missing BTNS_NOPREFIX declaration in mingw commtrl.h
svn path=/trunk/; revision=5803
2003-08-23 19:52:15 +00:00
Martin Fuchs
ffa80e7e36 fixed create_absolute_pidl()
svn path=/trunk/; revision=5802
2003-08-23 19:48:37 +00:00
Martin Fuchs
20228bbf5d implemented context menus for task bar
svn path=/trunk/; revision=5801
2003-08-23 18:06:21 +00:00
Martin Fuchs
4d265e45f4 Implemented tool tips for quicklaunch bar.
svn path=/trunk/; revision=5800
2003-08-23 18:05:34 +00:00
Thomas Bluemel
05831e8a00 small changes
svn path=/trunk/; revision=5799
2003-08-23 17:06:07 +00:00
Thomas Bluemel
274ac97525 added icons
svn path=/trunk/; revision=5798
2003-08-23 16:50:58 +00:00
Casper Hornstrup
5f2c2b55be 2003-08-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/tests/tcpsvr/tcpsvr.c (main): Fix multiline string constant.

svn path=/trunk/; revision=5797
2003-08-23 16:37:18 +00:00
Casper Hornstrup
2ef07b88f9 2003-08-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/utils/stats/stats.c (ReadLine): Handle unix end-of-line characters.

svn path=/trunk/; revision=5796
2003-08-23 16:33:04 +00:00
Casper Hornstrup
4a3ede724b 2003-08-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/tests/Makefile (TEST_APPS): Remove patblt and stretchblt
	as they break full make.

svn path=/trunk/; revision=5795
2003-08-23 16:30:49 +00:00
Martin Fuchs
3ff42008f4 improved error reporting for GCC version
svn path=/trunk/; revision=5794
2003-08-23 13:44:37 +00:00
Martin Fuchs
4fcd44e5eb removed warning for VS.Net compiler
svn path=/trunk/; revision=5793
2003-08-23 11:51:01 +00:00
Martin Fuchs
cb0cc914a1 added TODO entries
svn path=/trunk/; revision=5792
2003-08-23 10:59:20 +00:00
Martin Fuchs
b457e5103c fixed more memory and GDI handle leaks
svn path=/trunk/; revision=5791
2003-08-23 10:02:38 +00:00
Martin Fuchs
594afa2f55 fixed GDI handle leaks
svn path=/trunk/; revision=5790
2003-08-23 09:27:26 +00:00
Martin Fuchs
43fa5d1ab2 implemented 'run...' dialog by using shell32 functionality (taken from taskmgr/run.c)
svn path=/trunk/; revision=5789
2003-08-23 09:26:57 +00:00
Martin Fuchs
ea2e4b1c26 added .cvsignore
svn path=/trunk/; revision=5788
2003-08-23 07:53:54 +00:00
Steven Edwards
114ba86989 install new GDI tests
svn path=/trunk/; revision=5787
2003-08-23 07:00:35 +00:00
Steven Edwards
a38afaee02 Added new tests to build
svn path=/trunk/; revision=5786
2003-08-23 06:49:21 +00:00
Steven Edwards
bf3eb0bdde Fixed another demo
svn path=/trunk/; revision=5785
2003-08-23 06:48:35 +00:00
Steven Edwards
aceee42b0f Fix demo - for real this time
svn path=/trunk/; revision=5784
2003-08-23 06:43:54 +00:00
Steven Edwards
0c3c02ba8f Fix demo
svn path=/trunk/; revision=5783
2003-08-23 06:42:45 +00:00
Steven Edwards
5c77637a9b Added new scaled text demo from the Windows 2000 graphics API blackbook
svn path=/trunk/; revision=5782
2003-08-23 06:41:54 +00:00
Steven Edwards
90b7f43de7 Added new makefile for demo
svn path=/trunk/; revision=5781
2003-08-23 06:26:46 +00:00
Steven Edwards
121191e9e1 Set target type as Windows
svn path=/trunk/; revision=5780
2003-08-23 06:10:36 +00:00
Steven Edwards
65018e8631 Add winedbg.dll back
svn path=/trunk/; revision=5779
2003-08-23 05:06:34 +00:00
Steven Edwards
ed30599f45 Merge with Winehq to support w32api and MS_VC headers.
Add linking to winedbgc.dll

svn path=/trunk/; revision=5778
2003-08-22 23:36:27 +00:00
Steven Edwards
9c1b0dcc9f Make lzexpand use winedbg interface.
Merge latest changes with winehq CVS
reactos/subsys/system/expand should work now

svn path=/trunk/; revision=5777
2003-08-22 23:35:28 +00:00
Steven Edwards
62e998a88b Wine porting fixes
Patch by Filip Navara

svn path=/trunk/; revision=5776
2003-08-22 23:34:30 +00:00
Steven Edwards
1e60813c3c Updated winedbg.dll to support latest WINE dlls.
Patch by Filip Navara

svn path=/trunk/; revision=5775
2003-08-22 23:32:39 +00:00
Steven Edwards
7f4e557bf9 Removed sym file from CVS
svn path=/trunk/; revision=5774
2003-08-22 21:27:22 +00:00
Martin Fuchs
12b861a404 added quicklaunch bar
svn path=/trunk/; revision=5773
2003-08-22 21:16:58 +00:00
Martin Fuchs
0b414b7b38 fixed create_bitmap_from_icon()
svn path=/trunk/; revision=5772
2003-08-22 21:14:31 +00:00
Thomas Bluemel
7e8228e0c7 fixed GetIconInfo()
svn path=/trunk/; revision=5771
2003-08-22 20:50:44 +00:00
Martin Fuchs
764b078068 Implemented quick launch bar
svn path=/trunk/; revision=5770
2003-08-22 20:43:36 +00:00
Thomas Bluemel
c863a9d611 fixed a bug in LoadCursorImage()
svn path=/trunk/; revision=5769
2003-08-22 20:17:08 +00:00
Thomas Bluemel
aefd11c055 fixed a bug in LdrAccessResource(), it should abort when ResourceDataEntry == NULL
svn path=/trunk/; revision=5768
2003-08-22 20:00:39 +00:00
Hartmut Birr
130e0947f7 - Free the sub key table in CmiObjectDelete.
svn path=/trunk/; revision=5767
2003-08-22 19:22:19 +00:00
Thomas Bluemel
68cb54ddaf updated user32 resources
svn path=/trunk/; revision=5766
2003-08-22 19:14:01 +00:00
Gé van Geldorp
a15a37fcab Fix handling of invalid memory accesses by the stub
svn path=/trunk/; revision=5765
2003-08-22 18:46:40 +00:00
Thomas Bluemel
1aa98eb415 added 2 cursors
svn path=/trunk/; revision=5764
2003-08-22 18:42:45 +00:00
Martin Fuchs
ddcf08e7d2 double buffering
svn path=/trunk/; revision=5763
2003-08-22 18:25:48 +00:00
Thomas Bluemel
cc1e453ce3 updated cursor resources
svn path=/trunk/; revision=5762
2003-08-22 18:21:52 +00:00
Martin Fuchs
b60923167a NotifyArea::CancelModes()
svn path=/trunk/; revision=5761
2003-08-22 17:32:24 +00:00
Martin Fuchs
f45db7ba7a bugfix: focus handling in startmenu
svn path=/trunk/; revision=5760
2003-08-22 16:59:19 +00:00
Thomas Bluemel
e570fadda7 bugfixes for menus
svn path=/trunk/; revision=5759
2003-08-22 16:01:01 +00:00
Martin Fuchs
ef6eb3eb50 check for valid task icon owener windows
svn path=/trunk/; revision=5758
2003-08-22 15:30:30 +00:00
Martin Fuchs
c92a9be46a btntest.sym
svn path=/trunk/; revision=5757
2003-08-22 15:29:47 +00:00
Andrew Greenwood
7010fa377f * Started porting WINMM from WINE
* Defined __WINE_FOR_REACTOS__ and created internal.h, which defines a few things not already defined.

It compiles, but *will NOT* link, as I haven't finished porting yet. I'll continue hacking away at it.

svn path=/trunk/; revision=5756
2003-08-22 14:56:59 +00:00
Gé van Geldorp
a06a9da285 Prevent double screen output when GDB is active
svn path=/trunk/; revision=5755
2003-08-22 14:49:54 +00:00
Eric Kohl
8773b1104e Use FAT12 or FAT16 CHS for small partitions even if the drive supports LBA.
svn path=/trunk/; revision=5754
2003-08-22 13:55:36 +00:00
Emanuele Aliberti
b5984d7099 PSXDLL: RtlNtStatusToPsxErrno moved to PSX subsystem client library from NTDLL.
svn path=/trunk/; revision=5753
2003-08-22 13:55:15 +00:00
Eric Kohl
c07929b227 Moved FAT32 code to a sepatate file.
Added hack for HiddenSectors value. This is needed to boot FreeLoader.

svn path=/trunk/; revision=5752
2003-08-22 13:53:02 +00:00
Eric Kohl
b8eace220f Ignore junk data from ATA and ATAPI devices.
svn path=/trunk/; revision=5751
2003-08-22 13:50:39 +00:00
Emanuele Aliberti
c8ca03fbbf NTDLL: RtlNtStatusToPsxErrno moved to PSX subsystem client library.
svn path=/trunk/; revision=5750
2003-08-22 13:46:55 +00:00
Martin Fuchs
cd813d619c set work area size
svn path=/trunk/; revision=5749
2003-08-22 13:27:58 +00:00
Royce Mitchell III
5f5441389e C89 compatibility and fixed a pointer bug ( conferred with Thomas on his intensions first ).
svn path=/trunk/; revision=5748
2003-08-22 13:27:09 +00:00
Martin Fuchs
942ea1645e Implemented tray notification callback messages
svn path=/trunk/; revision=5747
2003-08-22 12:41:24 +00:00
Martin Fuchs
da38f35c6c Added tray notification area.
svn path=/trunk/; revision=5746
2003-08-22 09:50:41 +00:00
Martin Fuchs
78d7ed187a implemented clock display in tray notification area
svn path=/trunk/; revision=5745
2003-08-22 09:46:58 +00:00
Gé van Geldorp
9146491fcd Fix counting when going from bottom to top
svn path=/trunk/; revision=5744
2003-08-22 08:03:51 +00:00
Gé van Geldorp
adaa3d6de2 - Move CreateFrameBrushes() and DeleteFrameBrushes() to file where they are
actually used
- Only call them when needed
- Fix resource specification so CreateFrameBrushes() can actually find the
  bitmap it needs

svn path=/trunk/; revision=5743
2003-08-22 07:51:32 +00:00
Steven Edwards
c6066fbd1a Add guid generator by Jonathon Wilson
svn path=/trunk/; revision=5742
2003-08-22 07:26:41 +00:00
Martin Fuchs
74b969bb49 Removed commctrl.h to use the one of W32API headers.
svn path=/trunk/; revision=5741
2003-08-22 07:19:10 +00:00
Richard Campbell
de14bd7a54 - ewps, forgot to convert to 16 colors...interesting, loading 24 bitmaps from resources doesn't seem to work properly
svn path=/trunk/; revision=5740
2003-08-22 06:57:31 +00:00
Richard Campbell
01a760d4ec - obm_close update, i was bored and didn't feel like coding, i hate code burnout.
svn path=/trunk/; revision=5739
2003-08-22 06:33:22 +00:00
Steven Edwards
f6d8e666a9 Merged regedit from winehq cvs.
Moved to new home in reactos tree.
 - I know I said I was on vacation

svn path=/trunk/; revision=5738
2003-08-22 05:55:14 +00:00
Steven Edwards
cd80ac4da7 Add linking to libstdc++ for buggy gcc installs
svn path=/trunk/; revision=5737
2003-08-22 04:54:59 +00:00
Royce Mitchell III
897a184f5a C89 compatibility
svn path=/trunk/; revision=5736
2003-08-22 01:55:36 +00:00
Thomas Bluemel
8ad3e4af6d fixed MessageBeep()
svn path=/trunk/; revision=5735
2003-08-22 00:39:15 +00:00
Thomas Bluemel
91fbb3f0d8 fixed MessageBeep()
svn path=/trunk/; revision=5734
2003-08-22 00:37:36 +00:00
Thomas Bluemel
8b52facc15 unstubbed MessageBeep()
svn path=/trunk/; revision=5733
2003-08-22 00:33:47 +00:00
Thomas Bluemel
7b8304433e reorganized window.c
svn path=/trunk/; revision=5732
2003-08-21 23:07:40 +00:00
Hartmut Birr
b90ac7e87b - Fixed RtlLeaveCriticalSection and RtlTryEnterCriticalSection.
svn path=/trunk/; revision=5731
2003-08-21 22:40:18 +00:00
Thomas Bluemel
426e7567ba added @implemented/@unimplemented comments
svn path=/trunk/; revision=5730
2003-08-21 22:17:56 +00:00
Thomas Bluemel
6a048dddff work on system menus
svn path=/trunk/; revision=5729
2003-08-21 21:52:06 +00:00
Thomas Bluemel
2a0a6362e3 work on system menus
svn path=/trunk/; revision=5728
2003-08-21 20:29:44 +00:00
Gé van Geldorp
60e08b722e - Add Magic number back in
- Move all HANDLE_ENTRY fields into GDIOBJHDR (saves memory)

svn path=/trunk/; revision=5727
2003-08-21 20:16:55 +00:00
Gé van Geldorp
113ee4971a Don't free region if handle is special value 1 (whole window)
svn path=/trunk/; revision=5726
2003-08-21 20:14:45 +00:00
Martin Fuchs
61076e4c18 display icons in tray notification area
svn path=/trunk/; revision=5725
2003-08-21 19:24:30 +00:00
Martin Fuchs
afbf3c66b6 working start menu; beginning of tray notification area
Start menu popup is now closed when clicking in another window.

svn path=/trunk/; revision=5724
2003-08-21 17:11:49 +00:00
Thomas Bluemel
6d6caffd7d some more work on system menus
svn path=/trunk/; revision=5723
2003-08-21 16:04:26 +00:00
Eric Kohl
f7b82c11f2 Fixed FAT16 bootcode install. Don't overwrite any valid BPB data.
svn path=/trunk/; revision=5722
2003-08-21 15:35:32 +00:00
Eric Kohl
5f04c08330 Added FAT16 format code.
svn path=/trunk/; revision=5721
2003-08-21 15:33:48 +00:00
Thomas Bluemel
dad429cc35 initial support for system menus
svn path=/trunk/; revision=5720
2003-08-21 15:26:19 +00:00
Thomas Bluemel
45e8d98b48 Implemented loading compatibility settings (custom version information) for applications
svn path=/trunk/; revision=5719
2003-08-21 12:51:01 +00:00
Royce Mitchell III
cbbd90f4f1 C89 compatibility
svn path=/trunk/; revision=5718
2003-08-21 04:17:15 +00:00
Royce Mitchell III
6f9d6a7c74 fixed several dc locking bugs as well as several memory leaks
svn path=/trunk/; revision=5717
2003-08-20 22:07:36 +00:00
Eric Kohl
e2dd45fd4a Use FAT16 for partitions smaller than 512MB and FAT32 for larger ones.
svn path=/trunk/; revision=5716
2003-08-20 21:58:06 +00:00
Gé van Geldorp
a5e1765aa6 Handle system color background brushes
svn path=/trunk/; revision=5715
2003-08-20 21:42:27 +00:00
Gé van Geldorp
39b5c8f5e4 Change credits as requested by Jon Griffiths <jon_p_griffiths@yahoo.com>
svn path=/trunk/; revision=5714
2003-08-20 21:41:22 +00:00
Emanuele Aliberti
92f4c1b15d WIN32K: little work on Set/GetPixel (I don't know how to actually get/set a pixel value).
svn path=/trunk/; revision=5713
2003-08-20 20:45:28 +00:00
Royce Mitchell III
bbb8de1530 fixed some documentation and implemented RoundRect to call Rectangle so we at least see *something* until RoundRect can get implemented
svn path=/trunk/; revision=5712
2003-08-20 20:24:35 +00:00
Eric Kohl
8225007b2c Added check and warning about incompatible partition tables.
The previous patches (partlist.c and usetup.c) were written by Hartmut Birr!

svn path=/trunk/; revision=5711
2003-08-20 20:07:33 +00:00
Casper Hornstrup
11ee47208a 2003-08-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
* subsys/win32k/ntuser/menu.c (IntSetMenuDefaultItem,
	IntGetMenuDefaultItem): Fix unsigned/signed warnings.

svn path=/trunk/; revision=5710
2003-08-20 18:55:03 +00:00
Eric Kohl
e89f5dacce Ignore valid but unused partition table (4 unused entries).
svn path=/trunk/; revision=5709
2003-08-20 16:59:46 +00:00
Eric Kohl
1926975c01 Install FAT16 bootcode on FAT16 partitions.
Don't modify valid partition types when a partiton is formatted.

svn path=/trunk/; revision=5708
2003-08-20 16:31:21 +00:00
Martin Fuchs
e4b7ecbc70 dynamic startmenu widths
svn path=/trunk/; revision=5707
2003-08-20 15:18:08 +00:00
Eric Kohl
3d0daebcc4 Enable ReactOS installation.
svn path=/trunk/; revision=5706
2003-08-20 15:16:43 +00:00
Eric Kohl
e9042b4e5a Fixed FAT32 cluster size calculation (GB instead of MB).
svn path=/trunk/; revision=5705
2003-08-20 15:15:30 +00:00
Emanuele Aliberti
bd5999bd1a NTOSKRNL PS: NtOpenThread implemented.
svn path=/trunk/; revision=5704
2003-08-20 15:02:53 +00:00
Royce Mitchell III
cafb322c66 commented out a DPRINT that referenced a variable that no longer exists
svn path=/trunk/; revision=5703
2003-08-20 14:53:16 +00:00
Thomas Bluemel
f8dadc910b Patch by Jonathon Wilson: Implemented loading cursors with LoadImage()
svn path=/trunk/; revision=5702
2003-08-20 14:08:19 +00:00
Thomas Bluemel
545e6f33fb some work on menus
svn path=/trunk/; revision=5701
2003-08-20 14:01:16 +00:00
Thomas Bluemel
33a53f0e47 implemented NtUserGetMenuDefaultItem()
svn path=/trunk/; revision=5700
2003-08-20 13:02:32 +00:00
Martin Fuchs
246cb6d247 automatically opening startmenu-submenus
svn path=/trunk/; revision=5699
2003-08-20 12:42:25 +00:00
Andrew Greenwood
1dbf9b9981 * Took an intelligent guess at NtLockVirtualMemory and NtUnlockVirtualMemory and attempted to implement them, but they're most likely *wrong*. Shouldn't break anything already though.
svn path=/trunk/; revision=5698
2003-08-20 10:37:33 +00:00
Thomas Bluemel
bcefe84d60 added NtUserGetMenuDefaultItem() syscall
svn path=/trunk/; revision=5697
2003-08-20 10:08:53 +00:00
Martin Fuchs
10f0f6628e draw startmenu subfolder arrows
svn path=/trunk/; revision=5696
2003-08-20 09:08:00 +00:00
Martin Fuchs
9a3c91b31d eliminating warning
svn path=/trunk/; revision=5695
2003-08-20 09:06:34 +00:00
Gé van Geldorp
2ad60bb5af .cvsignore maintenance
svn path=/trunk/; revision=5694
2003-08-20 08:05:10 +00:00
Gé van Geldorp
bb70febc2a - Store GDI object type in the handle itself
- Rename remaining XX_HandleToPtr/XX_ReleasePtr funcs to XX_LockXx/XX_UnlockXx

svn path=/trunk/; revision=5693
2003-08-20 07:45:02 +00:00
Royce Mitchell III
974eb2f364 patch by vizzini - Fixed a typoed struct member, Fixed a unicode->hex integer bug.
svn path=/trunk/; revision=5692
2003-08-20 04:18:31 +00:00
Andrew Greenwood
05bd5fcc78 * Made a start on a few user32 stubs
* Various other small changes

svn path=/trunk/; revision=5691
2003-08-20 03:07:33 +00:00
Andrew Greenwood
675c971445 * Implemented handling for DC_INBUTTON and DC_SMALLCAP styles in DrawCaption()
* Misc. other very minor improvements

svn path=/trunk/; revision=5690
2003-08-20 01:41:01 +00:00
Andrew Greenwood
de05ce363a * Merged common code from GetClassInfoExA/W into an internal GetClassInfoExCommon routine, called by both functions.
These changes conflicted with an earlier commit - I have manually merged the changed. If there are any mistakes, one of the functions has the original code commented out.

svn path=/trunk/; revision=5689
2003-08-20 01:05:10 +00:00
Andrew Greenwood
8eb1d07658 DrawCaption() now works, and is called (unsurprisingly) for drawing the captions of windows!
* Implemented DrawCaption() in lib/user32/windows/defwnd.c (couldn't put it in draw.c due to the functions it relies upon being in defwnd.c)
* Changed a few metrics in subsys/win32k/ntuser/metric.c to match the Windows defaults
* Added DC_GRADIENT and DC_BUTTONS to include/defines.h
* Modified prototype for UserDrawSysMenuButton in lib/user32/include/window.h to return success/failure
* Modified lib/usr32/resources/obm_close.bmp slightly. It now looks more like the Windows version.

svn path=/trunk/; revision=5688
2003-08-20 00:41:04 +00:00
David Welch
778113754c - Fix for accessing Section->Segment after dereferencing the associated
file object.

svn path=/trunk/; revision=5687
2003-08-20 00:02:31 +00:00
David Welch
12d437f94e - Forgot this file - sorry.
svn path=/trunk/; revision=5686
2003-08-20 00:01:30 +00:00
David Welch
f2d9fe4842 - Patch from PM implementing ldt and tss iobitmap support.
svn path=/trunk/; revision=5685
2003-08-19 23:59:08 +00:00
Thomas Bluemel
c301cf0343 small bugfix
svn path=/trunk/; revision=5684
2003-08-19 23:54:26 +00:00
David Welch
0bed5b1747 - Fixed whole page allocations.
svn path=/trunk/; revision=5683
2003-08-19 23:52:36 +00:00
Thomas Bluemel
aab0f8f999 fixed NtUserGetClassInfo() and GetClassInfoExA/W()
svn path=/trunk/; revision=5682
2003-08-19 23:41:20 +00:00
Steven Edwards
eca1b2621d Add lz32.dll to apistatus list.
svn path=/trunk/; revision=5681
2003-08-19 23:25:58 +00:00
Royce Mitchell III
23f865f379 fixed minor blip in Polygon algo
svn path=/trunk/; revision=5680
2003-08-19 21:29:20 +00:00
Martin Fuchs
0152db0310 new cvsignore entries
svn path=/trunk/; revision=5679
2003-08-19 21:05:21 +00:00
Martin Fuchs
c5ddf7eb05 Implementation of standard startmenu folders
svn path=/trunk/; revision=5678
2003-08-19 21:04:37 +00:00
Eric Kohl
cb15da56e1 * Added trailing fs info sector signature
* Calculate correct cluster size

svn path=/trunk/; revision=5677
2003-08-19 19:15:20 +00:00
Hartmut Birr
57a76c0f45 - Fixed the intial values for cluster 0 and 1.
- Write the fat in larger chunks.
- Calculate the necessary size for the fat more exactly.

svn path=/trunk/; revision=5676
2003-08-19 17:51:12 +00:00
Martin Fuchs
02a714f2b9 Implemented navigation and launching in start menu
svn path=/trunk/; revision=5675
2003-08-19 16:51:36 +00:00
Eric Kohl
a0f1b6fbfe * Install MBR boot code if necessary.
* Install partition boot code after formatting.

svn path=/trunk/; revision=5674
2003-08-19 15:54:47 +00:00
Royce Mitchell III
8fcc6f51cd fixed definition of DESKTOPENUMPROC
svn path=/trunk/; revision=5673
2003-08-19 15:18:26 +00:00
Thomas Bluemel
f75a6525b5 Patch by Jonathon Wilson:
1. renames all w32k syscalls to ntgdi
2. contains the fixed, working PolyPatBlt and PatBlt fixes from before
3. renames W32kInitialize to Win32kInitalize
4. renames W32kDeviceProcess to Win32kDeviceProcess
5. renames all the w32k functions in ntuser to int functions (like in ntgdi)

svn path=/trunk/; revision=5672
2003-08-19 11:48:50 +00:00
Martin Fuchs
4f3b4c81e2 use BTNS_SEP instead of TBSTYLE_SEP
svn path=/trunk/; revision=5671
2003-08-19 09:48:43 +00:00
Martin Fuchs
0fd6225404 OwnerdrawnButton
svn path=/trunk/; revision=5670
2003-08-19 09:36:25 +00:00
Martin Fuchs
a355ea3e20 added code comments and a bit of cleanup
svn path=/trunk/; revision=5669
2003-08-19 09:13:02 +00:00
Martin Fuchs
8ee9da9bb7 disable window resizing for start menu
svn path=/trunk/; revision=5668
2003-08-19 09:11:43 +00:00
Royce Mitchell III
a5dc482c4c Added MmDbgPagedPoolRedZoneCheck(). I hope to eventually export it so other OS components can check for bounds violations whenever they want. For now, you can do so by calling ExAllocatePool(PagedPool,0)
svn path=/trunk/; revision=5667
2003-08-19 05:24:07 +00:00
Royce Mitchell III
5b43864d3d C89 compatibility
svn path=/trunk/; revision=5666
2003-08-19 03:05:42 +00:00
Royce Mitchell III
b3b09803f9 fixed some memory leaks with GetClassInfoEx(A/W)
svn path=/trunk/; revision=5665
2003-08-19 02:55:53 +00:00
Steven Edwards
b46260a736 Added implemented and unimplemented tags.
svn path=/trunk/; revision=5664
2003-08-19 01:31:51 +00:00
Thomas Bluemel
ccceb1f9ac implemented SetLastErrorEx()
svn path=/trunk/; revision=5663
2003-08-19 01:31:15 +00:00
Thomas Bluemel
6569fdad17 minor fixes
svn path=/trunk/; revision=5662
2003-08-19 01:03:41 +00:00
Thomas Bluemel
01533e4a5d GetClassInfoExA/W() checks for valid parameters now
svn path=/trunk/; revision=5661
2003-08-19 00:49:42 +00:00
Thomas Bluemel
37da5cd4d8 fixed some bugs in GetClassInfoExA/W()
svn path=/trunk/; revision=5660
2003-08-19 00:36:40 +00:00
Thomas Bluemel
1717987643 fixed GetClassInfoExA/W() and CreateWindowExA/W()
svn path=/trunk/; revision=5659
2003-08-18 23:52:03 +00:00
Andrew Greenwood
5f8d059303 OK I must be having a bad coding day or something. This should finally fix the build problems.
svn path=/trunk/; revision=5658
2003-08-18 23:10:44 +00:00
Andrew Greenwood
0768d3a18b Oops... Sorry guys, the last commit I made broke the build, so I've just reversed most of what I did. Just commented out my changes in unwind.c
svn path=/trunk/; revision=5657
2003-08-18 22:55:15 +00:00
Martin Fuchs
ce4a563fbf first draft of explorer start menu
svn path=/trunk/; revision=5656
2003-08-18 22:28:41 +00:00
Andrew Greenwood
6fb621e9a8 * Added stubs for GetSecurityInfo and GetSecurityInfoExA/W in advapi32
* Added some rather messy code to msvcrt/except/unwind.c in an attempt to get cmd.exe from Windows 2000 to run once again (Microsoft must've updated it in SP4 ... it used to work!)

svn path=/trunk/; revision=5655
2003-08-18 22:19:25 +00:00
Andrew Greenwood
63a25cf323 I've attempted to (correctly) re-stub some of the WinMM.DLL functions, and have partly implemented some parameter checking, etc.
This is still a complete mess and won't link. And it doesn't like me using file mappings.

svn path=/trunk/; revision=5654
2003-08-18 19:14:57 +00:00
Eric Kohl
c01dbcf16b * Write modified partition sectors to disk.
* Enable partition formatting code.

svn path=/trunk/; revision=5653
2003-08-18 17:39:26 +00:00
Eric Kohl
c5cce225e2 xHalIoWritePartitionTable(): Don't bail out if a partition manager was found.
svn path=/trunk/; revision=5652
2003-08-18 17:34:18 +00:00
Emanuele Aliberti
0682a6e2b0 SystemProcessInformation: PPID retrieved.
Now tlist shows correct parent-child relations.

svn path=/trunk/; revision=5651
2003-08-18 15:18:03 +00:00
Thomas Bluemel
b68f0a643f some work on menus
svn path=/trunk/; revision=5650
2003-08-18 14:09:13 +00:00
Thomas Bluemel
065d88ba18 some work on menus
svn path=/trunk/; revision=5649
2003-08-18 13:37:54 +00:00
Martin Fuchs
e0306148f3 initializing for GCC
svn path=/trunk/; revision=5648
2003-08-18 13:09:46 +00:00
Martin Fuchs
aa7ecf8b2d BTNS_BUTTON
svn path=/trunk/; revision=5647
2003-08-18 13:07:50 +00:00
Thomas Bluemel
b2b074bf8c removed MENUITEMINFOW struct from MENU_ITEM
svn path=/trunk/; revision=5646
2003-08-18 11:58:17 +00:00
Hartmut Birr
f56db0bd84 - Enabled the break handler.
svn path=/trunk/; revision=5645
2003-08-18 11:55:43 +00:00
Hartmut Birr
3c9f26a7a0 - Remove all wait objects from a thread which would be deleted.
- Release the thread list lock after the real context switch
  (some code was moved from thread.c to tskswitch.S).
- Check for the state of a thread which is blocked or unblocked,
  because it is possible that there was a second thread switching.
- Fixed KeSetBasePriorityThread.
- Check for a necessary task switch after changing the thread priority in KeSetPriorityThread.

svn path=/trunk/; revision=5644
2003-08-18 11:52:31 +00:00
Hartmut Birr
69ade55431 - Check for the status after calling KeWaitForSingleObject in NtRequestWaitReplyPort.
svn path=/trunk/; revision=5643
2003-08-18 11:48:19 +00:00
Hartmut Birr
14aa056fe0 - Remove all wait objects from a thread which would be deleted.
- Release the thread list lock after the real context switch
  (some code was moved from thread.c to tskswitch.S).
- Check for the state of a thread which is blocked or unblocked,
  because it is possible that there was a second thread switching.
- Fixed KeSetBasePriorityThread.
- Check for a necessary task switch after changing the thread priority in KeSetPriorityThread.

svn path=/trunk/; revision=5642
2003-08-18 11:23:32 +00:00
Hartmut Birr
7aab7f108b - Store for each process a separate pointer for a control handler within the process data structure.
- Call the control handler only if processed input is enabled.
- Call the control handler for each process which is attached to the console.

svn path=/trunk/; revision=5641
2003-08-18 10:58:49 +00:00
Hartmut Birr
74b741f04a - Fixed the initializing of the initial console control handler.
- Fixed RemoveConsoleCtrlHandler.
- CreateProcess should send the console control handler to csrss.

svn path=/trunk/; revision=5640
2003-08-18 10:47:04 +00:00
Hartmut Birr
a11c2e5606 - Delete a process environment in the context of a worker thread
if the caller does not run in the same process which would
  be deleted and if KeAttachProcess was already called.

svn path=/trunk/; revision=5639
2003-08-18 10:20:57 +00:00
Hartmut Birr
8ab6fed82c - Do not call KeAttachProcess/keDetachProcess if the current process is the necessary process.
svn path=/trunk/; revision=5638
2003-08-18 10:18:14 +00:00
Andrew Greenwood
e7eff667e5 This is Jonathan Wilson's patch, which implements DrawFrame and fixes PolyPatBlt.
svn path=/trunk/; revision=5637
2003-08-18 09:59:29 +00:00
James Tabor
1ec31c1ff5 Commit Ctrl Event handler
svn path=/trunk/; revision=5636
2003-08-18 07:47:28 +00:00
James Tabor
542347bd13 Commit Ctrl Event handler
svn path=/trunk/; revision=5635
2003-08-18 07:32:00 +00:00
Martin Fuchs
c433be3d74 spelling fix
svn path=/trunk/; revision=5634
2003-08-18 07:24:28 +00:00
James Tabor
2cfb8d7b0d Commit Ctrl Event handler
svn path=/trunk/; revision=5633
2003-08-18 07:20:37 +00:00
James Tabor
38064c3a39 Commit Ctrl Event handler
svn path=/trunk/; revision=5632
2003-08-18 07:06:59 +00:00
Andrew Greenwood
f049704abd Implemented GrayStringA and GrayStringW (untested, probably won't work)
svn path=/trunk/; revision=5631
2003-08-18 00:14:50 +00:00
Thomas Bluemel
a234963ccf Implemented SetWindowContextHelpId() and GetWindowContextHelpId()
svn path=/trunk/; revision=5630
2003-08-18 00:11:17 +00:00
Thomas Bluemel
cfac33ce3b Implemented AnimateWindow()
svn path=/trunk/; revision=5629
2003-08-17 23:48:36 +00:00
Martin Fuchs
b988aae390 added cvsignore2
svn path=/trunk/; revision=5628
2003-08-17 23:28:24 +00:00
Martin Fuchs
2a4126d9ca corrected cvsignore
svn path=/trunk/; revision=5627
2003-08-17 23:26:13 +00:00
Martin Fuchs
b5aac7eb36 log off button in start menu
svn path=/trunk/; revision=5626
2003-08-17 23:14:23 +00:00
Andrew Greenwood
54a2b50917 * Ported listbox conrtol from WINE - it doesn't work properly yet, but registers and processes messages!
* Implemented IsChild and FreeConsole (latter is guesswork based on AllocConsole!)
* Started implementing OpenIcon (remains unfinished)
* Improved EnableWindow, IsWindowEnabled and IsZoomed
* Replaced some instances of GetWindowLong with NtUserGetWindowLong
* Added SIF_TRACKPOS to defines.h
* Added dwLocaleId to COMPAREITEMSTRUCT

svn path=/trunk/; revision=5625
2003-08-17 22:45:40 +00:00
Martin Fuchs
d9668b0a6a picture button for start menu
svn path=/trunk/; revision=5624
2003-08-17 20:41:41 +00:00
Martin Fuchs
a24652a4d7 picture button for start menu
svn path=/trunk/; revision=5623
2003-08-17 20:41:32 +00:00
Andrew Greenwood
ff7ea1c1f5 * Implemented EnabledWindow and IsWindowEnabled (seem to work OK)
* Modified DrawState slightly (still doesn't work very well)

svn path=/trunk/; revision=5622
2003-08-17 20:29:57 +00:00
Andrew Greenwood
04bd392176 More work on DrawStateA/DrawStateW. They are still both incomplete, and only really work for DSS_NORMAL and DST_TEXT at the moment. Button text drawing appears to be broken (window state is always disabled for some reason.)
svn path=/trunk/; revision=5621
2003-08-17 19:07:11 +00:00
Martin Fuchs
17412a6d95 new helper struct ClientRect
svn path=/trunk/; revision=5620
2003-08-17 18:31:45 +00:00
Royce Mitchell III
5b6d43ab50 * fixes a couple (several?) memory leaks
* fixes |many| gdi locking bugs ( particularly DC's )
* Polygon and Rectangle now match MS's perfectly.
* a lot of functions take PDC or have PDC-equivalents now.
* fixed some C89 compatibility issues. ( before you complain, I refuse
to upgrade b/c my gcc 2.95 has caught ERRORS that gcc 3 completely
ignores, so I refuse to upgrade )

svn path=/trunk/; revision=5619
2003-08-17 17:32:58 +00:00
David Welch
8b7c8b8dff - Fixed bug in small width brush blts aligned to an eight boundary.
- Accelerate dstinvert blts (treat as patinvert with a colour of 0xF).

svn path=/trunk/; revision=5618
2003-08-17 15:11:54 +00:00
Martin Fuchs
6fba0a4d96 refresh attributes of existing taskbar buttons
svn path=/trunk/; revision=5617
2003-08-17 15:03:11 +00:00
Martin Fuchs
76a258b41b Handling ofg iconized windows
svn path=/trunk/; revision=5616
2003-08-17 14:19:03 +00:00
Richard Campbell
8568d5b2bb - Added 'time.c' for time functions
- Updated makefile

No longer compiles due to errors?!?  I could use some help here.  Anyone want to tell me what i'm doing wrong?

svn path=/trunk/; revision=5615
2003-08-17 12:32:05 +00:00
Richard Campbell
59ac5f2e25 - Updated winmm defs, (This library isn't used or compiled yet, use the one from wine)
- Removed a comment

svn path=/trunk/; revision=5614
2003-08-17 10:47:27 +00:00
Eric Kohl
63f8c28d8b Implemented xHalIoSetPartitionInformation().
Fixed typos in debug messages.
Cleaned up the mess.

svn path=/trunk/; revision=5613
2003-08-17 10:36:45 +00:00
Thomas Bluemel
e283c5b7d3 Added WindowFromDC() by Philip Alldredge
svn path=/trunk/; revision=5612
2003-08-17 09:17:04 +00:00
Martin Fuchs
f8e97c4994 Optimierung der Applikationsfenster-Anzeige
svn path=/trunk/; revision=5611
2003-08-17 07:59:37 +00:00
Royce Mitchell III
85f2a50511 fixed GDIOBJ locking issue with DC_SET_MODE macro
svn path=/trunk/; revision=5610
2003-08-17 03:32:59 +00:00
Andrew Greenwood
96a1097b2d Very basic (and incomplete) implementation of DrawStateA, DrawStateW and some internal helper functions, based on the code from WINE. It works well enough to display text on buttons, but doesn't handle any state drawing yet. I hope to implement this over the next few days.
svn path=/trunk/; revision=5609
2003-08-17 02:51:42 +00:00
Martin Fuchs
e0aedc01c3 first draft of working task bar
svn path=/trunk/; revision=5608
2003-08-16 23:27:18 +00:00
Gé van Geldorp
8d77a084ae Remove ANSI window proc and related funcs, fix color of SS_*RECT/SS_*FRAME
styles, fix SS_ETCHEDHORZ and SS_ETCHEDVERT styles, fix clipping

svn path=/trunk/; revision=5607
2003-08-16 21:34:18 +00:00
Royce Mitchell III
2ef7538593 fixed line back-tracking in Polygon to match forward-tracking. No overlap occurs between line and fill if pen width <= 1.
svn path=/trunk/; revision=5606
2003-08-16 21:17:20 +00:00
Royce Mitchell III
cc588fb0f4 Updated by TortoiseCVS
svn path=/trunk/; revision=5605
2003-08-16 21:15:54 +00:00
Royce Mitchell III
33652190b3 Updated by TortoiseCVS
svn path=/trunk/; revision=5604
2003-08-16 21:15:37 +00:00
Gé van Geldorp
93b6368a9f Fix test for WindowTextAtom
svn path=/trunk/; revision=5603
2003-08-16 20:16:50 +00:00
James Tabor
1498f053e6 Commit Ctrl Event handler more changes are pending.
svn path=/trunk/; revision=5602
2003-08-16 17:37:51 +00:00
Martin Fuchs
a374276f97 additional comments
svn path=/trunk/; revision=5601
2003-08-16 12:06:52 +00:00
Martin Fuchs
0d9772d954 update from mail archive
svn path=/trunk/; revision=5600
2003-08-16 12:06:12 +00:00
Martin Fuchs
643f42422c use msdevfilt
svn path=/trunk/; revision=5599
2003-08-16 12:04:51 +00:00
James Tabor
0d9433ca45 Setup ConsoleLocks for Event handler
svn path=/trunk/; revision=5598
2003-08-16 06:19:15 +00:00
Royce Mitchell III
55aa0bc5a5 add abs() declaration
svn path=/trunk/; revision=5597
2003-08-16 05:12:37 +00:00
Royce Mitchell III
606b457dcd W32kRectangle() fixed.
svn path=/trunk/; revision=5596
2003-08-16 05:00:14 +00:00
Royce Mitchell III
321a71f1dd Polygon now works flawlessly ( with possible exception to the issue mentioned on the list earlier this evening ). Scrollbar arrows are now perfect.
svn path=/trunk/; revision=5595
2003-08-16 04:47:41 +00:00
Royce Mitchell III
58d4ce9842 my Polygon algorithm sandbox
svn path=/trunk/; revision=5594
2003-08-16 01:34:29 +00:00
Gé van Geldorp
349c41fe42 Revert most of last change
svn path=/trunk/; revision=5593
2003-08-15 21:56:48 +00:00
Eric Kohl
ff28f462af Got xHalIoWritePartitionTable() working.
svn path=/trunk/; revision=5592
2003-08-15 19:37:32 +00:00
Royce Mitchell III
d4deb682ee improvements to Polygon algo - commiting to get help on one last detail. Winding polygons now work and floating point code is eliminated.
svn path=/trunk/; revision=5591
2003-08-15 18:51:32 +00:00
Gé van Geldorp
4f6a2a6124 Simple maze demo
svn path=/trunk/; revision=5590
2003-08-15 17:06:49 +00:00
Gé van Geldorp
dd426f79b3 Handle SysColor background brushes
svn path=/trunk/; revision=5589
2003-08-15 17:06:11 +00:00
Martin Fuchs
acffe270aa checking wine patches
svn path=/trunk/; revision=5588
2003-08-15 16:13:41 +00:00
Martin Fuchs
cc6e4df2a4 include makefile project
svn path=/trunk/; revision=5587
2003-08-15 16:12:52 +00:00
Thomas Bluemel
f916e75837 changed registering builtin classes to unicode
svn path=/trunk/; revision=5586
2003-08-15 15:55:02 +00:00
Thomas Bluemel
946116f8d4 added builtin PopupMenu window class
svn path=/trunk/; revision=5585
2003-08-15 15:12:14 +00:00
Royce Mitchell III
898e3104f1 fixed UITOOLS95_DrawRectEdge to match repairs made to the vga driver. buttons and framed windows now look correct (again).
svn path=/trunk/; revision=5584
2003-08-15 13:44:30 +00:00
Thomas Bluemel
59c7cc4bc9 fixed small bug in NtUserSetMenu()
svn path=/trunk/; revision=5583
2003-08-15 11:11:02 +00:00
Richard Campbell
1c8bc47bcc - NtUserSetActiveWindow now called in CreateWindowEx
svn path=/trunk/; revision=5582
2003-08-15 10:53:16 +00:00
Richard Campbell
1fd05861d6 - Remove nonclient.c (not used)
svn path=/trunk/; revision=5581
2003-08-15 10:51:51 +00:00
Richard Campbell
d0443c94b3 - Remove nonclient.c (not used)
- Removed DbgPrints()

svn path=/trunk/; revision=5580
2003-08-15 10:51:23 +00:00
Hartmut Birr
08be7d88cc - Fixed the allocated size for the KernelCallbackTable.
svn path=/trunk/; revision=5579
2003-08-15 10:17:09 +00:00
Richard Campbell
eed3e59db4 Now use GetActiveWindow() to set the active flag.
svn path=/trunk/; revision=5578
2003-08-15 10:12:22 +00:00
Martin Fuchs
d27a1e6d43 move text
svn path=/trunk/; revision=5577
2003-08-15 07:53:26 +00:00
Martin Fuchs
501742224c remove warnings
svn path=/trunk/; revision=5576
2003-08-15 07:53:07 +00:00
Andrew Greenwood
98cc6d95b0 This commit mostly adds DbgPrint() statements to places relevant to the button control, and also partially implements DrawState(), although it doesn't seem to work *at all* at the moment.
svn path=/trunk/; revision=5575
2003-08-15 02:51:53 +00:00
Gé van Geldorp
168a174267 Fix line drawing
svn path=/trunk/; revision=5574
2003-08-14 22:34:16 +00:00
Royce Mitchell III
dacc05c901 patch by Jonathon Wilson
Implement PolyPatBlt, SetDeskWallpaper as a call to SystemParametersInfo, UserClientDllInitialize, WCSToMBEx, MBToWCSEx, MB_GetString, SetWindowWord, TranslateMessageEx, SetMessageQueue, IsHungAppWindow
Added stubs for a bunch more functions from NT4SP6 user32.dll

svn path=/trunk/; revision=5573
2003-08-14 20:25:52 +00:00
Andrew Greenwood
8535425fcd ReactOS W32API convert part 4
I've modified ReactOS' headers and source files to match W32API's headers, and fully recompiled and booted ReactOS without them, so it does still work.

A more detailed log of changes will be sent to the ros-kernel mailing list shortly.

svn path=/trunk/; revision=5572
2003-08-14 18:30:28 +00:00
Eric Kohl
979c196068 Fixed nls variable declarations.
svn path=/trunk/; revision=5571
2003-08-14 17:54:27 +00:00
Eric Kohl
d535f217c0 RtlQueryRegistryValues():
* Fixed a bug which returned malformed Unicode strings.
* Removed an unnecessary limitation.

svn path=/trunk/; revision=5570
2003-08-14 14:52:13 +00:00
Eric Kohl
2b3c1f4b49 Fixed some discrepancies (cdecl vs. stdcall) and typos.
svn path=/trunk/; revision=5569
2003-08-14 12:47:33 +00:00
Eric Kohl
6d3c6eba11 Fixed a lot of discrepancies (cdecl vs. stdcall).
svn path=/trunk/; revision=5568
2003-08-14 10:43:42 +00:00
Eric Kohl
1805517888 Implemented ProbeForRead() and ProbeFor Write() (but no SEH yet).
svn path=/trunk/; revision=5567
2003-08-14 10:41:36 +00:00
Eric Kohl
ce57c8d26d Added missing nls declarations.
svn path=/trunk/; revision=5566
2003-08-14 10:32:09 +00:00
Royce Mitchell III
2f9bb4b28a patch by Jonathon Wilson - fix bug in SetClassLong and SetWindowLong
svn path=/trunk/; revision=5565
2003-08-14 01:38:19 +00:00
Royce Mitchell III
238a317934 implementation of the Eng*Semaphore suite of functions. Thanks David, Ge, MikeN & vizzini.
svn path=/trunk/; revision=5564
2003-08-13 22:43:15 +00:00
Casper Hornstrup
715a74de6d Revert last change.
svn path=/trunk/; revision=5563
2003-08-13 20:25:41 +00:00
Casper Hornstrup
be065e6f54 2003-08-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/win32k/ntuser.h (NtUserGetClassName): Make nMaxCount an ULONG.
	* subsys/win32k/dib/dib16bpp.c: Fix unsigned/signed warnings.
	* subsys/win32k/dib/dib1bpp.c: Ditto.
	* subsys/win32k/dib/dib32bpp.c: Ditto.
	* subsys/win32k/dib/dib4bpp.c: Ditto.
	* subsys/win32k/dib/dib8bpp.c: Ditto.
	* subsys/win32k/eng/lineto.c: Ditto.
	* subsys/win32k/eng/mouse.c: Ditto.
	* subsys/win32k/eng/xlate.c: Ditto.
	* subsys/win32k/misc/driver.c: Ditto.
	* subsys/win32k/ntuser/class.c: Ditto.
	* subsys/win32k/ntuser/keyboard.c: Ditto.
	* subsys/win32k/ntuser/timer.c: Ditto.
	* subsys/win32k/ntuser/window.c: Ditto.
	* subsys/win32k/objects/bitmaps.c: Ditto.
	* subsys/win32k/objects/color.c: Ditto.
	* subsys/win32k/objects/coord.c: Ditto.
	* subsys/win32k/objects/dib.c: Ditto.
	* subsys/win32k/objects/path.c: Ditto.
	* subsys/win32k/objects/region.c: Ditto.
	* subsys/win32k/objects/text.c: Ditto.

svn path=/trunk/; revision=5562
2003-08-13 20:24:05 +00:00
Aleksey Bragin
6b9dcfa9e2 Add some stubs to winmm.dll so WinQuake could load (but certainly not run yet).
svn path=/trunk/; revision=5561
2003-08-13 20:19:03 +00:00
Martin Fuchs
02171eb485 make explorer bar look more like windows taskbar bar
svn path=/trunk/; revision=5560
2003-08-13 18:55:07 +00:00
Martin Fuchs
bfb4755f65 drawing desktop background by using PaintDesktop()
svn path=/trunk/; revision=5559
2003-08-13 16:40:09 +00:00
Martin Fuchs
f594676552 checked in Wine patch
svn path=/trunk/; revision=5558
2003-08-13 16:39:08 +00:00
Royce Mitchell III
95e83c3f2a all win32k's stubs now have correct function signatures. I think the def/edf files need more entries, but the linker doesn't complain at the moment.
svn path=/trunk/; revision=5557
2003-08-13 16:32:55 +00:00
Royce Mitchell III
efbb209fb9 no warnings on gcc 3.2, either, so warnings are now errors
svn path=/trunk/; revision=5556
2003-08-13 13:58:11 +00:00
James Tabor
3d4aee56e2 Still working on Ctrl Events
svn path=/trunk/; revision=5555
2003-08-13 06:53:54 +00:00
James Tabor
cbca322aec Type-O Fix
svn path=/trunk/; revision=5554
2003-08-13 05:18:40 +00:00
Royce Mitchell III
1e71f74fde no more win32k warnings any more according to gcc 2.95. Once I confirm that gcc 3.x has no warnings, I will enable -Werror
svn path=/trunk/; revision=5553
2003-08-13 00:50:25 +00:00
Thomas Bluemel
ea19302157 added InternalGetWindowText() exports
svn path=/trunk/; revision=5552
2003-08-12 22:47:20 +00:00
Thomas Bluemel
ef8535e025 removed warning
svn path=/trunk/; revision=5551
2003-08-12 22:45:27 +00:00
Thomas Bluemel
a6e48e9704 Implemented InternalGetWindowText() partially
svn path=/trunk/; revision=5550
2003-08-12 22:27:55 +00:00
Gé van Geldorp
2a4b68c022 Fix linker warnings for new stubs
svn path=/trunk/; revision=5549
2003-08-12 22:16:44 +00:00
Gé van Geldorp
538c7d51fd Add ROPs for 1, 8, 16, 24 and 32 bpp
svn path=/trunk/; revision=5548
2003-08-12 21:55:47 +00:00
Royce Mitchell III
038fbb6783 implemented KeAcquireSpinLockRaiseToSynch
svn path=/trunk/; revision=5547
2003-08-12 21:19:50 +00:00
Royce Mitchell III
18ebc095c1 fixed build error
svn path=/trunk/; revision=5546
2003-08-12 21:08:14 +00:00
Royce Mitchell III
eef42bcfe5 added proper definitions for many stubs. created xpstubs for functions only available since XP ( i.e. low priority )
svn path=/trunk/; revision=5545
2003-08-12 20:52:47 +00:00
Royce Mitchell III
e1c3966599 structs WCRUN, FD_GLYPHSET, DRIVEROBJ, TYPE1_FONT
svn path=/trunk/; revision=5544
2003-08-12 20:50:50 +00:00
Royce Mitchell III
ac95a0881d typedefs for FLONG & HDRVOBJ
svn path=/trunk/; revision=5543
2003-08-12 20:49:28 +00:00
Royce Mitchell III
253eef3eda forgot some stuff for STROBJ, this clears it up, sorry.
svn path=/trunk/; revision=5542
2003-08-12 20:16:22 +00:00
Royce Mitchell III
e1de2a798e Added GetLastNtError(), corrected STROBJ definition
svn path=/trunk/; revision=5541
2003-08-12 20:08:45 +00:00
Royce Mitchell III
16a98c2251 added HSEMAPHORE
svn path=/trunk/; revision=5540
2003-08-12 20:00:05 +00:00
Casper Hornstrup
ec5b094ed5 Version 1.8.14
svn path=/trunk/; revision=5539
2003-08-12 18:51:25 +00:00
Eric Kohl
03734abbca Implemented code to update container partitions. Only a few border-cases are still missing.
svn path=/trunk/; revision=5538
2003-08-12 15:56:21 +00:00
Martin Fuchs
6010f3ea82 open child folders by double click in ShellBrowserChild
svn path=/trunk/; revision=5537
2003-08-11 22:04:26 +00:00
Royce Mitchell III
4504834722 warnings, warnings, everywhere.... but not so many any more.
svn path=/trunk/; revision=5536
2003-08-11 21:10:49 +00:00
Royce Mitchell III
0eeded0a9a fixed vgaHLine and VGADDIFillSolid for cases where left edge and right edge are in same 8-pixel group. ( no longer needs to default to slow case )
svn path=/trunk/; revision=5535
2003-08-11 19:58:43 +00:00
Martin Fuchs
1503893d83 Subclassing of shell window for drawing desktop background
svn path=/trunk/; revision=5534
2003-08-11 19:53:47 +00:00
Martin Fuchs
6497f3daae draw blue background
svn path=/trunk/; revision=5533
2003-08-11 19:44:53 +00:00
Gunnar Dalsnes
9cc8d55331 -WinStaLock is now WinLock & made global
-removed desktop window list
-fixed/reworked window linking
-SetParent/NtUserSetParent somewhat implemented
-misc

svn path=/trunk/; revision=5532
2003-08-11 19:14:16 +00:00
Martin Fuchs
417dffd0c4 SubclassedWindow class for wrapping subclassed windows
svn path=/trunk/; revision=5531
2003-08-11 18:57:52 +00:00
Casper Hornstrup
ab7f9064f1 Clear screen to black when booting ReactOS.
svn path=/trunk/; revision=5530
2003-08-11 18:56:26 +00:00
Casper Hornstrup
9858f2daeb 2003-08-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* bootdata/txtsetup.sif (SetupData): Add /NOBOOTSCREEN to OsLoadOptions.
	* hal/halx86/display.c (CHAR_ATTRIBUTE_BLACK): Define.
	(HalClearDisplay): Add CharAttribute parameter.
	(HalInitializeDisplay, HalReleaseDisplayOwnership): Blue screen.
	* hal/halx86/halinit.c (DriverEntry): Blue screen for boot phase 2.
	* include/reactos/resource.h (IDB_BOOTIMAGE): Define.
	* ntoskrnl/Makefile: Add boot video objects.
	* ntoskrnl/Makefile.i386: Ditto.
	* ntoskrnl/ntoskrnl.def: Add boot video exports.
	* ntoskrnl/ntoskrnl.edf: Ditto.
	* ntoskrnl/ntoskrnl.rc (IDB_BOOTIMAGE): Define.
	* ntoskrnl/include/internal/kd.h (KdInit3): Add.
	* ntoskrnl/kd/kdebug.c (KdInitSystem): Print information in KdInit3.
	* ntoskrnl/ke/bug.c (KeBugCheckWithTf, KeBugCheckEx): Switch to
	text-mode on crash if needed.
	* ntoskrnl/ke/main.c (ExpInitializeExecutive): Display bootscreen image
	during boot.
	* ntoskrnl/ke/i386/v86m_sup.S (_KiV86Complete): Restore previous mode and
	old exception handler list.
	* subsys/csrss/init.c: Change PrintString to DPRINT1.
	* subsys/smss/init.c: Change PrintString to DPRINT1.
	(SignalInitEvent): New.
	(InitSessionManager): Call SignalInitEvent to switch to text-mode if
	needed.
	* subsys/smss/smss.c: Change PrintString to DPRINT1.
	* ntoskrnl/inbv: New directory.
	* ntoskrnl/inbv/i386: Ditto.
	* ntoskrnl/res: Ditto.
	* include/ntos/bootvid.h: New file.
	* ntoskrnl/inbv/.cvsignore: Ditto.
	* ntoskrnl/inbv/bootvid.c: Ditto.
	* ntoskrnl/inbv/inbv.c: Ditto.
	* ntoskrnl/inbv/i386/.cvsignore: Ditto.
	* ntoskrnl/inbv/i386/pixelsup.S: Ditto.
	* ntoskrnl/res/bootimage.bmp: Ditto.

svn path=/trunk/; revision=5529
2003-08-11 18:50:12 +00:00
Martin Fuchs
bad8c294c5 change CPP to CXX
svn path=/trunk/; revision=5528
2003-08-11 18:17:44 +00:00
Gé van Geldorp
4ad39f0a27 Fixes to SystemParametersInfoA (Unicode->Ansi conversions)
svn path=/trunk/; revision=5527
2003-08-11 11:02:43 +00:00
Gé van Geldorp
4fa73ed4a8 Repairs to WNDPROC and class handling by Jonathan Wilson
svn path=/trunk/; revision=5526
2003-08-11 10:30:19 +00:00
Richard Campbell
aee5041a87 Updates for new wine source tree.
svn path=/trunk/; revision=5525
2003-08-11 09:43:37 +00:00
Richard Campbell
acdc820a0d bug fixes
svn path=/trunk/; revision=5524
2003-08-11 07:02:06 +00:00
James Tabor
fa0bed7eab Clean up warning redefined RT_MESSAGETABLEW, and int w/o a cast at line 500.
svn path=/trunk/; revision=5523
2003-08-11 05:58:02 +00:00
Royce Mitchell III
111ed4cd20 fixed diag lines - initial error for bresnham algo should be 1/2 max error, not 0.
svn path=/trunk/; revision=5522
2003-08-11 04:23:37 +00:00
Royce Mitchell III
08f2d72ce1 fixed miscalculation for upward or leftward bound diagonal lines
svn path=/trunk/; revision=5521
2003-08-11 04:02:07 +00:00
Royce Mitchell III
bd2daaee8b added a couple more diagonal lines for testing
svn path=/trunk/; revision=5520
2003-08-11 03:55:47 +00:00
Royce Mitchell III
4e4e603189 fixed several bugs, simplified some calculations. This appears to have broken framerect drawing ( zoomin on min/max buttons ), but I think that was expecting the wrong behavior.
svn path=/trunk/; revision=5519
2003-08-11 03:51:44 +00:00
Royce Mitchell III
83399f1ec0 fixed bug in DrawLineTo for up-ward verticals and left-ward horizontals.
svn path=/trunk/; revision=5518
2003-08-11 03:35:06 +00:00
Royce Mitchell III
9aa18596b3 fixed the #endif problem reported by GvG.
svn path=/trunk/; revision=5517
2003-08-11 02:59:57 +00:00
Royce Mitchell III
0fa3b8483b added more hlines to isolate it's problem
svn path=/trunk/; revision=5516
2003-08-11 02:15:24 +00:00
Royce Mitchell III
77e6a164bb changes to get cmd compiling again
svn path=/trunk/; revision=5515
2003-08-11 00:22:04 +00:00
Royce Mitchell III
47916748b6 added #include <msvcrt/string.h>
svn path=/trunk/; revision=5514
2003-08-11 00:04:05 +00:00
Royce Mitchell III
254b88eb63 commented out unused things
svn path=/trunk/; revision=5513
2003-08-10 23:58:52 +00:00
Royce Mitchell III
ccf732d210 added _MAX_PATH and cousins as defined in wine
svn path=/trunk/; revision=5512
2003-08-10 23:55:18 +00:00
Eric Kohl
34572eba83 Reverted my logic changes to Mike Nordell's patch.
svn path=/trunk/; revision=5511
2003-08-10 20:33:05 +00:00
Hartmut Birr
da65ace973 - Fixed the allocation of the retrieval pointers for pagefiles
which do not end at a cluster boundary.

svn path=/trunk/; revision=5510
2003-08-10 20:03:10 +00:00
Hartmut Birr
6ae4b24c97 - Fixed the test for the start vcn in VfatGetRetrievalPointers.
svn path=/trunk/; revision=5509
2003-08-10 20:01:16 +00:00
Eric Kohl
65a5a3f831 Fixed returned container partition starting offsets in xHalIoReadPartitionTable().
svn path=/trunk/; revision=5508
2003-08-10 16:49:07 +00:00
Eric Kohl
279af692f5 Don't close the nls section object twice.
svn path=/trunk/; revision=5507
2003-08-10 10:09:51 +00:00
Martin Fuchs
eafe61d076 new TODO entries
svn path=/trunk/; revision=5506
2003-08-10 10:09:25 +00:00
Martin Fuchs
e4942a19d5 documentation update
svn path=/trunk/; revision=5505
2003-08-10 07:36:14 +00:00
Gé van Geldorp
198b7818d5 Adjust MmCopyFrom/ToCaller() declarations to fix warnings in win32k
svn path=/trunk/; revision=5504
2003-08-10 07:05:24 +00:00
Royce Mitchell III
b7ad386053 patch by art yerkes - fixes Y and BKSP
svn path=/trunk/; revision=5503
2003-08-10 06:33:39 +00:00
Martin Fuchs
da4d3ce2b0 slash fir linux compatibiliy
svn path=/trunk/; revision=5502
2003-08-10 06:23:44 +00:00
Martin Fuchs
71e03db3fe fix FOLDERSETTINGS usage
svn path=/trunk/; revision=5501
2003-08-09 23:12:30 +00:00
Martin Fuchs
749c3d1719 small improvements for DesktopWindow
svn path=/trunk/; revision=5500
2003-08-09 22:38:39 +00:00
Martin Fuchs
5bdce2b978 UNICODE for TARGET_RCFLAGS
svn path=/trunk/; revision=5499
2003-08-09 22:38:08 +00:00
Martin Fuchs
1b70b3872f removed *.coff
svn path=/trunk/; revision=5498
2003-08-09 22:37:32 +00:00
Gé van Geldorp
0d95af3a22 Failed to release DC
svn path=/trunk/; revision=5497
2003-08-09 21:14:01 +00:00
Gé van Geldorp
3d7fc85f62 Only set WIN_NCACTIVATED style on toplevel windows, the WIN_NCACTIVATED
style clashes with one of the SS_ (static control) styles and should
be removed in the future anyway

svn path=/trunk/; revision=5496
2003-08-09 21:13:14 +00:00
Martin Fuchs
2306a321ef removed warnings
svn path=/trunk/; revision=5495
2003-08-09 19:56:45 +00:00
Martin Fuchs
6d16724ea7 moved SetShellWindowEx() implementation into kernel space
svn path=/trunk/; revision=5494
2003-08-09 18:22:11 +00:00
Martin Fuchs
f3dec73013 implemented explorer and desktop window using shell view
svn path=/trunk/; revision=5493
2003-08-09 17:32:27 +00:00
Martin Fuchs
8e4b0ed4e7 Implemented explorer and desktop window using shell views
svn path=/trunk/; revision=5492
2003-08-09 17:11:40 +00:00
Eric Kohl
3943f08547 Moved filesystem list to a separate file.
Support installing ReactOS to 'unpartitioned disk space'.
Update drive letters and partition numbers when the partition list is modified.
Distinguish FAT16 CHS, FAT16 LBA and FAT32 LBA partitions.
Print internal partition list for debugging.

svn path=/trunk/; revision=5491
2003-08-09 16:32:26 +00:00
Casper Hornstrup
9654fc7a75 2003-08-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/windows/dialog.c (GetDlgItemInt): Fix unsigned/signed
	warning.
	* lib/user32/windows/menu.c (IsMenu): Ditto.
	* lib/user32/windows/messagebox.c (MSGBOX_OnInit): Ditto.
	* ntoskrnl/mm/ppool.c: Ditto.

svn path=/trunk/; revision=5488
2003-08-09 14:25:08 +00:00
Martin Fuchs
798b12d6be Implemented SetShellWindowEx()
svn path=/trunk/; revision=5487
2003-08-09 13:15:53 +00:00
Gé van Geldorp
bdb03fa472 Handle border case
svn path=/trunk/; revision=5486
2003-08-09 12:03:10 +00:00
Gé van Geldorp
f706d5fa85 Set mouse boundaries based on desktop size
svn path=/trunk/; revision=5485
2003-08-09 11:59:27 +00:00
Gé van Geldorp
900520aace Replace DbgPrint by DPRINT/DPRINT1
svn path=/trunk/; revision=5484
2003-08-09 11:58:13 +00:00
Gé van Geldorp
f223051440 Fix border case and improve speed
svn path=/trunk/; revision=5483
2003-08-09 11:56:57 +00:00
David Welch
f4de5cad85 - Accelerate PATINVERT blits. Makes moving windows less painful but there
is still a significant lag with mouse input.

svn path=/trunk/; revision=5482
2003-08-09 10:39:13 +00:00
David Welch
f40ab28955 - Fixed include path.
svn path=/trunk/; revision=5481
2003-08-09 09:34:09 +00:00
Martin Fuchs
02085be659 implemented GetShellWindow() and SetShellWindow()
svn path=/trunk/; revision=5480
2003-08-09 09:02:48 +00:00
Martin Fuchs
b6d1f250bb implement permission checking in SetShellWindow()
svn path=/trunk/; revision=5479
2003-08-09 08:57:13 +00:00
Martin Fuchs
3eb9a3bce5 implement GetShellWindow() and SetShellWindow()
svn path=/trunk/; revision=5478
2003-08-09 08:42:35 +00:00
Martin Fuchs
4a9e04a0c8 Add GetShellWindow() since it's now present in Microsofts Platform SDK 2003
svn path=/trunk/; revision=5477
2003-08-09 08:26:34 +00:00
Martin Fuchs
af85d1032f Add GetShellWindow() since it's now present in Microsofts Platform SDK 2003 header
svn path=/trunk/; revision=5476
2003-08-09 08:25:38 +00:00
Thomas Bluemel
3d4914c898 fixed build error
svn path=/trunk/; revision=5475
2003-08-09 07:15:20 +00:00
James Tabor
000755de9d This implements GetClassInfo
It also implements GetClassInfoEx
It also implements RealGetWindowClass as best as I can do it right now (i.e. I dont know exactly what makes it different from GetClassName so it just calls GetClassName)
And it finishes GetClassName

svn path=/trunk/; revision=5474
2003-08-09 07:09:57 +00:00
James Tabor
e658713c2c Implement a Default Console Handler for Console Apps.
svn path=/trunk/; revision=5473
2003-08-09 04:13:24 +00:00
Richard Campbell
5e599db3a7 fixed typo
svn path=/trunk/; revision=5472
2003-08-08 22:20:08 +00:00
Royce Mitchell III
8640002319 added apps/tests/linetest - demonstrates bugs in line-drawing routines.
svn path=/trunk/; revision=5471
2003-08-08 21:53:04 +00:00
Royce Mitchell III
c09e41690b appx 4x speed improvement to VGAtoVGA(), which is used when dragging windows around the screen.
svn path=/trunk/; revision=5470
2003-08-08 16:13:18 +00:00
Thomas Bluemel
5dc9eed728 Fixed a bug that crashed cmd.exe when the command name length > MAX_PATH
svn path=/trunk/; revision=5469
2003-08-08 15:52:32 +00:00
Royce Mitchell III
979bd81524 Updated by TortoiseCVS
svn path=/trunk/; revision=5468
2003-08-08 15:25:14 +00:00
Royce Mitchell III
120453cd7c patch by Jonathon Wilson - complete implemenation of GWL_WNDPROC, GCL_WNDPROC and GCL_MENUNAME..
svn path=/trunk/; revision=5467
2003-08-08 02:57:54 +00:00
Hartmut Birr
529277d521 - Fixed some type problems if cmd is compiled as unicode.
svn path=/trunk/; revision=5466
2003-08-08 00:49:24 +00:00
Hartmut Birr
8996ac2b8f - Fixed _(w)makepath.
svn path=/trunk/; revision=5465
2003-08-08 00:46:20 +00:00
Royce Mitchell III
ee25eea496 fixed locking bug, eliminated warnings
svn path=/trunk/; revision=5464
2003-08-07 16:18:02 +00:00
Andrew Greenwood
bda3572a3d Missed this file out last time... I moved KEBUGCHECK and KEBUGCHECKEX into ntos/kefuncs.h (a new file)
svn path=/trunk/; revision=5463
2003-08-07 12:31:55 +00:00
James Tabor
9c21a394bd Start implementing GenerateConsoleCtrlEven.
svn path=/trunk/; revision=5462
2003-08-07 12:17:56 +00:00
Andrew Greenwood
59a33415c2 W32API conversion update
This shouldn't directly affect anything for normal (non-W32API) builds. A more detailed change log will be sent to the ros-kernel mailing list shortly.

svn path=/trunk/; revision=5461
2003-08-07 11:47:33 +00:00
Thomas Bluemel
12d87df6e0 Added NtUserRemoveMenu() and NtUserDeleteMenu()
svn path=/trunk/; revision=5460
2003-08-07 10:25:59 +00:00
Hartmut Birr
b17b46078f - Fixed some type problems if cmd is compiled as unicode.
- Build an unicode argv pointer, if cmd is compiled as unicode.
- Fixed a buffer overflow, while processing the argv pointer.

svn path=/trunk/; revision=5459
2003-08-07 09:43:03 +00:00
Hartmut Birr
6810286aa0 - Fixed some type problems if cmd is compiled as unicode.
- Convert a string from unicode to ascii which is written
  to a file (or to the console), if cmd is compiled as unicode.

svn path=/trunk/; revision=5458
2003-08-07 09:38:54 +00:00
Hartmut Birr
fe60cb4985 - Fixed some type problems if cmd is compiled as unicode.
- Convert a string from a file to unicode if cmd is compiled as unicode.

svn path=/trunk/; revision=5457
2003-08-07 09:34:16 +00:00
Hartmut Birr
84c6569f84 - Fixed some type problems if cmd is compiled as unicode.
svn path=/trunk/; revision=5456
2003-08-07 09:27:42 +00:00
Hartmut Birr
5d1c88be8a - Fixed the build of the environmen in some functions.
svn path=/trunk/; revision=5455
2003-08-07 09:14:14 +00:00
Hartmut Birr
8aadf00967 - Added a missing call to string in __vfwprintf.
svn path=/trunk/; revision=5454
2003-08-07 09:11:08 +00:00
Hartmut Birr
d0daff91e8 - Set the _IOBINARY flag for in memory streams.
- Fixed the size of the terminating 0 in vswprintf/_vsnwprintf.

svn path=/trunk/; revision=5453
2003-08-07 09:08:45 +00:00
Hartmut Birr
2ecabff0a3 - Fixed the format string in GetTempFileNameW.
svn path=/trunk/; revision=5452
2003-08-07 09:05:43 +00:00
Hartmut Birr
0d5b332d52 - Fixed _(w)splitpath.
svn path=/trunk/; revision=5451
2003-08-07 09:04:10 +00:00
Royce Mitchell III
fcd871c119 patch by vizzini - added settings for vmware's net driver, implemented a handful of functions needed by the driver, more to come
svn path=/trunk/; revision=5450
2003-08-07 05:28:33 +00:00
Royce Mitchell III
74ff28452f * added _DISABLE_TIDENTS macro to disable any ANSI/UNICODE ambiguous elements from the header files.
* enabled _DISABLE_TIDENTS for most ReactOS OS components.
* fixed all errors that resulted from this change
* a few small bugfixes along the way

svn path=/trunk/; revision=5449
2003-08-07 04:03:25 +00:00
Royce Mitchell III
8828590645 function name to left-most column
svn path=/trunk/; revision=5448
2003-08-07 03:35:06 +00:00
Royce Mitchell III
ab15b1074b function names to left-most column
svn path=/trunk/; revision=5447
2003-08-07 03:32:00 +00:00
Royce Mitchell III
83c7463719 function names to left column
svn path=/trunk/; revision=5446
2003-08-07 03:29:44 +00:00
Royce Mitchell III
de019849b6 moved _NtCurrentTeb()'s function name to left-most column.
svn path=/trunk/; revision=5445
2003-08-07 01:51:42 +00:00
Royce Mitchell III
5784df93e4 bugfix: UNICODE_STRING objects are not null-terminated by default, but LoadLibraryW expects a null-terminated string.
svn path=/trunk/; revision=5444
2003-08-06 22:05:46 +00:00
Thomas Bluemel
2f728ecc17 some work on menus
svn path=/trunk/; revision=5443
2003-08-06 18:43:58 +00:00
Thomas Bluemel
bd3582207d more work on window classes and RegisterClass[Ex] by Jonathan Wilson
svn path=/trunk/; revision=5442
2003-08-06 16:47:35 +00:00
Royce Mitchell III
9eba70c367 Updated by TortoiseCVS
svn path=/trunk/; revision=5441
2003-08-06 16:39:57 +00:00
Eric Kohl
3b90d80a10 Implemented partition creation and deletion on the internal partition list.
Moved some functions from usetup.c to partlist.c.
Removed unused code.

svn path=/trunk/; revision=5440
2003-08-06 16:37:46 +00:00
Aleksey Bragin
1e452928ca Fixed GetWindowWord()
svn path=/trunk/; revision=5439
2003-08-06 16:37:28 +00:00
Aleksey Bragin
ec326fe1d6 Implemented GetWindowWord() as call to NtuserGetWindowLong() with casting result to WORD.
svn path=/trunk/; revision=5438
2003-08-06 15:38:13 +00:00
Aleksey Bragin
80c5a9419a Added GetWindowWord function to def and edf file
svn path=/trunk/; revision=5437
2003-08-06 15:34:46 +00:00
David Welch
c1de116da3 - Allow painting of the desktop window (why was this removed?)
svn path=/trunk/; revision=5436
2003-08-06 15:27:27 +00:00
David Welch
e373dfabf4 - Optimized implementation of blits from the display surface to a 4BPP DIB.
svn path=/trunk/; revision=5435
2003-08-06 13:53:18 +00:00
David Welch
5d3d0bf17b - Added .cvsignore file for this application.
svn path=/trunk/; revision=5434
2003-08-06 13:52:03 +00:00
David Welch
a1cbe39ded - Updated .cvsignore file for this dll.
svn path=/trunk/; revision=5433
2003-08-06 13:50:54 +00:00
David Welch
f5088eb8d9 - Added .cvsignore file for this directory.
svn path=/trunk/; revision=5432
2003-08-06 13:50:19 +00:00
Thomas Bluemel
461b5018b2 Some changes for menus and unstubbed NtUserGetSystemMenu(), NtUserSetSystemMenu() and NtUserCallHwndLock()
svn path=/trunk/; revision=5431
2003-08-06 13:17:44 +00:00
James Tabor
e5793b92ec Found problem when copy file to C:\TEST, output result was C:TEST, which placed it in current directory. CMD copy is still buggy.
svn path=/trunk/; revision=5430
2003-08-06 11:33:03 +00:00
Thomas Bluemel
0a6485b203 Some changes for menus and unstubbed NtUserCallNoParam() and NtUserCallOneParam()
svn path=/trunk/; revision=5429
2003-08-06 11:32:17 +00:00
James Tabor
a98f5b2575 Fix copy *.exe c:\test and c:test. Made use of GetFullPathNameA to force clean paths.
svn path=/trunk/; revision=5428
2003-08-05 23:48:51 +00:00
James Tabor
5c18315741 Found problem when copy file to C:\TEST, output result was C:TEST, which placed it in current directory. CMD copy is still buggy.
svn path=/trunk/; revision=5427
2003-08-05 23:30:03 +00:00
Emanuele Aliberti
0275f1127b FsRtlInitializeOplock is implemented with a void function because it is obsolete.
svn path=/trunk/; revision=5426
2003-08-05 21:37:21 +00:00
Eric Kohl
5f3ceed713 Added some cosmetical fixes.
Fixed size of trailing unused disk space.
Create partition page adds partition to internal list.
No on-disk changes yet.

svn path=/trunk/; revision=5425
2003-08-05 20:39:24 +00:00
Thomas Bluemel
0c3a60aa71 Added some more menu functions
svn path=/trunk/; revision=5424
2003-08-05 19:50:57 +00:00
Jason Filby
6295a1f99b Dont include winfile in main makefile since it doesnt compile
svn path=/trunk/; revision=5423
2003-08-05 19:05:32 +00:00
Thomas Bluemel
64c31c759c ANSI/UNICODE struct separation patch by Royce3, ANSI/UNICODE WNDCLASS separation and new gdi32 functions by Jonathan Wilson
svn path=/trunk/; revision=5422
2003-08-05 15:41:03 +00:00
Aleksey Bragin
d932b77179 Implemented NdisImmediateReadPort..() and NdisImmediateWritePort...() as calls to hal's READ_PORT_xxx and WRITE_PORT_xxx
svn path=/trunk/; revision=5421
2003-08-05 12:22:48 +00:00
Thomas Bluemel
7d209b51d0 Added new menu functions and fixed some bugs
svn path=/trunk/; revision=5420
2003-08-04 23:52:25 +00:00
Royce Mitchell III
e4dec071c1 added an ASSERT to W32kIsDesktopWindow()
svn path=/trunk/; revision=5419
2003-08-04 21:21:13 +00:00
Eric Kohl
c6f66985bf Additions and fix to NtQueryInformationProcess.
Patch by Mike Nordell.

svn path=/trunk/; revision=5418
2003-08-04 20:44:54 +00:00
Royce Mitchell III
cc71b9ec7a initial implementation of EngLockSurface and EngUnlockSurface
svn path=/trunk/; revision=5417
2003-08-04 19:57:47 +00:00
Royce Mitchell III
35e4a473dd marked implemented functions as such
svn path=/trunk/; revision=5416
2003-08-04 19:57:05 +00:00
Royce Mitchell III
f460558ae4 patch by vizzini - began addition of NDIS4 support to ndis.sys; began conversion of tcpip.sys to NDIS4, adjusted bindings info in the registry
svn path=/trunk/; revision=5415
2003-08-04 19:31:06 +00:00
Royce Mitchell III
602faeb404 bugfix in W32kDeleteDC() - you can't release a NULL handle ( i.e. DCToDelete->w.hBitmap )
svn path=/trunk/; revision=5414
2003-08-04 19:10:52 +00:00
Royce Mitchell III
0132757b63 reformatting + fix GDIOBJ_LockMultipleObj() to not try to lock a NULL handle.
svn path=/trunk/; revision=5413
2003-08-04 19:08:26 +00:00
Royce Mitchell III
3f0eccc563 reformatting, check return value of GDIOBJ_LockMultipleObj(), allow compile to calc size of Lock for calls to GDIOBJ_LockMultipleObj()
svn path=/trunk/; revision=5412
2003-08-04 19:07:50 +00:00
Royce Mitchell III
0af13836af fixed spelling error
svn path=/trunk/; revision=5411
2003-08-04 17:54:52 +00:00
Gunnar Dalsnes
a24079b8cc -misc
svn path=/trunk/; revision=5410
2003-08-04 16:56:49 +00:00
Gunnar Dalsnes
878bd7b8e1 -W32k/NtUser separation
-cleanup
-misc

svn path=/trunk/; revision=5409
2003-08-04 16:55:36 +00:00
Eric Kohl
92bab0c786 Cleaned up the partition list and update the status line.
Removed some global partition data.
Added delete partition page.

svn path=/trunk/; revision=5408
2003-08-04 15:54:05 +00:00
Thomas Bluemel
0b2338e5a9 made very small changes to some menu function definitions
svn path=/trunk/; revision=5407
2003-08-04 10:14:19 +00:00
Thomas Bluemel
ef0c664be9 Implemented a few things...
svn path=/trunk/; revision=5406
2003-08-04 10:13:51 +00:00
Hartmut Birr
afa27c2690 - Fixed a buffer overflow, if a atapi device returns more bytes as requested.
svn path=/trunk/; revision=5405
2003-08-04 08:32:48 +00:00
Hartmut Birr
0fe3e63201 - Fixed the calculation of the block end.
- Allocate large blocks (>=PAGE_SIZE) page aligned.

svn path=/trunk/; revision=5404
2003-08-04 08:26:19 +00:00
James Tabor
fdee06eae0 Fix end of line,
svn path=/trunk/; revision=5403
2003-08-04 03:30:34 +00:00
Royce Mitchell III
78dffae46c new version of PagedPoolCacheAligned. Fixing the problem in subsys/win32k/objects/dc.c allows this code to work perfectly ( even when forcing all PagedPool allocations to be cache aligned. Also implemented buffer over/under-run detection for the PagedPool.
svn path=/trunk/; revision=5402
2003-08-04 00:39:58 +00:00
Royce Mitchell III
330f6dce4f fixed 2 bugs in HEAP_strdupA2W, moved the HEAP_ functions to their own file, and caching the results of RtlGetProcessHeap() for improved performance.
svn path=/trunk/; revision=5401
2003-08-04 00:28:44 +00:00
Royce Mitchell III
bd3999379b clean-up work on my GDIOBJ lock/unlock tracing/debugging
svn path=/trunk/; revision=5400
2003-08-04 00:24:07 +00:00
Royce Mitchell III
1ddb9c245b fixed major ( but obscure ) bug, passing a PDC where an HDC should have been.
svn path=/trunk/; revision=5399
2003-08-04 00:18:21 +00:00
Emanuele Aliberti
a389755afc tlist in rosapps now compiles again.
svn path=/trunk/; revision=5398
2003-08-03 18:06:02 +00:00
Emanuele Aliberti
a98f810f35 CTM in rosapps now compiles again.
svn path=/trunk/; revision=5397
2003-08-03 18:00:41 +00:00
Jason Filby
83c3378434 Comment CTM out from main makefile until it can compile
svn path=/trunk/; revision=5396
2003-08-03 16:37:46 +00:00
Emanuele Aliberti
775fc49699 FsRtlSyncVolumes is implemented, even if it does nothing, because it is an absolete API since NT 4.0 or NT 3.50.
svn path=/trunk/; revision=5395
2003-08-03 15:53:45 +00:00
Emanuele Aliberti
bfa5b471b5 IMAGE_SUBSYSTEM_EFI_xxx added (KJK::Hyperion)
svn path=/trunk/; revision=5394
2003-08-03 15:34:52 +00:00
Royce Mitchell III
c5edad3a6b fixed declarations for W32kSetProp & W32kGetProp to eliminate build errors.
svn path=/trunk/; revision=5393
2003-08-03 15:08:14 +00:00
Eric Kohl
94880f6c27 Replaced partition arrays by a doubly-linked lists.
Display unpartitioned disk space correctly.

svn path=/trunk/; revision=5392
2003-08-03 12:20:22 +00:00
Richard Campbell
922496846f Removed duplicate code for drawing min/max/close buttons, I can actually implement this even better, but i have to leave.
svn path=/trunk/; revision=5391
2003-08-03 01:48:53 +00:00
David Welch
786dbef8e2 - Repaint the parent window in the non-paintself case.
- Updates since DceGetVisRgn returns a region which is in screen(?) coordinates.- Hacks to allow repainting of the desktop.

svn path=/trunk/; revision=5390
2003-08-02 19:56:19 +00:00
David Welch
6cb3436154 - Fixed vga to vga blits with a negative direction.
svn path=/trunk/; revision=5389
2003-08-02 19:53:56 +00:00
David Welch
a319015f49 - Fixed negative width/height off by one.
svn path=/trunk/; revision=5388
2003-08-02 19:52:03 +00:00
David Welch
334c131a7a - Fixed rounding direction.
svn path=/trunk/; revision=5387
2003-08-02 19:46:52 +00:00
Gunnar Dalsnes
5152bc11cc -partially impl. GetQueueStatus, GetInputState
svn path=/trunk/; revision=5386
2003-08-02 16:56:13 +00:00
Gunnar Dalsnes
d550965766 -invented NtUserGetQueueStatus
svn path=/trunk/; revision=5385
2003-08-02 16:54:38 +00:00
Gunnar Dalsnes
eec230298d -added queue bits (currently unused)
svn path=/trunk/; revision=5384
2003-08-02 16:53:40 +00:00
Gunnar Dalsnes
7f050c459b -invented NtUserGetQueueStatus
-added queue bits (currently unused)

svn path=/trunk/; revision=5383
2003-08-02 16:53:08 +00:00
Eric Kohl
0c6dca9836 Replaced array of disk entries in partition list by doubley-linked list of disk entries.
Disabled create, delete and format partition until bugs are fixed.

svn path=/trunk/; revision=5382
2003-08-02 16:49:36 +00:00
Gunnar Dalsnes
3ff6d5b32d -Introduce new WinSta lock to replace most others
svn path=/trunk/; revision=5381
2003-08-02 16:32:53 +00:00
Gunnar Dalsnes
59caa89d83 -W32k/NtUser separation
-Introduce new WinSta lock to replace most others

svn path=/trunk/; revision=5380
2003-08-02 16:32:18 +00:00
Emanuele Aliberti
0eec40929a IMAGE_SUBSYSTEM_XBOX added (Barubary).
svn path=/trunk/; revision=5379
2003-08-02 14:23:29 +00:00
Thomas Bluemel
c6ab1f9b5f Added the MENUITEMINFOA/W structure
svn path=/trunk/; revision=5377
2003-08-02 01:54:24 +00:00
Royce Mitchell III
920142e43a fixed build error
svn path=/trunk/; revision=5376
2003-08-02 00:34:19 +00:00
Royce Mitchell III
9bf077bd41 added UNIMPLEMENTED macro and return 0 to NtUserMenuInfo
svn path=/trunk/; revision=5375
2003-08-02 00:03:33 +00:00
Royce Mitchell III
85ee89fefe moved function names to left-most column
svn path=/trunk/; revision=5374
2003-08-01 23:53:55 +00:00
Royce Mitchell III
6779fdedf7 added file/line# tracking to GDIOBJ locking & unlocking to help track down any remaining GDIOBJ locking issues.
svn path=/trunk/; revision=5373
2003-08-01 20:54:03 +00:00
David Welch
786eaea3f0 - Check the validity of the window handle before calling checking for
a desktop in NtUserGetAncestor.

svn path=/trunk/; revision=5372
2003-08-01 20:24:54 +00:00
David Welch
ec488b1f40 - Realize the system font when creating a DC - avoids a crash on simple
startup.

svn path=/trunk/; revision=5371
2003-08-01 20:22:58 +00:00
Royce Mitchell III
2f64211efe reformatted and fixed one of the gdi locking bugs
svn path=/trunk/; revision=5370
2003-08-01 19:42:54 +00:00
David Welch
9b7ffc9f8a - Implemented GetMessagePos and GetMessageTime
svn path=/trunk/; revision=5369
2003-08-01 18:45:35 +00:00
Royce Mitchell III
63f62de42d death to warnings
svn path=/trunk/; revision=5368
2003-08-01 16:08:14 +00:00
David Welch
81ef6d78bf - Forgot this file.
svn path=/trunk/; revision=5367
2003-08-01 14:44:03 +00:00
David Welch
f09f142871 - More support for window moving. The window moves but what was below the
old position isn't repainted.

svn path=/trunk/; revision=5366
2003-08-01 14:38:51 +00:00
David Welch
07a3d1d8e3 - Added a missing break - fixes nonmasked, non-pattern blits.
- Added support for all vga to vga blit directions.

svn path=/trunk/; revision=5365
2003-08-01 14:34:19 +00:00
Eric Kohl
f8c432602c Fixed target directory for setupldr.sys.
svn path=/trunk/; revision=5364
2003-08-01 14:16:19 +00:00
Thomas Bluemel
36629a61f8 Changed a few definitions
svn path=/trunk/; revision=5363
2003-08-01 11:57:08 +00:00
Thomas Bluemel
2fc0098fe8 Moved a function from menu.c to window.c
svn path=/trunk/; revision=5362
2003-08-01 11:56:43 +00:00
David Welch
571d3f55d3 - Delete the device object and symbolic link if connecting to the port
driver fails.

svn path=/trunk/; revision=5361
2003-08-01 11:47:14 +00:00
Thomas Bluemel
ef7b713c37 Added a few new syscalls
svn path=/trunk/; revision=5360
2003-08-01 10:56:40 +00:00
Thomas Bluemel
6af74c71d9 Added some menu functions
svn path=/trunk/; revision=5359
2003-08-01 10:55:19 +00:00
Thomas Bluemel
7a7250c74b Adjusted usage hints
svn path=/trunk/; revision=5358
2003-08-01 09:06:54 +00:00
Richard Campbell
d798d54a08 boredom, figured i'd commit the change ;)
svn path=/trunk/; revision=5357
2003-08-01 06:32:55 +00:00
Richard Campbell
50a9df0d98 sync with latest wine source tree
svn path=/trunk/; revision=5356
2003-08-01 06:30:52 +00:00
Thomas Bluemel
66615a0c8a Implemented LoadMenuIndirectW()
svn path=/trunk/; revision=5355
2003-08-01 00:44:27 +00:00
Thomas Bluemel
08210803d8 new menu.c
svn path=/trunk/; revision=5354
2003-07-31 23:15:07 +00:00
Thomas Bluemel
feea865c46 Menu functions
svn path=/trunk/; revision=5353
2003-07-31 23:14:37 +00:00
Thomas Bluemel
381c1c6ca9 removed menu functions
svn path=/trunk/; revision=5352
2003-07-31 23:12:38 +00:00
Thomas Bluemel
536f4271e0 Added otMenu type
svn path=/trunk/; revision=5351
2003-07-31 23:11:38 +00:00
Thomas Bluemel
b8fa0ee48c Added W32kGetSysColorBrush() that's included by menu.c
svn path=/trunk/; revision=5350
2003-07-31 23:08:49 +00:00
Thomas Bluemel
a765936fc3 Modified CreateMenu() and DestroyMenu()
svn path=/trunk/; revision=5349
2003-07-31 23:06:43 +00:00
Thomas Bluemel
7cedf407f1 Added menu functions NtUser*
svn path=/trunk/; revision=5348
2003-07-31 23:04:48 +00:00
Thomas Bluemel
3445150d31 Added Handle table for menus
svn path=/trunk/; revision=5347
2003-07-31 23:00:55 +00:00
Martin Fuchs
23845e1644 fix include path for version.h
svn path=/trunk/; revision=5346
2003-07-31 22:00:18 +00:00
Martin Fuchs
c76d495bff Declared IDragSourceHelper
svn path=/trunk/; revision=5345
2003-07-31 21:54:28 +00:00
Royce Mitchell III
cab1b119f1 marked NdisAllocateMemoryWithTag as @implemented
svn path=/trunk/; revision=5344
2003-07-31 21:50:50 +00:00
Royce Mitchell III
361cc25b24 no code change - moved function names to beginning of line
svn path=/trunk/; revision=5343
2003-07-31 18:24:43 +00:00
Royce Mitchell III
a1de567eff kbdus.dll - submitted by art yerkes
svn path=/trunk/; revision=5342
2003-07-31 16:47:08 +00:00
David Welch
0b78b457fc - Reverted incorrect code.
svn path=/trunk/; revision=5341
2003-07-31 11:16:10 +00:00
Royce Mitchell III
bbb0ecb401 added page-aligned allocations ( reworked patch by Mike Nordell )
fixed 2 small probs w/ ntoskrnl.edf

svn path=/trunk/; revision=5340
2003-07-31 01:44:18 +00:00
Royce Mitchell III
84610d9546 fixed bug in struct _MODIFIERS declaration.
svn path=/trunk/; revision=5339
2003-07-31 00:52:59 +00:00
Steven Edwards
77dba28717 Added missing files from Vizzinis NDIS patch
svn path=/trunk/; revision=5338
2003-07-30 23:41:55 +00:00
Royce Mitchell III
eab39eae46 patch submitted by Vizzini (tested by myself) - implemented Ndis configuration api, adapted ne2000 to use it to get configuration, fixed up registry support for ne2000 driver, other supporting changes
svn path=/trunk/; revision=5337
2003-07-30 22:11:20 +00:00
Royce Mitchell III
e5f5b27064 disabled check for existing hive. Needed because hivesys.inf will be getting an update soon, and mkhive can't recognize that an existing file may be out of date.
svn path=/trunk/; revision=5336
2003-07-30 21:22:51 +00:00
Hartmut Birr
09c3a66c65 - Don't allocate/free a class name string in User32ConvertToAsciiMessage/
User32FreeAsciiConvertedMessage if the class name is an atom.

svn path=/trunk/; revision=5335
2003-07-30 19:36:36 +00:00
Magnus Olsen
f15e2b76b9 *** empty log message ***
svn path=/trunk/; revision=5334
2003-07-30 19:06:55 +00:00
Magnus Olsen
007c07efe6 *** empty log message ***
svn path=/trunk/; revision=5333
2003-07-30 18:55:27 +00:00
Royce Mitchell III
98f9507c1e cast away warning, reformatted function definition to conform to standard.
svn path=/trunk/; revision=5332
2003-07-30 18:35:03 +00:00
Martin Fuchs
8bd2e4e942 adapt winefile project file for new file hierarchie
svn path=/trunk/; revision=5331
2003-07-30 16:46:22 +00:00
Martin Fuchs
21ee9e011a usage of Get/SetShellWindow() for registering desktop window; display desktop only, if there is not already another
svn path=/trunk/; revision=5330
2003-07-30 16:44:43 +00:00
Royce Mitchell III
d2cd5c9398 renamed apps/tests/button, apps/test/button2 & apps/tests/tokentest to be ISO-9660 compatible.
fixed install.bat to reflect those changes, and commented out missing files.
fixed cdmake to abort on non-ISO-9660 names, and removed name mangling.

svn path=/trunk/; revision=5329
2003-07-30 14:08:16 +00:00
Eric Kohl
2d1ca36bba Fixed returned key names in calls to NtEnumerateKey() and NtQueryKey().
svn path=/trunk/; revision=5328
2003-07-30 10:49:09 +00:00
Martin Fuchs
31caa1aaff declare some additional missing shell constants and types
svn path=/trunk/; revision=5327
2003-07-30 05:43:07 +00:00
James Tabor
ff990ad35e Created NtUserCreateMenu.
svn path=/trunk/; revision=5326
2003-07-30 04:00:47 +00:00
James Tabor
f01a4bbc85 Adding Art Yerkes Keyboard Patch
svn path=/trunk/; revision=5325
2003-07-29 23:34:12 +00:00
James Tabor
ad08e4b8c5 Adding Art Yerkes Keyboard Patch
svn path=/trunk/; revision=5324
2003-07-29 23:24:01 +00:00
James Tabor
bf7329e25b Adding Art Yerkes Keyboard Testing Code
svn path=/trunk/; revision=5323
2003-07-29 23:03:01 +00:00
Richard Campbell
9b70e2debd A few bugfixes
svn path=/trunk/; revision=5322
2003-07-29 22:42:26 +00:00
James Tabor
132dc80b26 Adding Art Yerkes Keyboard Testing Code
svn path=/trunk/; revision=5321
2003-07-29 20:38:30 +00:00
Royce Mitchell III
d818b09a8c changes to compile on VC6 & fixed some long file name issues I was experiencing.
svn path=/trunk/; revision=5320
2003-07-29 20:30:11 +00:00
Royce Mitchell III
304ae1f0b9 another patch by Mike Nordell. Fixed pointer math to be AMD64 compatible per David Welch.
svn path=/trunk/; revision=5319
2003-07-29 19:43:13 +00:00
Royce Mitchell III
6992ecb9fa casting bug-fix in mm/npool.c - submitted by Mike Nordell aka tamlin - builds & boots to winhello for him & I both.
svn path=/trunk/; revision=5318
2003-07-29 19:00:34 +00:00
Royce Mitchell III
a1edd5239a fixed pointer math to be portable
svn path=/trunk/; revision=5317
2003-07-29 18:51:11 +00:00
Hartmut Birr
c709aacf75 - Close always the thread and process handle, even if cmd does not wait for termination of the process.
svn path=/trunk/; revision=5316
2003-07-29 18:27:10 +00:00
Hartmut Birr
e8644f681b - Reintialize the timer object to reset the event object if there is no user timer in the list.
svn path=/trunk/; revision=5315
2003-07-29 18:17:53 +00:00
Royce Mitchell III
d72f016227 fixed all my bugs passing PUNICODE_STRING objects as PWSTR. Fixed signature of RtlMultiByteToUnicodeN.
svn path=/trunk/; revision=5314
2003-07-29 16:44:48 +00:00
Royce Mitchell III
ef3c8f80d8 fix compiler bug warning by casting to void*
svn path=/trunk/; revision=5313
2003-07-29 16:42:35 +00:00
Eric Kohl
8d0d5db7c6 Make sure the object name is a zero-terminated Unicode in ObFindObject().
Bug found by Royce Mitchell and Vizzini.

svn path=/trunk/; revision=5312
2003-07-29 14:37:39 +00:00
Eric Kohl
5e24ec3176 Defined UNICODE_NULL.
svn path=/trunk/; revision=5311
2003-07-29 14:31:48 +00:00
Martin Fuchs
0ec78164b0 extended cvsignore
svn path=/trunk/; revision=5310
2003-07-29 06:57:19 +00:00
Richard Campbell
9a42a52561 reverted SetWindowPos change, causes display errors in other windows...
svn path=/trunk/; revision=5309
2003-07-29 05:37:23 +00:00
Richard Campbell
0f93fcfd62 Fixed a possible bug in mouse detection, the code states the return is because bochs coughs on the rest of the code, but it seems to work fine now...might this be why some people have issues with mice on real hardware? will check into this later.
svn path=/trunk/; revision=5308
2003-07-29 05:33:15 +00:00
Richard Campbell
51ddb25af9 small fix (subtracts 1 from each side of the client area) done for winemine
svn path=/trunk/; revision=5307
2003-07-29 02:14:46 +00:00
Royce Mitchell III
032b4ea8e6 added *.tmp to .cvsignore
svn path=/trunk/; revision=5306
2003-07-29 00:27:40 +00:00
Eric Kohl
c08e57bdfe Added some more features for messageboxes (MB_HELP, MB_RIGHT,
MB_CANCELTRYCONTINUE, MB_TOPMOST) and made some other changes.
Patch by Thomas Weidenmueller.

svn path=/trunk/; revision=5305
2003-07-28 23:23:17 +00:00
Royce Mitchell III
c96f5dedff fixed allocation size in call to RtlAllocateHeap
svn path=/trunk/; revision=5304
2003-07-28 19:38:58 +00:00
Royce Mitchell III
0d53ee5681 cast return value of RtlAllocateHeap to proper type
svn path=/trunk/; revision=5303
2003-07-28 19:37:13 +00:00
Royce Mitchell III
e170c778de fixed parameter declaration for GetSystemWindowsDirectoryA
svn path=/trunk/; revision=5302
2003-07-28 18:39:41 +00:00
Eric Kohl
1acf351783 Added Messagebox support.
Patch by Thomas Weidenmueller.

svn path=/trunk/; revision=5301
2003-07-28 08:09:51 +00:00
Steven Edwards
70d7e57a1d Mike McCormack <mike@codeweavers.com>
wvsnprint accepts %p too (on win2k).

svn path=/trunk/; revision=5300
2003-07-28 03:51:33 +00:00
Steven Edwards
cb4c1883dd Build Fix
svn path=/trunk/; revision=5299
2003-07-28 03:28:07 +00:00
Steven Edwards
c272eb5359 Fix buidling calc
svn path=/trunk/; revision=5298
2003-07-28 02:26:15 +00:00
James Tabor
ca40c0ffd4 Switch Thread and Process Id around in W32kGetWindowThreadProcessId
svn path=/trunk/; revision=5297
2003-07-28 02:05:46 +00:00
James Tabor
d3b4f0a838 Changes based on Gunnar Andr Dalsnes Thread & Process Id patch
svn path=/trunk/; revision=5296
2003-07-28 01:22:28 +00:00
Eric Kohl
3b66543ecb Added missing MultiSz support.
Fixed some minor bugs.

svn path=/trunk/; revision=5295
2003-07-27 22:27:36 +00:00
Steven Edwards
78e43e0f29 Treat DWORD values as unsigned - Patch by vizzini
svn path=/trunk/; revision=5294
2003-07-27 22:00:26 +00:00
David Welch
2ce9849248 - RegisterClassExA: Don't try to convert a class name which is an atom
to unicode.
- NtUserRegisterClass: Track classes by atom not by name.

svn path=/trunk/; revision=5293
2003-07-27 21:35:50 +00:00
David Welch
df807693a0 - Pass the rop code to PatBlt down to the BitBlt functions.
- Emulate all rop codes on dib 4bpp surfaces. I left the current code
as an optimized case for SRCCOPY.

svn path=/trunk/; revision=5292
2003-07-27 18:37:23 +00:00
David Welch
f858d1a51d - Made the argument to W32kIsEmptyRect constant; fixes some warnings.
svn path=/trunk/; revision=5291
2003-07-27 18:34:48 +00:00
Eric Kohl
938493d413 Added dialog class registration.
Patch by Thomas Weidenmueller.

svn path=/trunk/; revision=5290
2003-07-27 17:48:43 +00:00
Hartmut Birr
b7b1ad8ea9 - Set the deault base for user mode dlls to 0x10000000.
- Fixed the reloc entries for a user mode dll by a second call to ld/dlltools.

svn path=/trunk/; revision=5289
2003-07-27 14:08:38 +00:00
Hartmut Birr
70ebdbd3ec - Protected each access to the module list with acquiring the loader lock.
- Removed the both list entries from the module list in LdrUnloadDll.

svn path=/trunk/; revision=5288
2003-07-27 14:00:04 +00:00
David Welch
d7c14e4f71 - Made a start on implemented window moving.
- Implemented capturing input.
- Implemented some of window activation.
- Fixed a bug in NtUserGetAncestor - Don't return the desktop window for
GA_ROOT.

svn path=/trunk/; revision=5287
2003-07-27 11:54:42 +00:00
David Welch
fc10a5b013 - Don't continue the exception if there are no seh frames at all.
svn path=/trunk/; revision=5286
2003-07-27 11:49:32 +00:00
Eric Kohl
4a35181ef2 Implemented LdrQueryImageFileExecutionOptions().
svn path=/trunk/; revision=5285
2003-07-27 11:40:01 +00:00
Royce Mitchell III
f82ee00571 added missing assert for unhandled case in RtlMultiByteToUnicodeSize
svn path=/trunk/; revision=5284
2003-07-26 23:25:17 +00:00
Royce Mitchell III
a79eb7852c put variables at top to eliminate build error in DIALOG_CreateControls32
svn path=/trunk/; revision=5283
2003-07-26 23:12:08 +00:00
Royce Mitchell III
a432924599 no more complaints about missing .d files during build (yay!) - submitted by arty
svn path=/trunk/; revision=5282
2003-07-26 22:51:03 +00:00
David Welch
90e968621b - Forgot these files; sorry everyone.
svn path=/trunk/; revision=5281
2003-07-26 20:05:45 +00:00
Richard Campbell
6408c767ef bugfixes by Thomas Weidenmueller
svn path=/trunk/; revision=5280
2003-07-26 18:38:52 +00:00
David Welch
ae73363a39 Added some code from wine from menus.
svn path=/trunk/; revision=5279
2003-07-26 15:48:47 +00:00
Hartmut Birr
6b89ce1a25 - Fixed the using of the assert macro.
svn path=/trunk/; revision=5278
2003-07-26 14:56:55 +00:00
Richard Campbell
27d761134d dialog.c patch by Thomas Weidenmueller
svn path=/trunk/; revision=5277
2003-07-26 14:55:35 +00:00
Hartmut Birr
bb9fe349f2 - Moved the code for freeing a segment to separate function (MmUnmapViewOfSegment).
- Freed all segments for an image section in MmUnmapViewOfSection.

svn path=/trunk/; revision=5276
2003-07-26 12:47:51 +00:00
Hartmut Birr
fc9d49f8c0 - Freed the no access memory area in MmReleaseMemoryArea.
- Changed the iteration through the memory area list in MmReleaseMemoryArea.

svn path=/trunk/; revision=5275
2003-07-26 12:45:37 +00:00
Hartmut Birr
501204c9c5 - Fixed the compared length of the name in LdrFindEntryForName.
- Initialized the section handle for a loaded dll in LdrPEStartup.

svn path=/trunk/; revision=5274
2003-07-26 12:44:20 +00:00
Royce Mitchell III
2c955c5467 bigger font + reorganized
svn path=/trunk/; revision=5273
2003-07-26 00:04:02 +00:00
Royce Mitchell III
fd46a0c711 removed unused variable causing build failure. Also fixed int/ptr comparison warning
svn path=/trunk/; revision=5272
2003-07-25 23:57:20 +00:00
David Welch
99f9c40405 - Use a paged lookside list for window messages.
svn path=/trunk/; revision=5271
2003-07-25 23:53:36 +00:00
David Welch
2a0a58c945 - Added InterlockedPushEntrySList export so lookaside lists can be used
from outside ntoskrnl.

svn path=/trunk/; revision=5270
2003-07-25 23:51:23 +00:00
Royce Mitchell III
f66a066087 got rid of BS_FLAT ( Casper added it to include/defines.h )
svn path=/trunk/; revision=5269
2003-07-25 23:50:37 +00:00
Royce Mitchell III
bf34364f74 implementation of window enumeration. thread window enumeration appears to have a problem. Would someone who understands it better please fix it?
svn path=/trunk/; revision=5268
2003-07-25 23:02:21 +00:00
Steven Edwards
8a66dfeaad Added expand program ported from WINE.
svn path=/trunk/; revision=5267
2003-07-25 21:51:30 +00:00
Steven Edwards
56670e025c remove asm code from WINE string function.
svn path=/trunk/; revision=5266
2003-07-25 21:42:14 +00:00
Gunnar Dalsnes
457baf8e8c GetWindowThreadProcessId impl./fixed
svn path=/trunk/; revision=5265
2003-07-25 19:37:14 +00:00
Gunnar Dalsnes
a857d3b160 NtUser-/W32kGetWindowThreadProcessId impl.
svn path=/trunk/; revision=5264
2003-07-25 19:36:26 +00:00
Royce Mitchell III
1e85120647 test case for EnumWindows, EnumChildWindows, etc... all functions that make use of NtUserBuildHwndList
svn path=/trunk/; revision=5263
2003-07-25 19:13:14 +00:00
Gé van Geldorp
a5abfe745b Fix Sermouse entry
svn path=/trunk/; revision=5262
2003-07-25 08:47:30 +00:00
Royce Mitchell III
62662b7a88 destubbing
svn path=/trunk/; revision=5260
2003-07-24 22:17:15 +00:00
Gé van Geldorp
a847c6c2a6 Finished W32kGetTextExtentExPoint() implementation
svn path=/trunk/; revision=5259
2003-07-24 21:23:37 +00:00
Casper Hornstrup
b8ae2f9b96 2003-07-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/fs/vfat/*.c: Remove protection of NDEBUG.

svn path=/trunk/; revision=5258
2003-07-24 20:52:58 +00:00
Steven Edwards
fda0b5ab0b Build and install lz32.dll and twain_32.dll ported from WINE-20030709
svn path=/trunk/; revision=5257
2003-07-24 19:54:25 +00:00
Hartmut Birr
e465a87f9c - Removed import of kernel32.GetVersionExW.
svn path=/trunk/; revision=5256
2003-07-24 19:53:11 +00:00
Steven Edwards
e88c8bf234 Added GetSystemWindowsDirectory[A/W] stub
returning GetWindowsDirectory. FIXME

svn path=/trunk/; revision=5255
2003-07-24 19:50:40 +00:00
Steven Edwards
c32bccd381 Added GetSystemWindowsDirectory[A/W] stub.
svn path=/trunk/; revision=5254
2003-07-24 19:50:03 +00:00
Casper Hornstrup
b1026db1fa 2003-07-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
Move welcome from rosapps to here and beautify it a bit.

	* Makefile: Copy bootdata/autorun.inf, and bootdata/icon.ico to CD.
	(SYS_APPS) Add welcome.
	* include/defines.h (BS_FLAT): Define.
	* bootdata/autorun.inf: New file.
	* bootdata/icon.ico: Ditto.
	* subsys/system/welcome: New directory.
	* subsys/system/welcome/.cvsignore: New file.
	* subsys/system/welcome/Makefile: Ditto.
	* subsys/system/welcome/resource.h: Ditto.
	* subsys/system/welcome/welcome.c: Ditto.
	* subsys/system/welcome/welcome.rc: Ditto.
	* subsys/system/welcome/res/: New directory.
	* subsys/system/welcome/res/background-right.bmp: New file.
	* subsys/system/welcome/res/background-top.bmp: Ditto.
	* subsys/system/welcome/res/default.bmp: Ditto.
	* subsys/system/welcome/res/icon.ico: Ditto.
	* subsys/system/welcome/res/topic0.bmp: Ditto.
	* subsys/system/welcome/res/topic1.bmp: Ditto.
	* subsys/system/welcome/res/topic2.bmp: Ditto.

svn path=/trunk/; revision=5253
2003-07-24 19:37:20 +00:00
Casper Hornstrup
2b7294bcd1 Make vfatfs compile using VC6.
Patch by Mike Nordell.

svn path=/trunk/; revision=5252
2003-07-24 19:00:42 +00:00
Hartmut Birr
f312ea4371 - Fixed the loading of a segment which raw size is lower than the virtual size.
svn path=/trunk/; revision=5251
2003-07-24 18:37:44 +00:00
Royce Mitchell III
d47c833e21 reorganized for NDIS_WDM support ( submitted by vizzini )
svn path=/trunk/; revision=5250
2003-07-24 18:14:59 +00:00
Royce Mitchell III
080c7a7f06 finished destubbing
svn path=/trunk/; revision=5249
2003-07-24 17:53:13 +00:00
Richard Campbell
91e25632da W32kGetTextExtentExPoint now calls W32kGetTextExtentPoint.
This isn't the correct way of doing things, but it fixes a few bugs and allows more apps to load.  (specifically the samplewindow test
and static window test)

svn path=/trunk/; revision=5248
2003-07-24 16:56:59 +00:00
Gé van Geldorp
7adac2389e Prevent overflow
svn path=/trunk/; revision=5247
2003-07-24 16:28:26 +00:00
Royce Mitchell III
7fa795731e added lib/iphlpapi
svn path=/trunk/; revision=5246
2003-07-24 16:17:15 +00:00
Richard Campbell
d0ed98230d Make SampleWindow by default
svn path=/trunk/; revision=5245
2003-07-24 16:16:10 +00:00
Richard Campbell
acfe0be54e Various unicode/ANSI related bugfixes as pointed out by GvG
svn path=/trunk/; revision=5244
2003-07-24 16:14:33 +00:00
Gé van Geldorp
eb40ebc18a Remove unused files (msvcrt version is used instead)
svn path=/trunk/; revision=5243
2003-07-24 15:59:46 +00:00
Richard Campbell
1b631d3524 MoveWindow once again uses SetWindowPos.
svn path=/trunk/; revision=5242
2003-07-24 15:59:34 +00:00
Richard Campbell
c43855748b Sample window + command button test app by Colin Peters. Added because it doesn't yet work under ROS. Source is under public domain.
Requires GetTextMetricsA to work properly.

svn path=/trunk/; revision=5241
2003-07-24 15:51:58 +00:00
Gé van Geldorp
84ec27b055 Special processing for NULL locale
svn path=/trunk/; revision=5240
2003-07-24 15:38:15 +00:00
Royce Mitchell III
42db286418 RtlGetNtVersionNumbers (from WINE)
svn path=/trunk/; revision=5239
2003-07-24 14:25:33 +00:00
Eric Kohl
901dcf2a27 Native applications must not know about BOOL type.
svn path=/trunk/; revision=5238
2003-07-24 13:52:27 +00:00
Royce Mitchell III
2b64861966 fixed warning in ExitThread - gcc complained that noreturn function does return
svn path=/trunk/; revision=5237
2003-07-24 13:50:26 +00:00
Gé van Geldorp
7e7e74b988 This time, apply the correct patch from Art Yerkes instead of an old one...
svn path=/trunk/; revision=5236
2003-07-24 05:51:26 +00:00
Royce Mitchell III
c522666b4e In C:\cvs\reactos live: cvs -q -z9 commit -m "renamed MyGetAdaptersInfo to GetAdaptersInfo so that iphlpapi will compile. Also fixed some ANSI/UNICODE-related bugs ( eliminating the warnings )." lib/iphlpapi/iphlpapi.c lib/iphlpapi/makefile
CVSROOT=:ext:royce@osexperts.com:/CVS/ReactOS

svn path=/trunk/; revision=5235
2003-07-24 01:08:12 +00:00
Gé van Geldorp
b7fd15bf4b Set up for cross-compiling under Linux, patches by Vizzini
svn path=/trunk/; revision=5234
2003-07-23 21:27:15 +00:00
Gé van Geldorp
f36e90f9c1 Handle non-existing accelerator table
svn path=/trunk/; revision=5233
2003-07-23 20:39:45 +00:00
Gé van Geldorp
2cba955bd3 Fix movement direction of mouse cursor, install serial mouse driver but
do not load it by default

svn path=/trunk/; revision=5232
2003-07-23 20:03:28 +00:00
David Welch
e891a5adeb - Fix buffer overflow if mouse packets are arriving faster than we can
pass them to the callback.

svn path=/trunk/; revision=5231
2003-07-23 19:15:40 +00:00
David Welch
6e6bff4228 - Don't allocate/free a new callback on each callback to user mode.
svn path=/trunk/; revision=5230
2003-07-23 19:13:37 +00:00
Eric Kohl
b3503c4a97 Implemented IOCTL_DISK_IS_WRITABLE.
Reread disk geometry only if disk is removable.

svn path=/trunk/; revision=5229
2003-07-23 18:45:08 +00:00
Gé van Geldorp
0af61c4ff3 Release mutex on NULL hWnd, fix by Art Yerkes
svn path=/trunk/; revision=5228
2003-07-23 17:04:24 +00:00
Gé van Geldorp
42d63c02df Implement NtUserPostThreadMessage and add test program (all by Art Yerkes)
svn path=/trunk/; revision=5227
2003-07-23 17:00:55 +00:00
Gé van Geldorp
aa538172d6 Fixed PRTL_BASE_PROCESS_START_ROUTINE declaration
svn path=/trunk/; revision=5226
2003-07-23 15:30:53 +00:00
James Tabor
340036bb3b Implemented ClientToScreen & IsIconic
svn path=/trunk/; revision=5225
2003-07-23 06:19:14 +00:00
James Tabor
ffa7f8d851 Implemented IsIconic
svn path=/trunk/; revision=5224
2003-07-23 06:14:12 +00:00
Royce Mitchell III
c97baed023 Updated by TortoiseCVS
svn path=/trunk/; revision=5223
2003-07-23 05:48:29 +00:00
Royce Mitchell III
530d335005 Updated by TortoiseCVS
svn path=/trunk/; revision=5222
2003-07-23 05:46:55 +00:00
James Tabor
8b30a5168c Implemented ClientToScreen
svn path=/trunk/; revision=5221
2003-07-23 04:52:44 +00:00
KJK::Hyperion
67939b3b7b Made the thread creation code in ROSRTL more portable
svn path=/trunk/; revision=5220
2003-07-22 20:10:04 +00:00
Eric Kohl
c1efb7ad67 Implemented DC coordinate functions.
Patch by Mike Nordell.

svn path=/trunk/; revision=5219
2003-07-22 20:02:08 +00:00
Gé van Geldorp
add211f2ff Properly close file descriptors, fix by rwreed@users.sourceforge.net
svn path=/trunk/; revision=5218
2003-07-22 08:44:38 +00:00
Steven Edwards
b014017354 Added temp header to ease porting of WINE dlls untill w32api fixes are done.
svn path=/trunk/; revision=5217
2003-07-22 04:30:14 +00:00
Steven Edwards
45e9de34d9 Imported twain_32 in to source tree from WINE 20030709
svn path=/trunk/; revision=5216
2003-07-22 04:00:28 +00:00
Steven Edwards
081d91a2fa Imported lz32.dll in to source tree from WINE 20030709
svn path=/trunk/; revision=5215
2003-07-22 03:58:23 +00:00
James Tabor
415aa9b110 Fix KEBUGCHECK
svn path=/trunk/; revision=5214
2003-07-22 03:17:24 +00:00
Royce Mitchell III
2a438cfb48 created KEBUGCHECK, KEBUGCHECKEX, KEBUGCHECKWITHTS macros to report file/line of bugcheck. replace all direct calls of KeBugCheck, KeBugCheckEx and KeBugCheckWithTs with corresponding macros. I rebuilt from a make clean and it looks good.
svn path=/trunk/; revision=5213
2003-07-21 21:53:53 +00:00
David Welch
15550bfef3 - Checked in a test application which does various operations on a
terminated thread.

svn path=/trunk/; revision=5212
2003-07-21 21:44:28 +00:00
David Welch
b9185cc4c4 - Fix for lengthy delays when freeing a memory area. Don't attach/detach
another process when deleting each page table entry.

svn path=/trunk/; revision=5211
2003-07-21 21:41:21 +00:00
David Welch
a3cf0cbc62 Checked in Petr Matousek's fixes for sending APCs to terminated threads.
svn path=/trunk/; revision=5210
2003-07-21 21:36:01 +00:00
Royce Mitchell III
8b57be1bf4 lib/gdi32/misc/stubsa.c: fixed uninitialized pointer ( lpszDescriptionW ) in GetEnhMetaFileDescription()
svn path=/trunk/; revision=5209
2003-07-21 19:21:48 +00:00
Royce Mitchell III
5c1018772c more gdi32 destubbing.
svn path=/trunk/; revision=5208
2003-07-21 19:05:53 +00:00
James Tabor
d3e86a568d Fix FONTENUMEXPROC in W32kEnumFontFamiliesEx.
svn path=/trunk/; revision=5207
2003-07-21 17:43:46 +00:00
Royce Mitchell III
934564a9a6 more gdi32 destubbing, fixed declarations for EnumFontsA/W
svn path=/trunk/; revision=5206
2003-07-21 05:53:15 +00:00
Royce Mitchell III
ce107e0415 fixed declaration for W32kEnumFontFamiliesEx.
Added RosRtlLogFontA2W and RosRtlLogFontW2A to lib/rosrtl
more destubbing in gdi32/misc/stubsa/w.c

svn path=/trunk/; revision=5205
2003-07-21 04:56:32 +00:00
Royce Mitchell III
d0202ddfa2 put GetObjectW back in stubsw.c until Jim's ready for it
svn path=/trunk/; revision=5204
2003-07-21 04:10:41 +00:00
James Tabor
ca2708a0f7 Implemented Unplugged GDI32 code
svn path=/trunk/; revision=5203
2003-07-21 04:04:31 +00:00
Royce Mitchell III
7966c30375 fixed gdi32 not building. order is important for TARGET_SDKLIBS when dealing with static libraries it seems
svn path=/trunk/; revision=5202
2003-07-21 03:56:27 +00:00
Royce Mitchell III
a16d5260b7 removed duplicate definition (old stub) of PrivilegedServiceAuditAlarmA and PrivilegedServiceAuditAlarmW
svn path=/trunk/; revision=5201
2003-07-21 03:40:58 +00:00
Royce Mitchell III
38dce58aa9 fixed missing constants and build errors
svn path=/trunk/; revision=5200
2003-07-21 03:38:42 +00:00
Royce Mitchell III
aa3f68d3f9 *** empty log message ***
svn path=/trunk/; revision=5199
2003-07-21 02:36:00 +00:00
Royce Mitchell III
414a1f8012 moved USER32_DevModeA2W to lib/rosrtl/misc/devmode.c and renamed to RosRtlDevModeA2W. Modified user32 to use it there now. Fixed several stubs in GDI32 and added AddFontResourceExA/W functions.
svn path=/trunk/; revision=5198
2003-07-21 01:59:51 +00:00
James Tabor
55a6108edf Implemented Unplugged GDI32 code
svn path=/trunk/; revision=5197
2003-07-21 01:20:53 +00:00
Royce Mitchell III
39dc42b6a6 lib/advapi32/reg/reg.c:
copied from wine RegQueryMultipleValuesW, RegReplaceKeyA, RegRestoreKeyA
marked RegSaveKeyA as @implemented

svn path=/trunk/; revision=5196
2003-07-21 00:32:23 +00:00
Hartmut Birr
e9966875c8 - Fixed the volume label length in FsdGetFsVolumeInformation.
svn path=/trunk/; revision=5195
2003-07-20 23:09:01 +00:00
Hartmut Birr
3032eefcc4 - Changed volinfo from a windows to a console program.
svn path=/trunk/; revision=5194
2003-07-20 22:55:39 +00:00
Eric Kohl
537b19a1a3 Implemented missing audit functions.
svn path=/trunk/; revision=5193
2003-07-20 22:11:58 +00:00
Eric Kohl
54fd76554e Moved audit functions to a separate file.
Fixed audit function prototypes.

svn path=/trunk/; revision=5192
2003-07-20 22:10:38 +00:00
Royce Mitchell III
de766fd82e applied Mike Nordell's fix to lib/kernel32/synch/wait.c to fix an integer promotion bug causing WaitForSingleEvent, etc, to timeout early.
svn path=/trunk/; revision=5191
2003-07-20 19:53:53 +00:00
Royce Mitchell III
e475cbc5d8 reworked the code in drivers/fs/vfat/volume.c: FsdGetFsAttributeInformation no longer copies null terminator. Verified GetVolumeInformation still works correctly.
svn path=/trunk/; revision=5190
2003-07-20 18:36:53 +00:00
Royce Mitchell III
a084794f67 lpVolumeNameBuffer wasn't being null terminated either. The line of code to do so was there, but it was missing the "= 0"
svn path=/trunk/; revision=5189
2003-07-20 18:05:46 +00:00
James Tabor
9276a7b72a Implemented Unpluged DC code
svn path=/trunk/; revision=5188
2003-07-20 16:47:05 +00:00
Eric Kohl
b6f5c8a9af Implemented PrivilegeCheck().
svn path=/trunk/; revision=5187
2003-07-20 15:16:51 +00:00
Eric Kohl
67897f32c0 Fixed compiler warnings.
svn path=/trunk/; revision=5186
2003-07-20 13:13:03 +00:00
David Welch
b694ab70c9 Each test application should only occur once in the list of targets.
svn path=/trunk/; revision=5185
2003-07-20 12:18:03 +00:00
David Welch
eccf821ef2 Checked in Petr Matousek's suspend test application.
svn path=/trunk/; revision=5184
2003-07-20 12:17:19 +00:00
David Welch
ae921ed9bb - Checked in Petr Matousek's APC fix.
svn path=/trunk/; revision=5183
2003-07-20 12:14:46 +00:00
Hartmut Birr
4c772af134 - Fixed GetVolumeInformationA/W.
svn path=/trunk/; revision=5182
2003-07-20 09:40:13 +00:00
Royce Mitchell III
5d6837f300 added myself to the "notevil" list
svn path=/trunk/; revision=5181
2003-07-20 06:51:29 +00:00
James Tabor
2159a6ca97 Added SetDesktopBitmap
svn path=/trunk/; revision=5180
2003-07-20 06:25:52 +00:00
James Tabor
3c46b3026a Implemented GetKeyState, GetKeyboardState & SetKeyboardState.
svn path=/trunk/; revision=5179
2003-07-20 05:32:19 +00:00
Royce Mitchell III
06f059499a fixed ldr/loader.c to report a missing export before bugchecking. ( was a CPRINT, which apparently doesn't work). Updated ntoskrnl.edf exports so that ros boots in bochs on my system again ( my ATAPI zip drive apparently was choking it )
svn path=/trunk/; revision=5178
2003-07-20 05:15:34 +00:00
James Tabor
2f0ad8d685 Implemented unpluged DC code.
svn path=/trunk/; revision=5177
2003-07-20 04:00:36 +00:00
KJK::Hyperion
93baf2c7ad Fixed a bug in the accelerators code
svn path=/trunk/; revision=5176
2003-07-20 03:45:31 +00:00
James Tabor
e1c932cd9e Removed W32k from SelectObject. Doesnt effect anything.
svn path=/trunk/; revision=5175
2003-07-20 03:01:13 +00:00
James Tabor
377803bd56 Implemented unpluged DC code, FrameRect, InvertRect and DrawFocusRect.
svn path=/trunk/; revision=5174
2003-07-20 02:58:13 +00:00
Royce Mitchell III
91c717d561 drivers/fs/vfat/volume.c: fixed bug lines 88, 92 - wasn't copying null-terminator.
svn path=/trunk/; revision=5173
2003-07-20 01:48:46 +00:00
James Tabor
3a6b419266 Implemented FrameRect, InvertRect and DrawFocusRect.
svn path=/trunk/; revision=5172
2003-07-20 01:24:52 +00:00
James Tabor
a3be8dee2e Implemented Unpluged DC code
svn path=/trunk/; revision=5171
2003-07-20 00:42:55 +00:00
James Tabor
07ac6a5f63 Implemented Unpluged DC code
svn path=/trunk/; revision=5170
2003-07-20 00:33:55 +00:00
James Tabor
6dfe326b7b Implemented Unpluged DC code
svn path=/trunk/; revision=5169
2003-07-20 00:13:36 +00:00
Eric Kohl
313d9193b5 Moved caret functions to a separate file.
svn path=/trunk/; revision=5168
2003-07-20 00:06:27 +00:00
Eric Kohl
b474c2f621 Added audit functions.
svn path=/trunk/; revision=5167
2003-07-20 00:04:06 +00:00
David Welch
34a2109187 - Fixed case of include file name.
svn path=/trunk/; revision=5166
2003-07-19 23:11:16 +00:00
James Tabor
f0c49a6e83 Implemented Unpluged DC code
svn path=/trunk/; revision=5165
2003-07-19 22:53:21 +00:00
Eric Kohl
df985d0406 Implemented NdisMPciAssignSlotResources() partially.
svn path=/trunk/; revision=5164
2003-07-19 11:40:05 +00:00
Hartmut Birr
8e2008811b - Reverted my last changes.
svn path=/trunk/; revision=5163
2003-07-19 08:02:51 +00:00
James Tabor
e70d5b63e7 Add SetDesktopBitmap to def file
svn path=/trunk/; revision=5162
2003-07-19 04:52:52 +00:00
Royce Mitchell III
1519602c46 sorry I fubar'd the build :(
svn path=/trunk/; revision=5161
2003-07-19 04:10:30 +00:00
Royce Mitchell III
35e4ade503 see ChangeLog file please
svn path=/trunk/; revision=5160
2003-07-19 01:35:27 +00:00
Gé van Geldorp
24475b126e Only repaint those parts of the desktop window which need repainting
svn path=/trunk/; revision=5159
2003-07-18 20:55:21 +00:00
Royce Mitchell III
f064f64b1d StringFromCLSID missing call to IMalloc_Release
svn path=/trunk/; revision=5158
2003-07-18 04:01:58 +00:00
Steven Edwards
c79e8b6c63 install new tests.
svn path=/trunk/; revision=5157
2003-07-17 23:24:43 +00:00
Steven Edwards
0cd892553a Updated tests.
svn path=/trunk/; revision=5156
2003-07-17 23:18:23 +00:00
Gé van Geldorp
6b56586d3b Implement DCX_EXCLUDERGN and DCX_INTERSECTRGN
svn path=/trunk/; revision=5155
2003-07-17 21:25:11 +00:00
Gé van Geldorp
6a672c7aec Get SM_CXSCREEN and SM_CYSCREEN from size of desktop window
svn path=/trunk/; revision=5154
2003-07-17 19:31:49 +00:00
Eric Kohl
5e00b52f0a Partially implemented NdisImmediateWritePciSlotInformation() and NdisWritePciSlotInformation().
svn path=/trunk/; revision=5153
2003-07-17 18:17:55 +00:00
Eric Kohl
286447a2c9 Partially implemented NdisImmediateReadPciSlotInformation() and NdisReadPciSlotInformation().
svn path=/trunk/; revision=5152
2003-07-17 17:37:06 +00:00
Andrew Greenwood
e6d0d671b8 Win 32 API header compatibility update
Files that should now compile with Win 32 API headers:
* sysinfo.c
* time.c
* work.c
* zone.c

If you suddenly discover that something no longer works due to a missing struct member, it's probably because I've renamed it to match the Win 32 API headers.

svn path=/trunk/; revision=5151
2003-07-17 16:57:39 +00:00
Casper Hornstrup
cb35a5b425 2003-07-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/fs/ntfs/notes.txt: New file.
	* drivers/fs/ntfs/close.c: Ditto.
	* drivers/fs/ntfs/rw.c: Ditto.
	* drivers/fs/ntfs/attrib.c: Change Cdfs prefix to Ntfs.
	* drivers/fs/ntfs/fcb.c: Ditto.
	* drivers/fs/ntfs/finfo.c: Ditto.
	* drivers/fs/ntfs/fsctl.c: Ditto.
	* drivers/fs/ntfs/volinfo.c: Ditto.
	* drivers/fs/ntfs/ntfs.c (DriverEntry): Set remaining dispatch functions.
	* drivers/fs/ntfs/ntfs.h: Change Cdfs prefix to Ntfs.
	(NTFS_RECORD_HEADER, FILE_RECORD_HEADER): Document fields.
	* drivers/fs/ntfs/makefile (TARGET_OBJECTS): Add close.o rw.o.

svn path=/trunk/; revision=5150
2003-07-17 13:31:39 +00:00
Casper Hornstrup
7359af43d8 Revert.
svn path=/trunk/; revision=5149
2003-07-17 10:47:02 +00:00
Casper Hornstrup
ee523ca3ba 2003-07-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
* INSTALL: Update installation instructions.

svn path=/trunk/; revision=5148
2003-07-17 10:46:21 +00:00
Gé van Geldorp
ef4ace3cd7 Changes for multiple window support
svn path=/trunk/; revision=5147
2003-07-17 07:49:15 +00:00
Gé van Geldorp
5e5c85ccdd Ignore generated _regtests.c
svn path=/trunk/; revision=5146
2003-07-17 06:37:39 +00:00
Steven Edwards
88a91a3783 Added combobox test by Waldo Alvarez
svn path=/trunk/; revision=5145
2003-07-17 03:05:44 +00:00
Royce Mitchell III
496acc2853 changed crtdll to use msvcrt's stdio/scanf.c
svn path=/trunk/; revision=5144
2003-07-16 22:09:07 +00:00
Royce Mitchell III
0d2df900ab using msvcrt's vfscanf now.
svn path=/trunk/; revision=5143
2003-07-16 21:59:56 +00:00
Royce Mitchell III
1a9bda60e7 modifed strtok & wcstok in msvcrt so that crtdll can use it.
new private support functions _lasttoken and _wlasttoken to support strtok and wcstok respectively.
fixed lib/msvcrt/stdio/vfscanf.c to remove unnecessary globals.

svn path=/trunk/; revision=5142
2003-07-16 21:54:22 +00:00
Hartmut Birr
a94bc96529 - Sorry, something was wrong with my last clean up and check in.
The MEMORY_AREA_CACHE_SEGMENT should go to MmPageOutSectionView.

svn path=/trunk/; revision=5141
2003-07-16 20:57:36 +00:00
Royce Mitchell III
0397f6f960 fixed some warnings
svn path=/trunk/; revision=5140
2003-07-16 17:53:34 +00:00
Royce Mitchell III
0b1a369faf integrated Art Yerkes' _ftime implementation at lib/msvcrt/time/ftime.c
fixed ungetc warning in lib/msvcrt/stdio/vfscanf.c (also renamed ungetc macro to UNGETC for clarity)

svn path=/trunk/; revision=5139
2003-07-16 13:29:01 +00:00
Eric Kohl
db21a27a3b Fixed a potential bug related to anonymous struct/union.
svn path=/trunk/; revision=5138
2003-07-16 11:51:56 +00:00
Royce Mitchell III
e847eaa655 Fixed references to errno in MSVCRT to use __set_errno() and _errno() respectively. Fixed warning (args 3 & 6 in call to CreateThread) in lib/msvcrt/process/threadx.c
svn path=/trunk/; revision=5137
2003-07-16 02:45:24 +00:00
Royce Mitchell III
8082dee891 Updated by TortoiseCVS
svn path=/trunk/; revision=5136
2003-07-15 21:56:01 +00:00
Hartmut Birr
067fe9985c - Check for a non existing memory area.
- Check if the memory area would be deleted.
- Allow to page out section pages which are mapped from cache.

svn path=/trunk/; revision=5135
2003-07-15 19:31:27 +00:00
Hartmut Birr
e6d3e40053 - Acquire always the segmemt lock in CcRosLookupCacheSegment/CcRosCreateCacheSegment.
- Try to remove mapped section pages from a cache segment in CcRosTrimCache.

svn path=/trunk/; revision=5134
2003-07-15 19:30:33 +00:00
Royce Mitchell III
4610a1b077 modified crtdll to forward most of it's CTYPE, STRING and WSTRING entries to NTDLL or MSVCRT.
svn path=/trunk/; revision=5132
2003-07-15 19:27:25 +00:00
Andrew Greenwood
8ff4e97a06 Sorry, I broke depend.mk last time by forcing forward slash usage... This should fix it.
svn path=/trunk/; revision=5131
2003-07-15 19:19:07 +00:00
Andrew Greenwood
acd21b1447 My first CVS commit. Hope I get this right. I did put a few files in the CVS dir manually... Innocent mistake... I'll clean it up after I'm done with this. Sorry!
Some of NTOSKRNL now compiles with __USE_W32API enabled. Note that this commit is purely so I know what to do, and also to allow other people to continue working on this if they wish to do so. I will continue hacking away at it.

It's not complete yet, but I've ensured that the changes I have made aren't incompatible with ReactOS as it stands at the moment. It compiles without __USE_W32API fine.

* Modified the tools/depend.mk file to force the use of forward slash (SEH variable?) otherwise it tries to run "toolsdepend.exe" without a slash.

* Moved a couple of routines from include/ddk/halfuncs.h to hal/halx86/include/hal.h

* Fixed conflicting types in ntoskrnl/ex/interlck.c

* Replaced .a with .u, #undef'd "lite" functions and defined NONAMELESSUNION in ntoskrnl/ex/resource.c so that it compiles with Win 32 API

* Added some more conditional defines to include/shared_data.h, ntoskrnl/include/internal/mm.h (and i386/mm.h), ntoskrnl/include/internal/ps.h

* Replaced .a with .u for OWNER_ENTRY and ERESOURCE in include/ddk/extypes.h (so they are compatible with Win 32 API headers)

* Various other small adjustments

Hope this works!

svn path=/trunk/; revision=5130
2003-07-15 16:26:18 +00:00
Royce Mitchell III
5522330a11 Updated by TortoiseCVS
svn path=/trunk/; revision=5129
2003-07-15 13:45:03 +00:00
Gé van Geldorp
fddc6df9fc Pass PHANDLE instead of HANDLE in NtOpenFile call
svn path=/trunk/; revision=5128
2003-07-15 10:49:52 +00:00
Gé van Geldorp
377c984b14 Return STATUS_NO_MEMORY instead of uninitialized Status on out of mem
svn path=/trunk/; revision=5127
2003-07-15 10:42:53 +00:00
Gé van Geldorp
a294d0a9ef Fix W32kFillRgn
svn path=/trunk/; revision=5126
2003-07-15 08:55:52 +00:00
Gé van Geldorp
4c172272c6 Remove debug.h
svn path=/trunk/; revision=5125
2003-07-15 08:15:27 +00:00
Steven Edwards
47a7fcd868 Added another static control test by Royce Mitchell.
svn path=/trunk/; revision=5124
2003-07-15 00:00:38 +00:00
Steven Edwards
de452dbacb Add include/wine/commctl.h back in untill w32api commctl.h header is fixed.
svn path=/trunk/; revision=5123
2003-07-14 22:07:12 +00:00
Steven Edwards
8434cb67a9 Added patch by Martain Fuchs for mulitple explorer instances.
svn path=/trunk/; revision=5122
2003-07-14 22:06:23 +00:00
Hartmut Birr
3364b9cc5f - Fixed the handling for page file backed sections.
svn path=/trunk/; revision=5121
2003-07-14 20:14:11 +00:00
Aleksey Bragin
9789c326b0 Make NdisMRegisterMiniport() say (MIN_TRACE) about failure of a call to driver's MiniportInitialize() instead of silently passing unsuccess to driver.
svn path=/trunk/; revision=5120
2003-07-14 18:55:11 +00:00
Royce Mitchell III
4f2e726bb3 Updated by TortoiseCVS
svn path=/trunk/; revision=5119
2003-07-14 18:44:10 +00:00
Gé van Geldorp
604728cdb1 Set CombinedClip region for memory DCs
svn path=/trunk/; revision=5118
2003-07-14 17:36:59 +00:00
Gé van Geldorp
bf39992fa1 Remove debug stuff
svn path=/trunk/; revision=5117
2003-07-14 17:35:31 +00:00
Gé van Geldorp
c341c05952 Handle NULL color translation
svn path=/trunk/; revision=5116
2003-07-14 17:34:52 +00:00
Gé van Geldorp
6b72cd60c5 Set screen width/height
svn path=/trunk/; revision=5115
2003-07-14 17:33:51 +00:00
Royce Mitchell III
bbab51678b *** empty log message ***
svn path=/trunk/; revision=5114
2003-07-14 13:55:24 +00:00
Gé van Geldorp
81d7932557 .cvsignore maintenance
svn path=/trunk/; revision=5113
2003-07-14 10:05:58 +00:00
Gé van Geldorp
b25c2dc92b Line clipping test program
svn path=/trunk/; revision=5112
2003-07-14 09:47:47 +00:00
Gé van Geldorp
7e11593f8c Implement clipping of lines
svn path=/trunk/; revision=5111
2003-07-14 09:43:11 +00:00
Gé van Geldorp
98d338a1c4 Implement sorting of clip rectangles
svn path=/trunk/; revision=5110
2003-07-14 09:38:02 +00:00
James Tabor
260e788eba Enable FillRgn
svn path=/trunk/; revision=5109
2003-07-14 06:36:36 +00:00
Steven Edwards
2ac4b3136b update sprintf fuctions with code from WINE.
User32 now passes the sprintf regression test

svn path=/trunk/; revision=5108
2003-07-13 18:02:04 +00:00
David Welch
b2730a4d61 - Fixed deadlock in pager thread.
- Added some more debugging checks.

svn path=/trunk/; revision=5107
2003-07-13 14:36:32 +00:00
Eric Kohl
988c5bb9eb Create media change events.
Check for XA disk formats.
Removed shutdown/flush routine.
Process read requests asynchronously.

svn path=/trunk/; revision=5106
2003-07-13 12:40:15 +00:00
Steven Edwards
a7afd50a26 typo - fix install of regression tests.
svn path=/trunk/; revision=5105
2003-07-13 05:42:31 +00:00
Steven Edwards
29189bc99c Added support for installing new regression tests
svn path=/trunk/; revision=5104
2003-07-13 05:14:34 +00:00
Eric Kohl
15f281d6a1 Convert SCSI SRB to ATAPI format for MODE_SENSE, MODE_SELECT and FORMAT_UNIT SCSI commands.
svn path=/trunk/; revision=5103
2003-07-12 19:18:31 +00:00
Eric Kohl
043a6c087f Append a newline to embedded binary files to keep compiler from crying.
svn path=/trunk/; revision=5102
2003-07-12 18:01:53 +00:00
Gé van Geldorp
5ed1368ae1 Please shoot (well, ok, at least never let him near a computer again) the
person who decided that the order of args for EngSort() is different from
the order for qsort()

svn path=/trunk/; revision=5101
2003-07-12 14:00:05 +00:00
Eric Kohl
c8356266c1 Added missing debug messages.
svn path=/trunk/; revision=5100
2003-07-12 13:13:43 +00:00
Eric Kohl
35a9700437 Implemented ScsiClassFindModePage().
Improved error handling.

svn path=/trunk/; revision=5099
2003-07-12 13:10:45 +00:00
Gé van Geldorp
36f596b459 Implement EngSort()
svn path=/trunk/; revision=5098
2003-07-12 12:45:29 +00:00
Casper Hornstrup
fdfc1cdb67 2003-07-12 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* include/ddk/extypes.h (NPAGED_LOOKASIDE_LIST, PAGED_LOOKASIDE_LIST):
	Match w32api fields.
	* include/ddk/halfuncs.h (HalReturnToFirmware, HalReleaseDisplayOwnership,
	HalQueryDisplayOwnership): Move ...
	* include/ntos/halfuncs.h: ... here.
	* include/ntos/rtl.h: (PopEntrySList, PushEntrySList): Move to
	ntoskrnl/ex/lookas.c.
	* include/ntos/zw.h (NtAccessCheckAndAuditAlarm, NtCancelTimer,
	NtCreatePagingFile, NtCreateThread, NtFlushInstructionCache,
	NtFlushVirtualMemory, NtGetTickCount, NtLoadKey, NtLockVirtualMemory,
	NtOpenObjectAuditAlarm, NtProtectVirtualMemory, NtQueryDirectoryObject,
	NtQueryIntervalProfile, NtQueryVirtualMemory, NtRaiseHardError,
	NtSetInformationKey, NtSetInformationObject, NtSetTimer, NtUnloadKey,
	NtUnlockVirtualMemory, NtWaitForMultipleObjects, NtCreateProfile,
	NtDelayExecution, NtExtendSection, NtQuerySection): Include for w32api.
	* ntoskrnl/ntoskrnl.def (ExInterlockedAddUlong,
	ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
	ExInterlockedPopEntryList, ExInterlockedPushEntryList,
	ExInterlockedRemoveHeadList): Make FASTCALL.
	* ntoskrnl/ntoskrnl.edf: Ditto.
	* ntoskrnl/ex/list.c: Ditto.
	* include/ddk/exfuncs.h: Ditto.
	(InterlockedPopEntrySList, InterlockedPushEntrySList,
	ExAllocateFromPagedLookasideList, ExFreeToPagedLookasideList): Add.
	* ntoskrnl/ex/interlck.c (ExInterlockedDecrementLong,
	ExInterlockedAddUlong, ExInterlockedIncrementLong): Undefine if defined.
	* ntoskrnl/ex/lookas.c (PopEntrySList, PushEntrySList,
	LookasideListLock): Add.
	* drivers/dd/blue/blue.c: Include <roskrnl.h>.
	* drivers/dd/videoprt/videoprt.c: Ditto.

svn path=/trunk/; revision=5097
2003-07-12 10:24:45 +00:00
Steven Edwards
b6eef9ca10 upload new config.h and remove unneeded commctl.h
svn path=/trunk/; revision=5096
2003-07-12 03:54:56 +00:00
Steven Edwards
c2f5d2a9c0 cleanup of old wine stuff in main reactos module
svn path=/trunk/; revision=5095
2003-07-12 03:42:01 +00:00
Steven Edwards
664a42a414 cleanup of old wine porting stuff
svn path=/trunk/; revision=5094
2003-07-12 03:40:49 +00:00
David Welch
bf56cfa999 - Return a specific status code when the pagefile is full.
svn path=/trunk/; revision=5093
2003-07-12 01:55:50 +00:00
David Welch
4ae404aaa8 - Implemented Harmutt Birr's suggestion of a seperate thread
to do balancing.
- Move pages that can't be paged out because the pagefile is
full to the end of the LRU list so we don't waste time checking
them again.

svn path=/trunk/; revision=5092
2003-07-12 01:52:10 +00:00
David Welch
e41f7f3329 - Fixed a deadlock - if a thread releasing an fmutex was rescheduled after
checking for contention but before setting the count to one then a thread
trying to acquire the fmutex between the two could be stuck forever even
though the fmutex was actually available.

svn path=/trunk/; revision=5091
2003-07-12 01:09:10 +00:00
Eric Kohl
719ae2a6dd Implemented RegSetKeySecurity().
Cleaned-up the function order.

svn path=/trunk/; revision=5090
2003-07-12 00:03:42 +00:00
Eric Kohl
6a67e42639 Fixed compiler warnings.
svn path=/trunk/; revision=5089
2003-07-11 23:58:45 +00:00
Royce Mitchell III
e2154cb138 checks against EOF were always failing according to compiler
svn path=/trunk/; revision=5088
2003-07-11 22:17:09 +00:00
Royce Mitchell III
abfcc7803e @implemented and @unimplemented comments for lib/msvcrt/*
svn path=/trunk/; revision=5087
2003-07-11 21:58:16 +00:00
Gé van Geldorp
edec53a34e Move qsort() to rosrtl static library
svn path=/trunk/; revision=5086
2003-07-11 20:55:43 +00:00
Casper Hornstrup
ad21febf7c 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/controls/edit.c (EDIT_EM_SetLimitText,
	EDIT_WM_StyleChanged): Fix unsigned/signed warning.

svn path=/trunk/; revision=5085
2003-07-11 18:25:03 +00:00
Casper Hornstrup
2f01236d5b 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* config (DBG): Default to 0.

svn path=/trunk/; revision=5084
2003-07-11 18:17:09 +00:00
Casper Hornstrup
8402d06a5c 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* regtests: New directory.
	* regtests/kmregtests: Ditto.
	* regtests/kmrtint: Ditto.
	* regtests/regtests: Ditto.
	* regtests/shared: Ditto.
	* regtests/win32base: Ditto.
	* include/roskrnl.h: New file.
	* regtests/Makefile: Ditto.
	* regtests/kmregtests/.cvsignore: Ditto.
	* regtests/kmregtests/driver.c: Ditto.
	* regtests/kmregtests/kmregtests.h: Ditto.
	* regtests/kmregtests/Makefile: Ditto.
	* regtests/kmrtint/.cvsignore: Ditto.
	* regtests/kmrtint/kmrtint.c: Ditto.
	* regtests/kmrtint/kmrtint.def: Ditto.
	* regtests/kmrtint/kmrtint.edf: Ditto.
	* regtests/kmrtint/Makefile: Ditto.
	* regtests/regtests/.cvsignore: Ditto.
	* regtests/regtests/Makefile: Ditto.
	* regtests/regtests/regtests.c: Ditto.
	* regtests/shared/.cvsignore: Ditto.
	* regtests/shared/Makefile: Ditto.
	* regtests/shared/regtests.c: Ditto.
	* regtests/shared/regtests.h: Ditto.
	* regtests/win32base/.cvsignore: Ditto.
	* regtests/win32base/driver.c: Ditto.
	* regtests/win32base/file-1.c: Ditto.
	* regtests/win32base/Makefile: Ditto.
	* regtests/win32base/win32base.def: Ditto.
	* regtests/win32base/win32base.edf: Ditto.
	* tools/regtests.c: Ditto.
	* Makefile: Add target regtests.
	* config: Add SEH option.
	* rules.mak: Add tool REGTESTS.
	* bootdata/hivesys.inf: Add service kmregtests.
	* include/win32k/bitmaps.h (DIB_BitmapInfoSize): Correct prototype.
	* ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Reverse wrong boolean
	expression.
	* ntoskrnl/ke/i386/usertrap.c (KiUserTrapHandler): Ditto.
	* tools/Makefile: Add tool regtests.
	* tools/config.mk: Handle SEH option.
	* tools/helper.mk: Support regression tests.

svn path=/trunk/; revision=5083
2003-07-11 18:13:57 +00:00
Steven Edwards
17d7cb86ae Enable the edit control
svn path=/trunk/; revision=5082
2003-07-11 18:00:14 +00:00
Steven Edwards
977727b6cd Forgot to commit Makefile
svn path=/trunk/; revision=5081
2003-07-11 17:58:51 +00:00
Casper Hornstrup
fb2b3f263e 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/tests/bitblt/bitblt.c (MainWndProc): Declare variables
	before any statements are processed in the scope.
	* apps/tests/icontest/icontest.c (WinMain): Ditto.
	* apps/tests/wm_paint/wm_paint.c (WinMain, MainWndProc): Ditto.

svn path=/trunk/; revision=5080
2003-07-11 17:33:55 +00:00
Royce Mitchell III
6d1c6531b5 @implemented and @unimplemented comments for lib/crtdll/*
svn path=/trunk/; revision=5079
2003-07-11 17:25:39 +00:00
Casper Hornstrup
06a9aa1f74 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/controls/button.c (PB_Paint, GB_Paint): Declare variables
	before any statements are processed in the scope.
	* lib/user32/controls/combo.c (CBPaintButton): Ditto.
	* lib/user32/windows/accel.c (TranslateAcceleratorA): Ditto.
	* subsys/win32k/include/class.h (W32kGetClassLong): Fix prototype.
	* subsys/win32k/ntuser/class.c (W32kGetClassLong): Match prototype.
	* subsys/win32k/ntuser/windc.c (DceAllocDCE): Ditto.
	* subsys/win32k/ntuser/window.c (DestroyThreadWindows): Ditto.

svn path=/trunk/; revision=5078
2003-07-11 17:08:44 +00:00
Royce Mitchell III
dadc689465 @implemented and @unimplemented comments for subsys/win32k
svn path=/trunk/; revision=5077
2003-07-11 15:59:37 +00:00
Eric Kohl
c31ca84c42 Handle abort command.
svn path=/trunk/; revision=5075
2003-07-11 14:10:41 +00:00
Eric Kohl
c71f4b34ff Implemented ScsiClassModeSense().
svn path=/trunk/; revision=5074
2003-07-11 14:07:30 +00:00
Royce Mitchell III
040095cb66 applied @implemented and @unimplemented comments to ntdll functions that are listed in NT4.0's ntdll exports
svn path=/trunk/; revision=5073
2003-07-11 13:50:23 +00:00
Casper Hornstrup
3e05a4dcd9 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/rgenstat/rgenstat.c (process_directory): Fix building on Windows.

svn path=/trunk/; revision=5072
2003-07-11 13:13:35 +00:00
Casper Hornstrup
19f0d68338 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/rgenstat/rgenstat.c (API_INFO): Add filename field.
	(path_to_url, get_filename): New functions.
	(parse_file, process_directory): Build cvs path.
	(generate_xml_for_component): Set file attribute on a function.
	* tools/rgenstat/web/rapistatus.css (.h): New class.
	* tools/rgenstat/web/rapistatus.js (clickHandler): Go to the file in
	ViewCVS on click on a function.
	* tools/rgenstat/web/rapistatus.xsl: Handle file attribute.

svn path=/trunk/; revision=5071
2003-07-11 13:05:10 +00:00
Gé van Geldorp
da0c79cd27 Fix calling convention of callback functions
svn path=/trunk/; revision=5070
2003-07-11 09:48:24 +00:00
Steven Edwards
8d6bf48e41 Added untested and mostly borked edit control ported from WINE.
svn path=/trunk/; revision=5069
2003-07-11 04:22:00 +00:00
Royce Mitchell III
59d5c9f016 finished applying @implemented and @unimplemented comments and remove the comments from non-api functions
svn path=/trunk/; revision=5068
2003-07-11 01:23:16 +00:00
Casper Hornstrup
fcdbcbec58 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* subsys/win32k/objects/region.c (W32kFillRgn): Fix syntax error.

svn path=/trunk/; revision=5065
2003-07-11 00:16:47 +00:00
Casper Hornstrup
153d94b106 2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/rgenstat/rgenstat.c (get_previous_identifier): Skip end-of-line
	characters when searching for identifier.
	(parse_file): Print a warning if no identifier is found.

svn path=/trunk/; revision=5064
2003-07-10 23:41:36 +00:00
James Tabor
aea9dce89b Update Change Log
svn path=/trunk/; revision=5063
2003-07-10 23:26:51 +00:00
Casper Hornstrup
4453023a6c 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/winspool/stubs.c: Add @implemented and @unimplemented to APIs.

svn path=/trunk/; revision=5062
2003-07-10 21:48:16 +00:00
Casper Hornstrup
f5eab68f00 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/wsock32/stubs.c: Add @implemented and @unimplemented to APIs.

svn path=/trunk/; revision=5061
2003-07-10 21:41:56 +00:00
James Tabor
aa9708cead Implement W32kFillRgn
svn path=/trunk/; revision=5060
2003-07-10 21:36:39 +00:00
Royce Mitchell III
9c041c91d7 @implemented and @unimplemented comments for ntoskrnl/ob/*.c
svn path=/trunk/; revision=5059
2003-07-10 21:34:29 +00:00
Casper Hornstrup
3119d09f0c 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/ws2_32/misc/bsd.c: Add @implemented and @unimplemented
	to APIs.
	* lib/ws2_32/misc/dllmain.c: Ditto.
	* lib/ws2_32/misc/event.c: Ditto.
	* lib/ws2_32/misc/ns.c: Ditto.
	* lib/ws2_32/misc/sndrcv.c: Ditto.
	* lib/ws2_32/misc/stubs.c: Ditto.
	* lib/ws2_32/misc/upcall.c: Ditto.

svn path=/trunk/; revision=5058
2003-07-10 21:28:17 +00:00
Royce Mitchell III
229baeb7ed @implemented and @unimplemented comments for ntoskrnl/nt/*.c
svn path=/trunk/; revision=5057
2003-07-10 21:23:49 +00:00
Casper Hornstrup
f3f967897a 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/dd/videoprt/videoprt.c: Add @implemented and @unimplemented
	to APIs.

svn path=/trunk/; revision=5056
2003-07-10 21:12:40 +00:00
Casper Hornstrup
81b917771a 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/version/misc/stubs.c: Add @implemented and @unimplemented to APIs.

svn path=/trunk/; revision=5055
2003-07-10 21:07:14 +00:00
Royce Mitchell III
555bc8b89e @implemented and @unimplemented comments for ntoskrnl/mm/*.c and also added a few missing /* EOF */ entries
svn path=/trunk/; revision=5054
2003-07-10 21:05:04 +00:00
Casper Hornstrup
5966683fda 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/misc/dde.c: Add @implemented and @unimplemented to APIs.
	* lib/user32/misc/desktop.c: Ditto.
	* lib/user32/misc/display.c: Ditto.
	* lib/user32/misc/exit.c: Ditto.
	* lib/user32/misc/object.c: Ditto.
	* lib/user32/misc/resources.c: Ditto.
	* lib/user32/misc/sprintf.c: Ditto.
	* lib/user32/misc/stubs.c: Ditto.
	* lib/user32/misc/timer.c: Ditto.
	* lib/user32/misc/winhelp.c: Ditto.
	* lib/user32/misc/winsta.c: Ditto.
	* lib/user32/windows/accel.c: Ditto.
	* lib/user32/windows/bitmap.c: Ditto.
	* lib/user32/windows/class.c: Ditto.
	* lib/user32/windows/clipboard.c: Ditto.
	* lib/user32/windows/cursor.c: Ditto.
	* lib/user32/windows/dc.c: Ditto.
	* lib/user32/windows/defwnd.c: Ditto.
	* lib/user32/windows/dialog.c: Ditto.
	* lib/user32/windows/draw.c: Ditto.
	* lib/user32/windows/font.c: Ditto.
	* lib/user32/windows/hook.c: Ditto.
	* lib/user32/windows/icon.c: Ditto.
	* lib/user32/windows/input.c: Ditto.
	* lib/user32/windows/mdi.c: Ditto.
	* lib/user32/windows/menu.c: Ditto.
	* lib/user32/windows/message.c: Ditto.
	* lib/user32/windows/messagebox.c: Ditto.
	* lib/user32/windows/nonclient.c: Ditto.
	* lib/user32/windows/paint.c: Ditto.
	* lib/user32/windows/prop.c: Ditto.
	* lib/user32/windows/rect.c: Ditto.
	* lib/user32/windows/text.c: Ditto.
	* lib/user32/windows/window.c: Ditto.

svn path=/trunk/; revision=5053
2003-07-10 21:04:32 +00:00
Royce Mitchell III
00e0a5619c @implemented and @unimplemented comments for ntoskrnl/lpc/*.c
svn path=/trunk/; revision=5052
2003-07-10 20:42:53 +00:00
Royce Mitchell III
080762083a @implemented and @unimplemented comments for ntoskrnl/ldr/*.c
svn path=/trunk/; revision=5051
2003-07-10 20:34:50 +00:00
Casper Hornstrup
a7b9be5b82 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/tdi/cte/string.c: Add @implemented and @unimplemented to
	APIs.
	* drivers/net/tdi/cte/stubs.c: Ditto.
	* drivers/net/tdi/tdi/dereg.c: Ditto.
	* drivers/net/tdi/tdi/handler.c: Ditto.
	* drivers/net/tdi/tdi/obsolete.c: Ditto.
	* drivers/net/tdi/tdi/stubs.c: Ditto.

svn path=/trunk/; revision=5050
2003-07-10 19:54:13 +00:00
Casper Hornstrup
1c8bbc0320 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/snmpapi/snmpapi.c: Add @implemented and @unimplemented to APIs.

svn path=/trunk/; revision=5049
2003-07-10 19:47:23 +00:00
Casper Hornstrup
b22ef7ff80 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/secur32/lsa.c: Add @implemented and @unimplemented to APIs.

svn path=/trunk/; revision=5048
2003-07-10 19:44:20 +00:00
Casper Hornstrup
ca3c5c97f1 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/storage/scsiport/scsiport.c: Add @implemented and
	@unimplemented to APIs.

svn path=/trunk/; revision=5047
2003-07-10 19:41:20 +00:00
Casper Hornstrup
964084e0c4 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/ndis/ndis/40gone.c: Add @implemented and @unimplemented
	to APIs.
	* drivers/net/ndis/ndis/50gone.c: Ditto.
	* drivers/net/ndis/ndis/buffer.c: Ditto.
	* drivers/net/ndis/ndis/cl.c: Ditto.
	* drivers/net/ndis/ndis/cm.c: Ditto.
	* drivers/net/ndis/ndis/co.c: Ditto.
	* drivers/net/ndis/ndis/control.c: Ditto.
	* drivers/net/ndis/ndis/hardware.c: Ditto.
	* drivers/net/ndis/ndis/io.c: Ditto.
	* drivers/net/ndis/ndis/memory.c: Ditto.
	* drivers/net/ndis/ndis/miniport.c: Ditto.
	* drivers/net/ndis/ndis/protocol.c: Ditto.
	* drivers/net/ndis/ndis/string.c: Ditto.
	* drivers/net/ndis/ndis/stubs.c: Ditto.
	* drivers/net/ndis/ndis/time.c: Ditto.

svn path=/trunk/; revision=5046
2003-07-10 19:34:26 +00:00
Casper Hornstrup
5a7413d3b7 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/kernel32/debug/break.c: Add @implemented and @unimplemented
	to APIs.
	* lib/kernel32/debug/debugger.c: Ditto.
	* lib/kernel32/debug/output.c: Ditto.
	* lib/kernel32/except/except.c: Ditto.
	* lib/kernel32/file/backup.c: Ditto.
	* lib/kernel32/file/cnotify.c: Ditto.
	* lib/kernel32/file/copy.c: Ditto.
	* lib/kernel32/file/create.c: Ditto.
	* lib/kernel32/file/curdir.c: Ditto.
	* lib/kernel32/file/delete.c: Ditto.
	* lib/kernel32/file/deviceio.c: Ditto.
	* lib/kernel32/file/dir.c: Ditto.
	* lib/kernel32/file/dosdev.c: Ditto.
	* lib/kernel32/file/file.c: Ditto.
	* lib/kernel32/file/find.c: Ditto.
	* lib/kernel32/file/iocompl.c: Ditto.
	* lib/kernel32/file/lfile.c: Ditto.
	* lib/kernel32/file/lock.c: Ditto.
	* lib/kernel32/file/mailslot.c: Ditto.
	* lib/kernel32/file/move.c: Ditto.
	* lib/kernel32/file/npipe.c: Ditto.
	* lib/kernel32/file/pipe.c: Ditto.
	* lib/kernel32/file/rw.c: Ditto.
	* lib/kernel32/file/tape.c: Ditto.
	* lib/kernel32/file/volume.c: Ditto.
	* lib/kernel32/mem/global.c: Ditto.
	* lib/kernel32/mem/heap.c: Ditto.
	* lib/kernel32/mem/isbad.c: Ditto.
	* lib/kernel32/mem/local.c: Ditto.
	* lib/kernel32/mem/procmem.c: Ditto.
	* lib/kernel32/mem/section.c: Ditto.
	* lib/kernel32/mem/virtual.c: Ditto.
	* lib/kernel32/misc/atom.c: Ditto.
	* lib/kernel32/misc/comm.c: Ditto.
	* lib/kernel32/misc/computername.c: Ditto.
	* lib/kernel32/misc/console.c: Ditto.
	* lib/kernel32/misc/env.c: Ditto.
	* lib/kernel32/misc/error.c: Ditto.
	* lib/kernel32/misc/errormsg.c: Ditto.
	* lib/kernel32/misc/handle.c: Ditto.
	* lib/kernel32/misc/ldr.c: Ditto.
	* lib/kernel32/misc/mbchars.c: Ditto.
	* lib/kernel32/misc/muldiv.c: Ditto.
	* lib/kernel32/misc/perfcnt.c: Ditto.
	* lib/kernel32/misc/profile.c: Ditto.
	* lib/kernel32/misc/res.c: Ditto.
	* lib/kernel32/misc/stubs.c: Ditto.
	* lib/kernel32/misc/sysinfo.c: Ditto.
	* lib/kernel32/misc/time.c: Ditto.
	* lib/kernel32/misc/toolhelp.c: Ditto.
	* lib/kernel32/process/cmdline.c: Ditto.
	* lib/kernel32/process/create.c: Ditto.
	* lib/kernel32/process/proc.c: Ditto.
	* lib/kernel32/process/session.c: Ditto.
	* lib/kernel32/string/lstring.c: Ditto.
	* lib/kernel32/synch/critical.c: Ditto.
	* lib/kernel32/synch/event.c: Ditto.
	* lib/kernel32/synch/intrlck.c: Ditto.
	* lib/kernel32/synch/mutex.c: Ditto.
	* lib/kernel32/synch/sem.c: Ditto.
	* lib/kernel32/synch/timer.c: Ditto.
	* lib/kernel32/synch/wait.c: Ditto.
	* lib/kernel32/thread/fiber.c: Ditto.
	* lib/kernel32/thread/fls.c: Ditto.
	* lib/kernel32/thread/thread.c: Ditto.
	* lib/kernel32/thread/tls.c: Ditto.

svn path=/trunk/; revision=5045
2003-07-10 18:50:51 +00:00
Royce Mitchell III
7fc8c17d16 @implemented and @unimplemented comments for ntoskrnl/ke/*.c
svn path=/trunk/; revision=5044
2003-07-10 17:44:06 +00:00
Casper Hornstrup
0ef97879a2 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/iphlpapi/iphlpapi.c: Add @implemented and @unimplemented
	to APIs.

svn path=/trunk/; revision=5043
2003-07-10 16:57:05 +00:00
Eric Kohl
e3cf693557 Implemented FsRtlDoesNameContainWildCard().
svn path=/trunk/; revision=5042
2003-07-10 16:43:10 +00:00
Royce Mitchell III
061e95c9c9 @implemented and @unimplemented comments for ntoskrnl/kd/*.c
svn path=/trunk/; revision=5041
2003-07-10 15:50:09 +00:00
Royce Mitchell III
f5e3df2e1b @implemented and @unimplemented comments for ntoskrnl/io/*.c
svn path=/trunk/; revision=5040
2003-07-10 15:47:00 +00:00
Casper Hornstrup
e67a8deed9 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/gdi32/main/dllmain.c: Add @implemented and @unimplemented
	to APIs.
	* lib/gdi32/misc/stubs.c: Ditto.
	* lib/gdi32/misc/stubsa.c: Ditto.
	* lib/gdi32/misc/stubsw.c: Ditto.
	* lib/gdi32/objects/bitblt.c: Ditto.
	* lib/gdi32/objects/brush.c: Ditto.
	* lib/gdi32/objects/clip.c: Ditto.
	* lib/gdi32/objects/dc.c: Ditto.
	* lib/gdi32/objects/fillshap.c: Ditto.
	* lib/gdi32/objects/line.c: Ditto.
	* lib/gdi32/objects/pen.c: Ditto.
	* lib/gdi32/objects/region.c: Ditto.
	* lib/gdi32/objects/text.c: Ditto.

svn path=/trunk/; revision=5039
2003-07-10 15:35:49 +00:00
Casper Hornstrup
502033e823 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/storage/class2/class2.c: Add @implemented and @unimplemented
	to APIs.

svn path=/trunk/; revision=5038
2003-07-10 15:11:58 +00:00
Casper Hornstrup
9f9aba203f 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/advapi32/misc/shutdown.c: Add @implemented and @unimplemented
	to APIs.
	* lib/advapi32/misc/stubs.c: Ditto.
	* lib/advapi32/misc/sysfunc.c: Ditto.
	* lib/advapi32/reg/reg.c: Ditto.
	* lib/advapi32/sec/ac.c: Ditto.
	* lib/advapi32/sec/misc.c: Ditto.
	* lib/advapi32/sec/sec.c: Ditto.
	* lib/advapi32/sec/sid.c: Ditto.
	* lib/advapi32/service/scm.c: Ditto.
	* lib/advapi32/service/sctrl.c: Ditto.
	* lib/advapi32/token/privilege.c: Ditto.
	* lib/advapi32/token/token.c: Ditto.

svn path=/trunk/; revision=5037
2003-07-10 15:05:55 +00:00
Casper Hornstrup
ff80e432fd 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/rgenstat/rgenstat.c (parse_file): Be silent.

svn path=/trunk/; revision=5036
2003-07-10 12:32:39 +00:00
Casper Hornstrup
980d7609ca 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* rules.mak (XSLTPROC): Add.
	* tools/Makefile: Add rgenstat.
	* apistatus.lst: New file.
	* tools/rgenstat: New directory.
	* tools/rgenstat/.cvsignore: New file.
	* tools/rgenstat/llmosrt.c: Ditto.
	* tools/rgenstat/Makefile: Ditto.
	* tools/rgenstat/rgenstat.c: Ditto.
	* tools/rgenstat/web: New directory.
	* tools/rgenstat/web/*.gif: New files.
	* tools/rgenstat/web/.cvsignore: New file.
	* tools/rgenstat/web/rapistatus.css: Ditto.
	* tools/rgenstat/web/rapistatus.js: Ditto.
	* tools/rgenstat/web/rapistatus.xsl: Ditto.

svn path=/trunk/; revision=5035
2003-07-10 12:29:02 +00:00
Casper Hornstrup
b71535d7cf 2003-07-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/fs/vfat/misc.c (VfatLockControl): Move it so it is placed
	before it is referenced.
	* include/win32k/ntuser.h (NtUserQueryWindow): Correct prototype.
	* lib/winedbgc/debug.c (default_dbg_vlog): Use wine_dbg_vprintf, not
	__wine_dbg_vprintf.
	* ntoskrnl/nt/vdm.c (NtEarlyInitVdm): Work around GCC 3.4 trying to be
	smart.

svn path=/trunk/; revision=5034
2003-07-10 11:03:51 +00:00
Royce Mitchell III
5fd0423e1b added @implemented and @unimplemented notes to the cc through fs directories of ntoskrnl
svn path=/trunk/; revision=5033
2003-07-10 06:27:13 +00:00
Steven Edwards
36d8866638 New much better edit control test by Waldo Alvarez Ca�izares.
svn path=/trunk/; revision=5032
2003-07-10 05:37:17 +00:00
Casper Hornstrup
92cc25a074 Joakim Asplund <joakim_asplund@spray.se>
lib/user32/controls/combo.c:
- Combo height fix

lib/user32/windows/window.c
- Fix to FindWindowExW, incorrect allocation of UNICODE_STRING:s
    (uninitialized pointers...)

subsys/win32k/ntuser/painting.c:
- Put in locking of window lists where it was missing
- Fixed an incorrect CONTAINING_RECORD

subsys/win32k/ntuser/windc.c
- Put in locking of window lists where it was missing

subsys/win32k/ntuser/window.c
- Put in locking of window lists, both children and thread, where it was missing
- W32kCreateDesktopWindow had forgotten initializing its ChildrenListLock!
- Remade NtUserFindWindowEx which I hope should work more as expected now

subsys/win32k/ntuser/winpos.c:
- Put in locking of window lists where it was missing

svn path=/trunk/; revision=5031
2003-07-10 00:24:04 +00:00
KJK::Hyperion
ca5d43deae Missing file from my last commit
svn path=/trunk/; revision=5030
2003-07-09 21:55:44 +00:00
KJK::Hyperion
f98dc7b970 No more unnecessary and never-ending output from genw32k
svn path=/trunk/; revision=5029
2003-07-09 20:41:35 +00:00
Hartmut Birr
7c4a36f112 - Used string functions instead of iteration code.
- Replaced wcscpy with memcpy if the length of the string is known.

svn path=/trunk/; revision=5028
2003-07-09 20:25:00 +00:00
Hartmut Birr
198a10ed1b - GetTickCount should return the elapsed time since booting in milliseconds and not the tick count.
svn path=/trunk/; revision=5027
2003-07-09 20:19:50 +00:00
Hartmut Birr
52d7096779 - Initialized TickCountMultiplier from shared user data.
svn path=/trunk/; revision=5026
2003-07-09 20:17:47 +00:00
Hartmut Birr
c1c87cd076 - Fixed some debug messages.
svn path=/trunk/; revision=5025
2003-07-09 20:15:50 +00:00
Hartmut Birr
5ac5a18db9 - Used memcpy instead of iteration code.
svn path=/trunk/; revision=5024
2003-07-09 20:13:56 +00:00
Hartmut Birr
edd824b265 - Replaced _wcsnicmp with RtlEqualUnicodeString.
- Replaced wcscpy with memcpy if the length of the string is known.
- Used string functions instaed of iteration code.

svn path=/trunk/; revision=5023
2003-07-09 20:11:41 +00:00
Hartmut Birr
0efd005774 - Check for more illegal characters in VfatCreateFile.
svn path=/trunk/; revision=5022
2003-07-09 19:59:21 +00:00
Eric Kohl
b2805cde6e Implemented WriteConsoleOutputCharacterW().
svn path=/trunk/; revision=5021
2003-07-09 10:43:08 +00:00
Eric Kohl
33859812f3 Initialize lead byte info pointers.
svn path=/trunk/; revision=5020
2003-07-09 10:40:50 +00:00
Gé van Geldorp
d1c76c1e31 Prevent painting outside surface
svn path=/trunk/; revision=5019
2003-07-09 07:00:00 +00:00
KJK::Hyperion
d4b51b9c1f Fully implemented the user32 side of accelerator table functions
svn path=/trunk/; revision=5018
2003-07-09 00:09:47 +00:00
Steven Edwards
3159e14d52 Sync explorer with Martin Fuchs:
- File Management by provided by winefile merge (Requires WINE Headers).
- Fixes registry startup provide via wineboot merge
- Explorer bar loading fixed
- Cleaned up explorer source tree a little.
- Added doc/TODO.txt

svn path=/trunk/; revision=5017
2003-07-08 22:52:53 +00:00
Gé van Geldorp
1c92882c66 Removed tlist because it doesn't build correctly
svn path=/trunk/; revision=5016
2003-07-08 19:40:46 +00:00
Gé van Geldorp
016967f3ee Implement VideoPortLogError (not complete yet)
svn path=/trunk/; revision=5015
2003-07-08 17:06:44 +00:00
Steven Edwards
f3f9aa8224 Added a simple explorer bar to desktop.
Patch by Alexander Ciobanu with parts by Martin Fuchs.

svn path=/trunk/; revision=5014
2003-07-08 03:21:15 +00:00
Hartmut Birr
f824321d24 - Fixed FLUSH_TLB for higher optimization levels like -O6.
svn path=/trunk/; revision=5013
2003-07-07 20:22:47 +00:00
James Tabor
86faaec314 Implement GetWindowThreadProcessId
svn path=/trunk/; revision=5012
2003-07-07 06:39:34 +00:00
James Tabor
a08e8eb37d Implement NtUserQueryWindow
svn path=/trunk/; revision=5011
2003-07-07 06:12:08 +00:00
KJK::Hyperion
5514f345a3 - apps/utils/tickcount/tickcount.c: corrected assertion
- include/funcs.h: declared GetScrollBarInfo
 - include/napi/teb.h: removed misleading comment about NtCurrentTeb; preparing TEB for Windows 2003-compatible FLS support
 - include/tchar.h: added _tcslen
 - include/tgetopt.h: type-generic getopt (see lib/tgetopt)
 - include/win32k/ntuser.h, subsys/win32k/ntuser/window.c, subsys/win32k/ntuser/timer.c, lib/user32/misc/timer.c, lib/user32/windows/paint.c: corrected declarations of NtUserSetTimer, NtUserKillTimer and NtUserRedrawWindow (Win32K doesn't follow the NT calling convention)
 - lib/crtdll/crtdll.def: exported ::operator new and ::operator delete
 - lib/kernel32/thread/fls.c: FLS support almost done
 - lib/ntdll/*: implemented _chkstk/_alloca_probe - some more Visual C++ programs should run now; exported NtCurrentTeb for compatibility with Windows NT 3.51 and some non-i386 architectures; removed the CRT from the linker libraries
 - lib/string/*: type-generic string functions (single, shared implementation for single-byte and Unicode variants using _t macros); corrected a bug in the i386 wcsncmp; merged strspn/strcspn; corrected non-portable code in strspn/strcspn; implemented strnlen/tcsnlen for the i386 architecture; all changes were regression-tested and compared against the Microsoft CRT
 - tools/helper.mk: libraries, dlls and drivers now depend from their DEF/EDF files

svn path=/trunk/; revision=5010
2003-07-06 23:04:19 +00:00
Hartmut Birr
8ed329a442 - Do only attach/detach the process if the address is in user space
and if the current process is not the creator process (in MmProbeAndLockPages).

svn path=/trunk/; revision=5009
2003-07-06 10:50:21 +00:00
Hartmut Birr
0ae49a2c5e - Store the consumer type for each page.
- Implemented the zero pager thread.
- Check that the given page is a user page (in MmGetLRUNextUserPage).

svn path=/trunk/; revision=5008
2003-07-06 10:34:32 +00:00
Hartmut Birr
63ac615e14 - Don't free the memory from symbol files if the kernel debugger is active.
svn path=/trunk/; revision=5007
2003-07-06 10:25:15 +00:00
Hartmut Birr
c6b8b78565 - Release the lock while allocating pages for the pool (in grow_kernel_pool).
svn path=/trunk/; revision=5006
2003-07-06 07:36:56 +00:00
Steven Edwards
9fa9badcf4 Added desktop part of explorer clone by Andrew "Silver Blade" Greenwood.
svn path=/trunk/; revision=5005
2003-07-06 07:18:32 +00:00
Steven Edwards
48802da388 update cvsingnore files
svn path=/trunk/; revision=5004
2003-07-06 04:48:53 +00:00
Steven Edwards
7807d86143 Added new button test by Ciobanu Alexander.
svn path=/trunk/; revision=5003
2003-07-06 01:23:02 +00:00
Hartmut Birr
89b0516273 - Allocate a separate memory area for the kmap area.
- Changed the free block list for the non paged pool from a double linked list
  to an avl tree which is sorted by sizes.

svn path=/trunk/; revision=5002
2003-07-05 18:10:50 +00:00
Casper Hornstrup
4ac70b6bbb 2003-07-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/windows/defwnd.c (DefWndHandleLButtonUpNC,
	User32DefWindowProc): Only send WM_SYSCOMMAND message, not WM_CLOSE.
	(DefWndHandleSysCommand): Handle SC_CLOSE message.

svn path=/trunk/; revision=5001
2003-07-05 17:57:22 +00:00
Casper Hornstrup
9826d4e679 2003-07-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/win32k/ntuser.h (NtUserSetFocus): Correct prototype.
	* lib/user32/misc/stubs.c (SetFocus): Remove.
	* lib/user32/windows/defwnd.c (KEYDATA_ALT): New.
	(User32DefWindowProc): Handle WM_SYSKEYDOWN.
	* lib/user32/windows/input.c (SetFocus): New.
	* subsys/win32k/include/msgqueue.h (USER_MESSAGE_QUEUE): Document
	FocusWindow field.
	* subsys/win32k/include/window.h (W32kSetFocusWindow): Change return type
	to HWND.
	* subsys/win32k/include/winsta.h (W32kGetFocusMessageQueue): New.
	* subsys/win32k/ntuser/input.c (KeyboardThreadMain): Handle system keys.
	* subsys/win32k/ntuser/keyboard.c (NtUserSetFocus): New.
	* subsys/win32k/ntuser/msgqueue.c (MsqPostKeyboardMessage): Implement.
	* subsys/win32k/ntuser/stubs.c (NtUserSetFocus): Remove.
	* subsys/win32k/ntuser/window.c (W32kSetFocusWindow): Implement.
	(NtUserGetClientRect, W32kGetWindowProc, NtUserCreateWindowEx): Release
	window reference on error.
	(W32kDestroyWindow): Remove focus from window tree before destroying it
	if needed.
	* subsys/win32k/ntuser/winpos.c (WinPosChangeActiveWindow): Implement.
	(WinPosShowWindow): Activate window if needed.
	* subsys/win32k/ntuser/winsta.c (W32kGetFocusMessageQueue): New.

svn path=/trunk/; revision=5000
2003-07-05 16:04:01 +00:00
Steven Edwards
6c51b3072c Remove unimplemented in SetDebugErrorLevel.
svn path=/trunk/; revision=4999
2003-07-03 02:52:54 +00:00
Gé van Geldorp
d24db59ab5 Version 0.1.2
svn path=/trunk/; revision=4996
2003-07-02 21:10:16 +00:00
Steven Edwards
ad5a04b000 Add another stub (SetDebugErrorLevel) for dependancy walker.
svn path=/trunk/; revision=4995
2003-07-01 23:09:09 +00:00
Richard Campbell
c43774d9fe more exports...hate doing this manually...
svn path=/trunk/; revision=4994
2003-07-01 01:03:49 +00:00
Richard Campbell
677110b2cc New ROS User32...doesn't work...doesn't even compile...not even CLOSE to being complete...(no dllmain yet for instance...)
svn path=/trunk/; revision=4993
2003-06-30 22:17:37 +00:00
guido
1f77515cad last bit of .cvsignore updates
svn path=/trunk/; revision=4992
2003-06-29 21:12:24 +00:00
guido
0eb42760a8 another day of janitor stuff
svn path=/trunk/; revision=4991
2003-06-29 21:05:54 +00:00
Casper Hornstrup
397aee4126 Readd windows.h as it is needed for cross-compilation.
svn path=/trunk/; revision=4990
2003-06-29 12:30:20 +00:00
guido
f5c3d860c3 still more .cvsignore maintenance
svn path=/trunk/; revision=4989
2003-06-28 23:30:11 +00:00
guido
19a10245f0 again more .cvsignore maintenance
svn path=/trunk/; revision=4988
2003-06-28 23:10:02 +00:00
guido
4dd0876325 more .cvsignore maintenance
svn path=/trunk/; revision=4987
2003-06-28 23:09:27 +00:00
guido
258e83341b .cvsignore maintenance
svn path=/trunk/; revision=4986
2003-06-28 23:04:41 +00:00
Gé van Geldorp
9389c797ef Implement clipping for bitblt operations
svn path=/trunk/; revision=4985
2003-06-28 08:39:18 +00:00
Hartmut Birr
5e61f5b601 - Disabled TAG_STATISTICS_TRACKING.
svn path=/trunk/; revision=4984
2003-06-27 21:35:05 +00:00
Steven Edwards
66cc55e3e3 Remove unneed windows.h
svn path=/trunk/; revision=4983
2003-06-27 21:33:25 +00:00
Hartmut Birr
9195641c84 - Fixed some locking problems during different processes access the same sections (dlls).
- Reduced the overhead in MmCreateImageSection if for a file the caching is initialized already.
- Moved some values from SECTION_OBJECT to MM_IMAGE_SECTION_OBJECT.
- Removed the lock from SECTION_OBJECT.

svn path=/trunk/; revision=4982
2003-06-27 21:28:30 +00:00
Gé van Geldorp
8abf146aac Add architecture define to CFLAGS
svn path=/trunk/; revision=4981
2003-06-27 21:17:35 +00:00
Gé van Geldorp
d7ce70741b Small fixes for newer MinGW version
svn path=/trunk/; revision=4980
2003-06-27 21:10:35 +00:00
Steven Edwards
08ce61d1c2 CreateFileMapping Patch by Hartmut Birr for MSYS applications.
(No they still dont work)

svn path=/trunk/; revision=4979
2003-06-27 20:15:17 +00:00
Hartmut Birr
fcde5c2e54 - Call the FSD if the volume is mounted in IoVerifyVolume.
svn path=/trunk/; revision=4978
2003-06-27 19:00:33 +00:00
Casper Hornstrup
b36ca324a9 2003-06-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/controls/button.c (ButtonWndProc_comm): Fix unsigned/signed
	warning.

svn path=/trunk/; revision=4977
2003-06-27 17:49:07 +00:00
Steven Edwards
bf1abd5a1c Enable stubs for a few functions needed by dependancy walker.
Add new file stubs.c for the functions I didnt know where to place.

svn path=/trunk/; revision=4976
2003-06-27 15:19:19 +00:00
Eric Kohl
f99f43d367 Disabled potentially misleading error message.
svn path=/trunk/; revision=4975
2003-06-27 00:16:33 +00:00
Hartmut Birr
8aca12db20 - Revert the last changes. Support for removable medias needs more investigations.
svn path=/trunk/; revision=4974
2003-06-26 22:01:02 +00:00
Gé van Geldorp
c2f1fc8975 Implement SelectClipRgn() (note: this does NOT mean that clipping is
working now!)

svn path=/trunk/; revision=4973
2003-06-26 21:52:40 +00:00
Eric Kohl
352ebc2a24 Added cdrom IOCTLs.
svn path=/trunk/; revision=4972
2003-06-26 20:02:03 +00:00
Eric Kohl
60c39669a2 Added two NOPs.
FreeLoader can now be built using MinGW.

svn path=/trunk/; revision=4971
2003-06-26 15:16:36 +00:00
Gé van Geldorp
1d4c92223c Remove reference to ps.h
svn path=/trunk/; revision=4970
2003-06-26 06:31:49 +00:00
Steven Edwards
d6cb5e2e20 removed combobox file. code implemented in ported wine control
svn path=/trunk/; revision=4969
2003-06-26 00:14:15 +00:00
Steven Edwards
cefbfd89ed Updated license information with date.
svn path=/trunk/; revision=4968
2003-06-26 00:04:49 +00:00
Steven Edwards
76e2bc6284 Added combobox control ported from WINE
Added controls.h header to hold missing
defines and structures until w32api is in sync.

svn path=/trunk/; revision=4967
2003-06-26 00:01:34 +00:00
Gé van Geldorp
9aea24bfae On thread termination, destroy all windows owned by that thread
svn path=/trunk/; revision=4966
2003-06-25 22:37:07 +00:00
Gé van Geldorp
91e44fd859 Fix polygon outline special case and min/max caption buttons
svn path=/trunk/; revision=4965
2003-06-25 16:55:33 +00:00
Eric Kohl
a547aaf0c5 Added checksum calculation to PnPBiosSupported().
Patch by Petr Matousek.

svn path=/trunk/; revision=4964
2003-06-25 13:56:04 +00:00
Eric Kohl
676160308e Verify storage device upon file open request.
svn path=/trunk/; revision=4963
2003-06-24 21:34:41 +00:00
Eric Kohl
db571ee907 Implemented several IOCTLs.
Improved error handling/reporting.

svn path=/trunk/; revision=4962
2003-06-24 21:32:15 +00:00
Eric Kohl
7cc3dd52bb Merged duplicate code.
svn path=/trunk/; revision=4961
2003-06-24 21:30:08 +00:00
Eric Kohl
0059d716a1 Minor cleanup.
svn path=/trunk/; revision=4960
2003-06-24 12:39:08 +00:00
Eric Kohl
b209c5a96e Allocate a sense data buffer for each disk device.
svn path=/trunk/; revision=4959
2003-06-24 12:38:00 +00:00
Eric Kohl
39825a170b Minor cleanup.
svn path=/trunk/; revision=4958
2003-06-24 12:31:40 +00:00
Eric Kohl
1b854f5f2a Added more stuff to the IDENTIFY data block.
Added support for the TEST UNIT READY command.
Combined various booleans in a flags variable.

svn path=/trunk/; revision=4957
2003-06-24 12:29:02 +00:00
Eric Kohl
b6b732c937 Removed unused variable.
svn path=/trunk/; revision=4956
2003-06-24 12:22:14 +00:00
Gé van Geldorp
59a5712e45 Start scan for PnP$ signature at low end (0xf0000)
svn path=/trunk/; revision=4955
2003-06-24 11:41:58 +00:00
Gé van Geldorp
f974b5e263 Pass failures up the chain
svn path=/trunk/; revision=4954
2003-06-24 11:34:28 +00:00
Richard Campbell
0ceda3461a Some small fixes...more soon
svn path=/trunk/; revision=4953
2003-06-24 00:55:02 +00:00
Richard Campbell
a2ad470fa7 ewps
svn path=/trunk/; revision=4952
2003-06-23 21:16:01 +00:00
Richard Campbell
3fa6478075 Button test (used GvG's static control test as a template.)
svn path=/trunk/; revision=4951
2003-06-23 16:01:20 +00:00
Richard Campbell
d570317697 blah i need to stop having those late night coding sessions :P
Register the button control class

svn path=/trunk/; revision=4950
2003-06-23 14:46:17 +00:00
Richard Campbell
23ed82d969 Ported the button control from wine. This is untested, but will probably work, haven't written a test app yet, will do so when i have more time :)
Implements:
  - Pushbutton
  - RadioButton
  - CheckBox

svn path=/trunk/; revision=4949
2003-06-23 10:10:51 +00:00
Gé van Geldorp
a0f42417ab Implemented GetTextExtentPoint32() and fix GetTextExtentPoint()
svn path=/trunk/; revision=4948
2003-06-22 21:33:48 +00:00
guido
96b4efbbd6 fixed warning
svn path=/trunk/; revision=4947
2003-06-22 19:51:14 +00:00
guido
08aacf7745 fixed slashes
svn path=/trunk/; revision=4946
2003-06-22 19:43:53 +00:00
Steven Edwards
f6f96aa6c6 Ported icontitle control from WINE
svn path=/trunk/; revision=4945
2003-06-22 19:18:17 +00:00
Steven Edwards
cbb3e1c384 Added Icontitle Control
svn path=/trunk/; revision=4944
2003-06-22 19:17:18 +00:00
Eric Kohl
ee442cb63a Added missing SCSI pass-through structures.
svn path=/trunk/; revision=4943
2003-06-22 16:35:58 +00:00
Eric Kohl
eab41528ac Added missing disk io control codes.
svn path=/trunk/; revision=4942
2003-06-22 16:33:44 +00:00
Hartmut Birr
2f0c098757 - Allocate the pipe buffer at creation time.
- Interprete the given buffer size.
- Interprete the given direction (inbound, outbound or both).
- The handling of read/write request in message mode is possible incorrect.

svn path=/trunk/; revision=4941
2003-06-21 19:55:55 +00:00
Eric Kohl
246369270a Implemented NLS functions.
svn path=/trunk/; revision=4940
2003-06-21 18:06:11 +00:00
Jurgen van Gael
ea98149a49 Partial GetAdaptersInfo implementation in order to get ipconfig running.
svn path=/trunk/; revision=4939
2003-06-21 16:04:09 +00:00
Gé van Geldorp
500b7199f9 Bounds checking in MmMarkPage(Un)Mapped, call MmMarkPageMapped from
MmMapIoSpace() for symmetry with MmUnmapIoSpace()

svn path=/trunk/; revision=4938
2003-06-21 14:30:42 +00:00
Gé van Geldorp
ba8e03d72f Implement display ownership, also makes ATI Rage 3rd party video driver
runnable

svn path=/trunk/; revision=4937
2003-06-21 14:25:30 +00:00
guido
a9b7d71462 Fixed cdmake on linux, if D_TYPE is not supported.
svn path=/trunk/; revision=4936
2003-06-21 09:11:24 +00:00
Eric Kohl
58b09f3345 Initial work on error logging.
svn path=/trunk/; revision=4935
2003-06-20 22:43:27 +00:00
Eric Kohl
627e330d0d Disable debug messages.
svn path=/trunk/; revision=4934
2003-06-20 18:19:29 +00:00
Eric Kohl
ea01cf3f1f Enable automatic initialization and termination of Win32 threads and processes.
svn path=/trunk/; revision=4933
2003-06-20 16:26:53 +00:00
Gé van Geldorp
76d1058fc3 Map video memory based on actual size of screen
svn path=/trunk/; revision=4932
2003-06-20 13:04:09 +00:00
Gé van Geldorp
7704a6609a Remove debug breakpoint
svn path=/trunk/; revision=4931
2003-06-20 10:37:23 +00:00
Emanuele Aliberti
3f1690fdbd KERNEL32.GetConsoleWindow implemented
KERNEL32.GetConsoleHardwareState implemented (undoc;incompatible)
KERNEL32.SetConsoleHardwareState implemented (undoc;incompatible)

Console window's handle is actually not returned because csrss does not create a window for each allocated console.

HardwareState is undocumented. Only size of the returned/set data is the same as NT's.

svn path=/trunk/; revision=4930
2003-06-19 19:38:26 +00:00
Gé van Geldorp
3be996ffc4 Revert last change
svn path=/trunk/; revision=4929
2003-06-19 19:01:01 +00:00
Gé van Geldorp
9ad6e7c184 Implement EngQueryPerformanceFrequency, EngQueryPerformanceCounter and
partly Eng(Un)SecureMem

svn path=/trunk/; revision=4928
2003-06-19 17:13:28 +00:00
Gé van Geldorp
86d2a51a17 Implement VideoPortSynchronizeExecution() and VideoPortScanRom()
svn path=/trunk/; revision=4927
2003-06-19 16:04:05 +00:00
Gé van Geldorp
b5c47abf10 Implement KeQueryPerformanceCounter() and move all timer related stuff to
a single file timer.c

svn path=/trunk/; revision=4926
2003-06-19 16:00:03 +00:00
Gé van Geldorp
17b476d572 Implement VideoPortSynchronizeExecution() and VideoPortScanRom()
svn path=/trunk/; revision=4925
2003-06-19 15:57:45 +00:00
Gé van Geldorp
96d9fbe944 Don't mark pages as unmapped when releasing them via MmUnmapIoSpace
svn path=/trunk/; revision=4924
2003-06-19 15:48:39 +00:00
KJK::Hyperion
c37620bed9 Cosmetics...
svn path=/trunk/; revision=4923
2003-06-19 03:17:56 +00:00
KJK::Hyperion
bf7fd7c66e Updated D-Flat/32 readme (removed TODO item about naming conventions)
svn path=/trunk/; revision=4922
2003-06-19 02:52:02 +00:00
KJK::Hyperion
ec3b369d83 Renamed ALL DFlat32 symbols to include a Df/DF/DF_/DFM_ prefix. Compiles and works fine, apparently
svn path=/trunk/; revision=4921
2003-06-19 02:48:13 +00:00
Hartmut Birr
c4c8ee8bec - Fixed the install and dist rule for static libraries.
- Build user mode images without debug symbols.
- Build map files for each image.

svn path=/trunk/; revision=4920
2003-06-17 19:40:08 +00:00
Gé van Geldorp
58bf81b39f Call InitializeVideoAddressSpace() before opening the display device, so
the display open routine can make INT10 calls

svn path=/trunk/; revision=4919
2003-06-17 13:55:16 +00:00
Eric Kohl
79cd3ca256 Disable debug messages.
svn path=/trunk/; revision=4918
2003-06-17 10:52:56 +00:00
Eric Kohl
21ef04df28 Initialize pointers to lead byte info tables.
svn path=/trunk/; revision=4917
2003-06-17 10:44:16 +00:00
Eric Kohl
b905ce98aa Fixed NtAdjustPrivilegeToken() and SeSinglePrivilegeCheck().
svn path=/trunk/; revision=4916
2003-06-17 10:42:37 +00:00
Gé van Geldorp
a2be00bf0e Fix processing of com port options
svn path=/trunk/; revision=4915
2003-06-17 10:39:43 +00:00
Hartmut Birr
df3bf6cc39 - something was wrong with the previous checkin.
svn path=/trunk/; revision=4914
2003-06-16 19:41:56 +00:00
Hartmut Birr
1d64761f02 - Restart the access fault handler if the return value is STATUS_MM_RESTART_OPERATION.
svn path=/trunk/; revision=4913
2003-06-16 19:20:28 +00:00
Hartmut Birr
11eb72da00 - Fixed the test for context flags because the architecture flag is always set.
svn path=/trunk/; revision=4912
2003-06-16 19:19:30 +00:00
Hartmut Birr
f56c6ce607 - Removed the architecture flag while checking the context flag.
- Fixed the test for math support.

svn path=/trunk/; revision=4911
2003-06-16 19:18:48 +00:00
Hartmut Birr
5ce7ebb682 - Fixed the delivering of pending dpcs in KiDispatchInterrupt.
- Raise the irql before acquiring the lock in KeRemoveQueueDpc.

svn path=/trunk/; revision=4910
2003-06-16 19:18:14 +00:00
Hartmut Birr
c4bb72e4ce - Decrement the pending apc count while holding the lock in KiDeliverUserApc.
- Restart the scanning through the apc list if there was released the lock in KiDeliverApc.

svn path=/trunk/; revision=4909
2003-06-16 19:17:45 +00:00
Hartmut Birr
5f1dae9d19 - Release the lock while accessing pageable user mode buffers in NtReplyWaitReceivePortEx.
svn path=/trunk/; revision=4908
2003-06-16 19:17:08 +00:00
Hartmut Birr
b13e656c10 - Remove only the necessary page count from cache in CcRosTrimCache.
svn path=/trunk/; revision=4907
2003-06-16 19:16:32 +00:00
Hartmut Birr
d62b3b42e8 - Fixed the check for an existing paging file.
svn path=/trunk/; revision=4906
2003-06-16 19:15:57 +00:00
Eric Kohl
322b60c160 Added service table pointer to KTHREAD.
svn path=/trunk/; revision=4905
2003-06-16 16:45:52 +00:00
Gé van Geldorp
8726fa1797 Unicode windows not supported yet, convert to Ascii
svn path=/trunk/; revision=4904
2003-06-16 14:05:02 +00:00
Eric Kohl
1cffd5317b Fixed yet another buggy debug message.
svn path=/trunk/; revision=4903
2003-06-16 14:00:51 +00:00
Eric Kohl
6b85686432 Fixed buggy debug message
svn path=/trunk/; revision=4902
2003-06-16 13:56:30 +00:00
Gé van Geldorp
4345b27024 Introduce WNDCLASS(EX)A/W
svn path=/trunk/; revision=4901
2003-06-16 13:56:09 +00:00
Gé van Geldorp
065af84ed5 Static control test application by Radoslaw Sokol
svn path=/trunk/; revision=4900
2003-06-16 13:51:16 +00:00
Gé van Geldorp
4d4af768ba First shot at STATIC control
svn path=/trunk/; revision=4899
2003-06-16 13:46:26 +00:00
Gé van Geldorp
628c166c14 Handle NULL window name
svn path=/trunk/; revision=4898
2003-06-16 13:43:16 +00:00
Gé van Geldorp
5b1bf6da3b Introduce WNDCLASS(EX)A/W
svn path=/trunk/; revision=4897
2003-06-16 13:10:01 +00:00
Steven Edwards
e752a43c37 Gcc 3.x end of line warning fixes
svn path=/trunk/; revision=4896
2003-06-15 21:20:34 +00:00
Gé van Geldorp
acf78985a1 Fixes to get CS_PARENTDC working
svn path=/trunk/; revision=4895
2003-06-15 20:08:02 +00:00
Richard Campbell
53bf611e09 Implemented FindWindowEx, it's untested, but the code should work, as it's fairly straightfoward...This is only a partial implementation however. It searches all windows regardless...
svn path=/trunk/; revision=4894
2003-06-15 04:25:34 +00:00
Steven Edwards
57a3b7cc34 Turn off SEH Junk some other minor cleanups.
svn path=/trunk/; revision=4893
2003-06-14 22:17:48 +00:00
Gé van Geldorp
60dd268c50 Pass WndProc in call to W32kCallWindowProc, saving a usermode -> kernelmode ->
usermode trip

svn path=/trunk/; revision=4892
2003-06-14 21:21:23 +00:00
Hartmut Birr
6a3ff87ad2 - Fixed the calculation of MiPagesRequired.
- Fixed the calculation of the target in MiRebalanceMemoryConsumers.

svn path=/trunk/; revision=4891
2003-06-14 17:53:25 +00:00
Hartmut Birr
07dd3a3809 - Added a boot option for reducing the used memory size ('/maxmem=used_memory_in_mb').
svn path=/trunk/; revision=4890
2003-06-14 17:46:24 +00:00
Gé van Geldorp
2e437e9b34 Partial implementation of DestroyWindow(), handling child windows
svn path=/trunk/; revision=4889
2003-06-14 10:00:58 +00:00
Gé van Geldorp
9c7d6c225d Do not delete WindowTextAtom on WM_NCDESTROY, default WM_NCCREATE might
not have been called (overridden) messing up the WindowTextAtom ref count

svn path=/trunk/; revision=4888
2003-06-14 09:59:17 +00:00
Gé van Geldorp
814ac65da6 Fix RtlpFreeHandle
svn path=/trunk/; revision=4887
2003-06-14 09:52:57 +00:00
Steven Edwards
eda4cb882d primitives test from the Windows 2000 Graphics API Backbook
Used with permission from Damon Chandler <dmc27@ee.cornell.edu>

Makefile still needs to be converted to ReactOS Makefile
and SEH needs to be disabled.

svn path=/trunk/; revision=4886
2003-06-13 19:39:30 +00:00
Gé van Geldorp
3da2ebbda8 Patch by Hartmut to clean up my mess
svn path=/trunk/; revision=4885
2003-06-11 18:38:44 +00:00
Gé van Geldorp
6e6cbd0cc2 "ext" is a pointer
svn path=/trunk/; revision=4884
2003-06-11 18:37:30 +00:00
Eric Kohl
9ddebf95c5 Added math support routines.
Removed entry point.

svn path=/trunk/; revision=4883
2003-06-11 15:42:31 +00:00
Eric Kohl
398d93b19b Added math support routines.
svn path=/trunk/; revision=4882
2003-06-11 15:38:36 +00:00
Eric Kohl
6fb78880ce Fixed math support routines.
svn path=/trunk/; revision=4881
2003-06-11 12:29:49 +00:00
KJK::Hyperion
649a9d362a - i386/fiber.S: SwitchToFiber: there was data defined in the middle of the function - ooops
- thread.c: ThreadStartup: initialize error code to zero, so that void ThreadMains set the thread's exit code to something that makes sense

svn path=/trunk/; revision=4880
2003-06-09 22:39:48 +00:00
Hartmut Birr
a3048f0254 - Replaced FindFirstFile/FindClose with GetFileAttributesEx.
- Fixed some minor bugs.

svn path=/trunk/; revision=4879
2003-06-09 20:31:13 +00:00
Hartmut Birr
48be1aeb7d - Moved strspn and strcspn to the string library.
svn path=/trunk/; revision=4878
2003-06-09 20:27:14 +00:00
Hartmut Birr
e9f3a8740c - Implemented GetFileAttributesExA/W.
svn path=/trunk/; revision=4877
2003-06-09 19:58:21 +00:00
Eric Kohl
52b40cdd07 Verify checksums of preloaded DLLs.
svn path=/trunk/; revision=4876
2003-06-09 13:45:22 +00:00
Eric Kohl
b99ad0e0a6 Implemented LdrVerifyImageMatchesChecksum().
svn path=/trunk/; revision=4875
2003-06-09 13:44:37 +00:00
Eric Kohl
b7bf13d061 Added full implementations of [Get/Set]ComputerName[A/W].
svn path=/trunk/; revision=4874
2003-06-08 21:00:04 +00:00
Eric Kohl
e7d27b01ee Added default computer name settings.
svn path=/trunk/; revision=4873
2003-06-08 20:56:46 +00:00
Gé van Geldorp
472ebde7ec Fix NtGetContextThread() and implement NtSetContextThread()
svn path=/trunk/; revision=4872
2003-06-07 19:13:43 +00:00
Casper Hornstrup
32f2d198df Add missing file.
svn path=/trunk/; revision=4871
2003-06-07 16:23:46 +00:00
Casper Hornstrup
a86b74f2fe 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/ddk/dbgfuncs.h: Move ...
	* include/ntos/dbgfuncs.h: ... here.
	* include/basetsd.h (LONG32): Make it a long.
	* include/ntos.h: Include ntos/dbgfuncs.h.
	* include/ddk/dbgfuncs.h (DBG_STATUS_*, DBG_GET_SHOW_*): Move to
	include/ntos/dbgfuncs.h.
	* include/ddk/exfuncs.h (ExNotifyCallback): Match w32api prototype.
	(*BinaryTree, *SplayTree, *HashTable): Move to include/ntos/zw.h.
	* include/ddk/extypes.h (TRAVERSE_METHOD, PKEY_COMPARATOR,
	PTRAVERSE_ROUTINE, _BINARY_TREE_NODE, BINARY_TREE, SPLAY_TREE_NODE,
	SPLAY_TREE, HASH_TABLE): Move to include/ntos/zwtypes.h.
	* include/ddk/status.h (STATUS_PATH_SYNTAX_BAD): Rename to
	STATUS_OBJECT_PATH_SYNTAX_BAD.
	* apps/utils/objdir/objdir.c (StatusToName): Change
	STATUS_PATH_SYNTAX_BAD to STATUS_OBJECT_PATH_SYNTAX_BAD.
	* ntoskrnl/dbg/errinfo.c: Use STATUS_OBJECT_PATH_SYNTAX_BAD.
	* include/ntos/rtl.h (RtlQueryRegistryValues, RtlWriteRegistryValue,
	RtlDeleteRegistryValue): Match w32api prototypes.
	* include/ntos/zw.h (ZwQuerySystemTime): Ditto.
	* lib/kernel32/file/cnotify.c (FindFirstChangeNotificationW): Use
	STATUS_OBJECT_PATH_SYNTAX_BAD.
	* lib/ntdll/rtl/registry.c (RtlDeleteRegistryValue,
	RtlQueryRegistryValues, RtlWriteRegistryValue): Match w32api prototypes.
	* ntoskrnl/cm/cm.h, ntoskrnl/cm/ntfunc.c, ntoskrnl/cm/regfile.c: Change
	FILETIME to LARGE_INTEGER.
	* ntoskrnl/cm/rtlfunc.c (RtlDeleteRegistryValue, RtlQueryRegistryValues,
	RtlWriteRegistryValue): Match w32api prototypes.
	* ntoskrnl/ex/callback.c (ExNotifyCallback): Ditto.
	* ntoskrnl/ex/time.c (NtQuerySystemTime): Ditto.

svn path=/trunk/; revision=4870
2003-06-07 16:16:39 +00:00
Hartmut Birr
a47b482b97 - Dereference the process object in W32kCleanupForProcess.
svn path=/trunk/; revision=4869
2003-06-07 12:37:01 +00:00
Casper Hornstrup
39c92c6522 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
* hal/halx86/dma.c (AdapterObjects): Don't put braces on scalar
	initializers.

svn path=/trunk/; revision=4868
2003-06-07 12:25:53 +00:00
Casper Hornstrup
685119e0cd 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* include/ddk/obfuncs.h (ObCreateObject): Remove.
	* include/ntos/zwtypes.h (ObRosCreateObject): Add.
	* ntoskrnl/ntoskrnl.def, ntoskrnl/ntoskrnl.edf: Export ObCreateObject@36
	and ObRosCreateObject@20.
	* ntoskrnl/cm/ntfunc.c, ntoskrnl/cm/registry.c, ntoskrnl/cm/regobj.c,
	ntoskrnl/io/create.c, ntoskrnl/io/device.c, ntoskrnl/io/iocomp.c,
	ntoskrnl/lpc/connect.c, ntoskrnl/lpc/create.c, ntoskrnl/mm/section.c,
	ntoskrnl/nt/evtpair.c, ntoskrnl/nt/mutant.c, ntoskrnl/nt/ntevent.c,
	ntoskrnl/nt/ntsem.c, ntoskrnl/nt/nttimer.c, ntoskrnl/nt/profile.c,
	ntoskrnl/ob/dirobj.c, ntoskrnl/ob/namespc.c, ntoskrnl/ob/symlink.c,
	ntoskrnl/ps/create.c, ntoskrnl/ps/process.c, ntoskrnl/se/token.c,
	subsys/win32k/ntuser/winsta.c: Use ObRosCreateObject, not ObCreateObject.
	* ntoskrnl/ob/object.c (ObRosCreateObject): Rename from ObCreateObject.
	(ObCreateObject): Add stub.

svn path=/trunk/; revision=4867
2003-06-07 12:23:14 +00:00
Casper Hornstrup
1e6c809d07 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* include/ddk/obfuncs.h (ObCreateObject): Remove.
	* include/ntos/zwtypes.h (ObRosCreateObject):
	* ntoskrnl/ntoskrnl.def, ntoskrnl/ntoskrnl.edf: Export ObCreateObject@36
	and ObRosCreateObject@20.
	* ntoskrnl/cm/ntfunc.c, ntoskrnl/cm/registry.c, ntoskrnl/cm/regobj.c,
	ntoskrnl/io/create.c, ntoskrnl/io/device.c, ntoskrnl/io/iocomp.c,
	ntoskrnl/lpc/connect.c, ntoskrnl/lpc/create.c, ntoskrnl/mm/section.c,
	ntoskrnl/nt/evtpair.c, ntoskrnl/nt/mutant.c, ntoskrnl/nt/ntevent.c,
	ntoskrnl/nt/ntsem.c, ntoskrnl/nt/nttimer.c, ntoskrnl/nt/profile.c,
	ntoskrnl/ob/dirobj.c, ntoskrnl/ob/namespc.c, ntoskrnl/ob/symlink.c,
	ntoskrnl/ps/create.c, ntoskrnl/ps/process.c, ntoskrnl/se/token.c,
	subsys/win32k/ntuser/winsta.c: Use ObRosCreateObject, not ObCreateObject.
	* ntoskrnl/ob/object.c (ObRosCreateObject): Rename from ObCreateObject.
	(ObCreateObject): Add stub.

svn path=/trunk/; revision=4866
2003-06-07 12:17:20 +00:00
Casper Hornstrup
922b9fdf46 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* include/ddk/cctypes.h (PREACTOS_COMMON_FCB_HEADER): Remove.
	(FSRTL_COMMON_FCB_HEADER): Add.
	* include/ddk/iotypes.h (FILE_OBJECT): Rename field
	SectionObjectPointers to SectionObjectPointer.
	* ntoskrnl/cc/copy.c, ntoskrnl/cc/misc.c, ntoskrnl/cc/pin.c,
	ntoskrnl/cc/view.c, ntoskrnl/io/rawfs.c, ntoskrnl/mm/section.c,
	drivers/fs/cdfs/cleanup.c, drivers/fs/cdfs/fcb.c,
	drivers/fs/cdfs/fsctl.c, drivers/fs/ntfs/fcb.c, drivers/fs/ntfs/fsctl.c,
	drivers/fs/vfat/close.c, drivers/fs/vfat/create.c,
	drivers/fs/vfat/finfo.c, drivers/fs/vfat/fcb.c, drivers/fs/vfat/fsctl.c:
	Use new	FILE_OBJECT structure.
	* drivers/fs/cdfs/cdfs.h, drivers/fs/ntfs/ntfs.h, drivers/fs/vfat/vfat.h:
	Use new FSRTL_COMMON_FCB_HEADER structure.
	* drivers/net/afd/include/afd.h (FSRTL_COMMON_FCB_HEADER): Remove.
	* include/ddk/ketypes.h (KQUEUE): Match w32api structure.
	* ntoskrnl/ke/queue.c, ntoskrnl/ke/wait.c: Use new structure.
	* ntoskrnl/ke/spinlock.c (KeAcquireSpinLockAtDpcLevel,
	KeReleaseSpinLockFromDpcLevel): Undefine before declaring.

svn path=/trunk/; revision=4865
2003-06-07 11:34:36 +00:00
Eric Kohl
83f9a49a15 Added RtlRandom() and RtlUniform().
svn path=/trunk/; revision=4864
2003-06-07 11:33:13 +00:00
Casper Hornstrup
cafd29d267 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* include/ddk/ketypes.h (KSPIN_LOCK, PKSPIN_LOCK): Match w32api
	structures.
	* ntoskrnl/ke/spinlock.c: Use new structures.

svn path=/trunk/; revision=4863
2003-06-07 10:37:50 +00:00
Eric Kohl
bdb2981529 Fixed minor bugs in RtlConvertSidToUnicodeString().
svn path=/trunk/; revision=4862
2003-06-07 10:35:27 +00:00
Casper Hornstrup
ebabe56624 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* include/ddk/service.h: Move ...
	* include/ntos/service.h: ... here.
	* include/ddk/kdfuncs.h: Move ...
	* include/ntos/kdfuncs.h: ... here.
	* include/ntos/halfuncs.h: New file.
	* ntoskrnl/include/internal/hal/hal.h,
	ntoskrnl/include/internal/hal/bus.h,
	ntoskrnl/include/internal/hal/mps.h: Remove.
	* hal/halx86/include/hal.h: Remove disabled code.
	* include/ntos.h: Include ntos/service.h, ntos/halfuncs.h, and
	ntos/kdfuncs.h.
	* include/ddk/fstypes.h (FILE_LOCK_TOC): Move ...
	* include/ntos/file.h: ... here.
	* include/ddk/halfuncs.h (HalAllProcessorsStarted,
	HalBeginSystemInterrupt, HalDisableSystemInterrupt,
	HalEnableSystemInterrupt, HalEndSystemInterrupt,
	HalInitializeProcessor, HalInitSystem, HalReportResourceUsage): Move to
	include/ntos/halfuncs.h.
	* include/ddk/iofuncs.h (IoAssignDriveLetters): Ditto.
	* include/ddk/kefuncs.h (KeInitializeApc): Match w32api prototype.
	(KeRaiseIrqlToSynchLevel): Move to include/ntos/halfuncs.h.
	* include/ddk/ketypes.h (KAPC_ENVIRONMENT): Move to include/ntos/types.h.
	(KDEVICE_QUEUE, KDEVICE_QUEUE_ENTRY): Match w32api prototype.
	(KINTERRUPT): Move to include/ntos/zwtypes.h.
	* include/ddk/mmtypes.h (PAGE_ROUND_UP, PAGE_ROUND_DOWN): Move ...
	* include/ntos/mm.h: ... here.
	* include/ddk/ntddk.h: Don't include ddk/kdfuncs.h.
	* include/ddk/pstypes.h (PKTHREAD, PRKTHREAD): Add.
	(PsInitialSystemProcess, PsProcessType, PsThreadType): Move ...
	include/ntos/ps.h: ... here.
	* lib/ntdll/rtl/i386/exception.c (SehpContinue): New.
	* ntoskrnl/rtl/i386/exception.c (SehpContinue): Ditto.
	* ntoskrnl/include/internal/ke.h: Include <ddk/ntifs.h>.
	* ntoskrnl/include/internal/ntoskrnl.h: Include internal/ke.h.
	* ntoskrnl/ex/napi.c: Use new structure SSDT_ENTRY.
	* ntoskrnl/ke/apc.c (KeInitializeApc): Match w32api prototype.
	* ntoskrnl/ke/kqueue.c: Use fields of new structures KDEVICE_QUEUE
	and KDEVICE_QUEUE_ENTRY.

svn path=/trunk/; revision=4861
2003-06-07 10:14:40 +00:00
Emanuele Aliberti
9e0e46f4bd fireball added
svn path=/trunk/; revision=4860
2003-06-07 09:43:16 +00:00
Casper Hornstrup
b6102c5a3c 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/cm/regfile.c (CmiCopyKey): Fix unsigned/signed warning.

svn path=/trunk/; revision=4859
2003-06-07 07:34:54 +00:00
Hartmut Birr
d4c1149b14 - Do not interpret spaces within a quoted string as break marker.
svn path=/trunk/; revision=4857
2003-06-06 21:05:58 +00:00
Hartmut Birr
a72bd6590c - Return ENOENT if the path name contains '*' or '?'.
svn path=/trunk/; revision=4856
2003-06-06 21:04:13 +00:00
Hartmut Birr
705db1eb52 - Do not create cache segments after the end of a file.
svn path=/trunk/; revision=4855
2003-06-06 21:02:42 +00:00
Hartmut Birr
5143077b97 - Fixed the used offset for page table/directory entries and pageops.
svn path=/trunk/; revision=4854
2003-06-06 21:01:36 +00:00
Hartmut Birr
08b4648a0a - Fixed the used offset for page table/directory entries and pageops.
- Use the page directory as page table for short segments.
- Handle zero padded segments (segments which are not complete within a file)
  by using of non dircet mapped non private pages.
- Removed some overhead.
- Fixed the locking of pages and cache segments in MmPageOutDeleteMapping/MmPageOutSectionView.

svn path=/trunk/; revision=4853
2003-06-06 21:00:28 +00:00
Eric Kohl
b694b8942b Implemented NtSaveKey().
svn path=/trunk/; revision=4852
2003-06-06 19:11:02 +00:00
Gé van Geldorp
2730a5ab14 Improve polygon filling, patch by Tim Jobling
svn path=/trunk/; revision=4851
2003-06-06 10:27:43 +00:00
Gé van Geldorp
9ee4f092fc Remove some dead code
svn path=/trunk/; revision=4850
2003-06-06 10:18:32 +00:00
Gé van Geldorp
2b5affa11d Fix CreateDIBSection() and add some stuff to GetDIBits()
svn path=/trunk/; revision=4849
2003-06-06 10:17:44 +00:00
Gunnar Dalsnes
a988e5ab0e -corrected protoype
svn path=/trunk/; revision=4848
2003-06-05 23:38:37 +00:00
Gunnar Dalsnes
aba6a902a2 -impl. process and thread cleanup
svn path=/trunk/; revision=4847
2003-06-05 22:47:47 +00:00
Gunnar Dalsnes
9b53ffc03a -call thread notify routines below DISPATCH_LVL
svn path=/trunk/; revision=4846
2003-06-05 22:45:38 +00:00
Gunnar Dalsnes
1f8cbb88a0 -call process notify routines below DISPATCH_LVL
-enable removal of process notify routines

svn path=/trunk/; revision=4845
2003-06-05 22:45:22 +00:00
Brian Palmer
5320d2eb3f Changes in v1.8.13 (6/05/2003) (brianp)
- Added support for booting Linux 2.4.x kernels
- i386 exception handler now reports FreeLoader version number

svn path=/trunk/; revision=4844
2003-06-05 20:06:48 +00:00
Casper Hornstrup
1179903bd5 2003-06-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/windows/icon.c (CURSORICON_FindBestCursor,
	CURSORICON_FindBestIcon): Fix unsigned/signed warning.

svn path=/trunk/; revision=4843
2003-06-05 11:57:12 +00:00
Casper Hornstrup
f2f1a0251b 2003-06-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* ntoskrnl/include/internal/i386/ps.h (KPCR_TSS): Redefine as 0x3C.
	(KPCR_TIB): New structure.
	(IKPCR): Ditto.
	(KPCR): Match w32api structure fieldnames.
	* ntoskrnl/ke/main.c (ExpInitializeExecutive): Adjust for changes to KPCR.
	* ntoskrnl/ke/i386/kernel.c: Ditto.
	* ntoskrnl/ps/thread.c: Ditto.

svn path=/trunk/; revision=4842
2003-06-05 11:51:13 +00:00
Marty Dill
55c6517e00 Send WM_STYLECHANGING/WM_STYLECHANGED when setting GWL_STYLE or GWL_EXSTYLE.
svn path=/trunk/; revision=4841
2003-06-05 03:55:36 +00:00
Gunnar Dalsnes
56bcfe5420 -cleanup IoBuildSynchronousFsdRequest
svn path=/trunk/; revision=4840
2003-06-04 21:41:12 +00:00
Gunnar Dalsnes
08b9eddcc0 -Impl. IoGetRelatedDeviceObject
-Impl. IoAttachDevice

svn path=/trunk/; revision=4839
2003-06-04 21:35:37 +00:00
Hartmut Birr
ffe18386b5 - Implemented memmove fot i386 with assembler.
svn path=/trunk/; revision=4838
2003-06-04 18:14:46 +00:00
Hartmut Birr
b49e2bc450 - Clear the direction flag previous each 'rep string' instruction.
svn path=/trunk/; revision=4837
2003-06-04 18:11:16 +00:00
Hartmut Birr
b841a51945 - Fixed a wrong call to OffsetToCluster in VfatSetAllocationSizeInformation (Thanks to Marc Sch�tz).
svn path=/trunk/; revision=4836
2003-06-04 18:01:02 +00:00
Eric Kohl
b1b828a434 Improved icon support. Patch by Tim Jobling.
svn path=/trunk/; revision=4835
2003-06-03 22:26:52 +00:00
Eric Kohl
e25101088c Improved icon support. Patch by tim Jobling.
svn path=/trunk/; revision=4834
2003-06-03 22:23:48 +00:00
Eric Kohl
62b803fe27 Install icon file.
svn path=/trunk/; revision=4833
2003-06-03 22:22:15 +00:00
Eric Kohl
966127468f Add icon as binary file.
svn path=/trunk/; revision=4831
2003-06-03 20:37:01 +00:00
Eric Kohl
277fc435a5 Removed broken icon.
svn path=/trunk/; revision=4830
2003-06-03 20:35:48 +00:00
Jurgen van Gael
7e41bced72 Implemented NtUserGetAncestor with GA_ROOT flag, stops winhello from crashing when clicking on the title bar.
svn path=/trunk/; revision=4828
2003-06-03 15:43:57 +00:00
Eric Kohl
1018ad9087 Point the root key's parent key pointer to the root key to prevent check routines from reporting false positives.
svn path=/trunk/; revision=4827
2003-06-03 07:28:01 +00:00
Eric Kohl
642d896c7b Implemented 'QueryName' method for key objects.
svn path=/trunk/; revision=4826
2003-06-02 16:51:15 +00:00
Eric Kohl
f05c47fa29 Fixed a tiny bug in ObQueryNameString().
svn path=/trunk/; revision=4825
2003-06-02 16:49:33 +00:00
Eric Kohl
002980df9c Fixed ObQueryNameString() for unnamed objects.
svn path=/trunk/; revision=4824
2003-06-02 13:03:15 +00:00
Emanuele Aliberti
881f1cd531 Campbell and Dalsnes added to the coders directory.
By the way:
- who's fireball@mok ?
- how do I add Unicode strings to RC files?

svn path=/trunk/; revision=4823
2003-06-02 12:30:05 +00:00
Eric Kohl
cea34097ce - Implemented ObQueryNameString().
- Added 'QueryName' object function.
- Implemented 'QueryName' function for file objects.

svn path=/trunk/; revision=4822
2003-06-02 10:04:28 +00:00
Hartmut Birr
210252c422 - Update two pde's if the kernel stack crosses a 4MB boundary.
svn path=/trunk/; revision=4821
2003-06-01 19:50:04 +00:00
Hartmut Birr
d4ce775b60 - Fixed the type of the result from open and replace fclose with close.
- Call time with a parameter (WIN32).

svn path=/trunk/; revision=4820
2003-06-01 19:35:28 +00:00
Hartmut Birr
819f2750e9 - Return after cleanup in NtEnumerateKey.
svn path=/trunk/; revision=4819
2003-06-01 19:28:12 +00:00
Hartmut Birr
392a5753ab - Added memccpy.
svn path=/trunk/; revision=4818
2003-06-01 19:23:18 +00:00
Hartmut Birr
4900a6f281 - Removed some files which are replaced by the string library.
svn path=/trunk/; revision=4817
2003-06-01 19:18:09 +00:00
Eric Kohl
c28184bd36 Added missing .cvsignore file. Patch by Michael Fritscher.
svn path=/trunk/; revision=4816
2003-06-01 18:18:02 +00:00
Eric Kohl
25758f18d9 Implemented RtlExtendedMagicDivide() and RtlSelfRelativeToAbsoluteSD(). Patch by Marc Schuetz.
svn path=/trunk/; revision=4815
2003-06-01 18:14:24 +00:00
Eric Kohl
b036cea0eb Implemented RtlExtendedMagicDivide(). Patch by Marc Schuetz.
svn path=/trunk/; revision=4814
2003-06-01 18:13:23 +00:00
Eric Kohl
8eb47000b7 Remobed duplicate functionality and cleaned-up the registry code.
svn path=/trunk/; revision=4813
2003-06-01 17:39:14 +00:00
Hartmut Birr
d197898a75 - Fixed a bug in the section which makes the destination pointer dword aligned.
svn path=/trunk/; revision=4812
2003-06-01 17:10:42 +00:00
Hartmut Birr
cdeedf3bb4 - Do not free the environment strings from the initial environment.
svn path=/trunk/; revision=4811
2003-06-01 17:08:03 +00:00
Hartmut Birr
ec5e98348c - Open CONOUT$ for accessing the console buffer. This fixes the
"GetConsolScreenBufferInfo : error 6" message, if the stdout handle is redirected.

svn path=/trunk/; revision=4810
2003-06-01 17:06:22 +00:00
Eric Kohl
f170e40b0a Fixed remaining object name issues in NtLoadKey2() and NtUnloadKey().
svn path=/trunk/; revision=4809
2003-06-01 15:10:52 +00:00
Eric Kohl
813549499b Preliminary fix for NtQueryObject().
svn path=/trunk/; revision=4808
2003-06-01 15:09:34 +00:00
Casper Hornstrup
05a9cdcf10 2003-06-01 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* include/ntos/zwtypes.h (SYSTEM_MODULES): Rename to
	SYSTEM_MODULE_INFORMATION. Match w32api structure fieldnames.
	(SYSTEM_MODULE_INFORMATION):  Rename to SYSTEM_MODULE_INFORMATION_ENTRY.
	Match w32api structure fieldnames.
	* include/epsapi.h: Include <ntos.h>.
	(PSYSMOD_ENUM_ROUTINE, PsaCaptureSystemModules, PsaWalkSystemModules,
	PsaWalkFirstSystemModule, PsaWalkNextSystemModule): Use
	SYSTEM_MODULE_INFORMATION_ENTRY and SYSTEM_MODULE_INFORMATION structures.
	* lib/epsapi/enum/drivers.c: Use SYSTEM_MODULE_INFORMATION_ENTRY and
	SYSTEM_MODULE_INFORMATION structures.
	* lib/psapi/misc/win32.c: Ditto.
	* ntoskrnl/ldr/loader.c: Ditto.
	* lib/epsapi/enum/modules.c: Include <ntos.h>.
	* lib/ntdll/rtl/thread.c: Ditto.
	* lib/rosrtl/thread/context.c: Ditto.
	* lib/rosrtl/thread/create.c: Ditto.
	* lib/rosrtl/thread/stack.c: Ditto.
	* include/ntos.h: Include "rosrtl/thread.h".
	* include/structs.h (_BLOB_DEFINED): Rename to __BLOB_T_DEFINED.
	* include/winsock2.h: Ditto.
	* include/ntos/obtypes.h (POBJECT_TYPE): Make a pointer to struct
	_OBJECT_TYPE.
	(PHANDLE_TABLE): Make a pointer to struct _HANDLE_TABLE.
	* ntoskrnl/include/internal/mm.h (PSECTION_OBJECT): Make a pointer to
	struct _SECTION_OBJECT.
	* ntoskrnl/include/internal/i386/ps.h (PKPCR): Make a pointer to struct
	_KPCR.

svn path=/trunk/; revision=4807
2003-06-01 14:59:02 +00:00
Steven Edwards
17c104a163 Added named pipe test by Dan Kegel
svn path=/trunk/; revision=4806
2003-05-31 20:26:49 +00:00
Steven Edwards
d29a317edc Changed name of edit control test
svn path=/trunk/; revision=4805
2003-05-31 19:43:59 +00:00
Eric Kohl
ba5a26559b - Implemented RtlAdjustPrivileges().
- Implemented NtAdjustPrivilegesToken() partially.
- Fixed declaration of LUID.

svn path=/trunk/; revision=4804
2003-05-31 11:10:30 +00:00
Gé van Geldorp
5f47cf8a2a Use DPRINT1 instead of DbgPrint
svn path=/trunk/; revision=4803
2003-05-31 08:53:14 +00:00
Gé van Geldorp
f0aa23eb97 Fix some bugs relating to child windows
svn path=/trunk/; revision=4802
2003-05-31 08:51:58 +00:00
Eric Kohl
dea1b856c7 Implemented NtLoadKey2() and NtUnloadKey().
Implementation is still incomplete but functional.

svn path=/trunk/; revision=4801
2003-05-30 22:28:14 +00:00
Eric Kohl
da25678127 Added missing registry options.
svn path=/trunk/; revision=4800
2003-05-30 22:26:25 +00:00
Hartmut Birr
ddeb6c9e87 - Removed files for functions which are used from the string library.
svn path=/trunk/; revision=4799
2003-05-29 18:01:42 +00:00
Eric Kohl
6d2758d3b7 Converted the Registry to Unicode.
Link default user hive to '\Registry\User\.Default'

svn path=/trunk/; revision=4798
2003-05-29 14:09:41 +00:00
Gé van Geldorp
7a7e93c4ab Set height of default fonts to non-zero
svn path=/trunk/; revision=4797
2003-05-29 13:18:39 +00:00
Gé van Geldorp
9906724442 Fix WM_GETTEXT handling
svn path=/trunk/; revision=4796
2003-05-29 13:17:41 +00:00
Eric Kohl
d5d6a165bd Added removal of .d files to 'clean' rule.
svn path=/trunk/; revision=4795
2003-05-29 08:50:23 +00:00
KJK::Hyperion
66080da575 - Kernel32: implemented fibers. Almost complete - only lacks some Windows 2003 Server features (switching the floating point context and Fiber Local Storage functions)
- Kernel32: GetCurrentFiber and GetFiberData are macros, not functions
 - Kernel32: ExitThread now is declared as __declspec(noreturn)
 - RosRtl: two new functions to allocate and free stacks
 - RosRtl: corrected a couple of prototypes

svn path=/trunk/; revision=4794
2003-05-29 00:36:41 +00:00
Steven Edwards
2382d9e48e Add simple edit control test.
- I'm going to try my hand at porting the WINE edit control
  as Richard and Ge work on User32

svn path=/trunk/; revision=4793
2003-05-28 22:14:19 +00:00
Casper Hornstrup
1e2c725f58 2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Update bootcd target.

svn path=/trunk/; revision=4792
2003-05-28 19:53:53 +00:00
Casper Hornstrup
a255631bec 2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
* subsys/system/usetup/progress.c (ProgressNextStep): Check if NewPos
	is odd.

svn path=/trunk/; revision=4790
2003-05-28 18:35:35 +00:00
Casper Hornstrup
2d947f6f92 2003-05-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* include/ddk/haltypes.h: Move ...
	* include/ntos/haltypes.h: ... here.
	* include/ddk/obtypes.h: Move ...
	* include/ntos/obtypes.h: ... here.
	* include/ddk/i386/tss.h: Move ...
	* include/ntos/tss.h: ... here.
	* include/errors.h, include/windows.h: #include_next <windows.h>.
	* include/ntos.h: Include "ntos/haltypes.h", "ntos/obtypes.h", and
	"ntos/tss.h".
	* include/ddk/defines.h (EXPORTED, IMPORTED): Move to
	include/ntos/types.h.
	* include/ddk/exfuncs.h, include/ddk/mmtypes.h, include/ntos/except.h,
	include/ntos/file.h, include/ole32/guiddef.h, include/win32k/color.h,
	lib/msafd/include/debug.h, lib/user32/include/debug.h,
	lib/ws2_32/include/debug.h, lib/ws2help/debug.h,
	ntoskrnl/include/internal/debug.h, ntoskrnl/ke/i386/bthread.S,
	ntoskrnl/rtl/error.c: Don't define macros if previously defined.
	* include/ddk/halfuncs.h: Include <ntos/haltypes.h>.
	* include/ddk/iotypes.h: Include <ntos/obtypes.h>.
	* include/ddk/ketypes.h (MB_FLAGS_*, LOADER_MODULE, ADDRESS_RANGE,
	LOADER_PARAMETER_BLOCK): Move to include/ntos/types.h.
	* include/ddk/ntddk.h: #include_next <ddk/ntddk.h>.
	* include/ddk/ntifs.h: #include_next <ddk/ntifs.h>.
	* include/napi/shared_data.h (SharedUserData): Undefine before defining.
	* include/ntos/rtl.h (RtlUpcaseUnicodeString): Correct prototype.
	* include/ntos/zwtypes.h (THREAD_STATE): Add.
	* lib/ntdll/rtl/unicode.c (RtlUpcaseUnicodeString): Match new prototype.
	* ntoskrnl/rtl/unicode.c (RtlUpcaseUnicodeString): Ditto.
	* lib/string/Makefile: Include Makefile.$(ARCH). Don't include
	makefile.$(ARCH).
	* ntoskrnl/ex/sysinfo.c, ntoskrnl/include/internal/ntoskrnl.h,
	* ntoskrnl/include/internal/ob.h, ntoskrnl/ob/handle.c: Include <ntos.h>.
	* ntoskrnl/ke/i386/syscall.S: Don't include <ddk/defines.h>.
	(KernelMode, UserMode): Define.
	* ntoskrnl/ke/i386/stkswitch.S, ntoskrnl/ke/i386/tskswitch.S,
	ntoskrnl/ke/i386/v86m_sup.S: Include <ntos/tss.h>

svn path=/trunk/; revision=4789
2003-05-28 18:09:10 +00:00
Eric Kohl
91987ce5dc Convert Registry to Unicode. Part 2.
svn path=/trunk/; revision=4788
2003-05-28 16:09:51 +00:00
Eric Kohl
80344c77a6 Use Unicode strings in key objects.
svn path=/trunk/; revision=4787
2003-05-28 12:04:17 +00:00
Eric Kohl
be3c31a2c2 Updated registry key flags. Added missing fix.
svn path=/trunk/; revision=4786
2003-05-27 23:09:11 +00:00
Hartmut Birr
cf33a9ca6e - Forgot icon.ico for icontest.
svn path=/trunk/; revision=4785
2003-05-27 21:02:21 +00:00
Eric Kohl
00d19927ae Implemented spinlock and event functions.
svn path=/trunk/; revision=4784
2003-05-27 20:59:24 +00:00
Hartmut Birr
9bcbb3492c - Added icontest.
svn path=/trunk/; revision=4783
2003-05-27 20:57:11 +00:00
Hartmut Birr
07d2bba441 - Added icontest (contributed by Tim Jobling).
svn path=/trunk/; revision=4782
2003-05-27 20:51:39 +00:00
Hartmut Birr
6796cee74b - Removed files for functions which are used from the string library.
svn path=/trunk/; revision=4781
2003-05-27 20:17:04 +00:00
Hartmut Birr
8761554070 - Link string library to msvcrt.
svn path=/trunk/; revision=4780
2003-05-27 20:07:53 +00:00
Hartmut Birr
7944ef0129 *** empty log message ***
svn path=/trunk/; revision=4779
2003-05-27 20:02:20 +00:00
Hartmut Birr
d9ee350ffd - Link string library to crtdll.
svn path=/trunk/; revision=4778
2003-05-27 20:01:30 +00:00
Hartmut Birr
fac54407bb *** empty log message ***
svn path=/trunk/; revision=4777
2003-05-27 19:49:14 +00:00
Hartmut Birr
3d7e102b13 - Removed strcat, strchr, strcmp, strcpy, strlen, strncat, strncmp, strncpy and strrchr.
svn path=/trunk/; revision=4776
2003-05-27 19:41:10 +00:00
Hartmut Birr
7a6772f94b - Link the string library to ntdll.
svn path=/trunk/; revision=4775
2003-05-27 19:40:20 +00:00
Hartmut Birr
2ba9015708 *** empty log message ***
svn path=/trunk/; revision=4774
2003-05-27 19:28:40 +00:00
Hartmut Birr
7297d83e9f - Removed wcscat, wcschr, wcscmp, wcscpy, wcslen, wcsncat, wcsncmp, wcsncpy and wcsrchr.
svn path=/trunk/; revision=4773
2003-05-27 19:24:04 +00:00
Hartmut Birr
5ae840005e - Removed strcat, strchr, strcmp, strcpy, strlen, strncat, strncmp, strncpy and strrchr.
svn path=/trunk/; revision=4772
2003-05-27 19:22:42 +00:00
Hartmut Birr
ce562b2ba0 - Linked the string library to ntoskrnl.
svn path=/trunk/; revision=4771
2003-05-27 19:21:14 +00:00
Hartmut Birr
e44c02e52b - Added a one rule for static libraries.
- Added static string library.

svn path=/trunk/; revision=4770
2003-05-27 19:02:26 +00:00
Hartmut Birr
34cc922d57 - Added static string library.
svn path=/trunk/; revision=4769
2003-05-27 18:58:15 +00:00
Eric Kohl
28c98fe9b4 Get codepage and casetable files from txtsetup.sif.
svn path=/trunk/; revision=4768
2003-05-27 14:13:41 +00:00
Eric Kohl
1aa2d79e1d Added NLS information.
svn path=/trunk/; revision=4767
2003-05-27 13:59:53 +00:00
Eric Kohl
d5533a3ed7 Updated registry key flags. 0x20 means packed key name.
svn path=/trunk/; revision=4766
2003-05-27 13:58:26 +00:00
Gé van Geldorp
dfe58a3a5c Implement OffsetViewportOrgEx()
svn path=/trunk/; revision=4765
2003-05-27 07:23:05 +00:00
Gé van Geldorp
3c0df75f7c Fixes to UpdateRegion code, implement GetUpdateRgn() and ValidateRgn()
svn path=/trunk/; revision=4764
2003-05-26 18:52:37 +00:00
Richard Campbell
bae47d7a0f Install MultiWin test
svn path=/trunk/; revision=4763
2003-05-26 10:53:37 +00:00
Richard Campbell
7a4f224456 Syncing my changes with tree
svn path=/trunk/; revision=4762
2003-05-26 10:52:15 +00:00
Richard Campbell
2d32e95fa9 Simple Multiple Window Test
svn path=/trunk/; revision=4761
2003-05-26 10:51:20 +00:00
Hartmut Birr
ab5ce5a163 - Fixed the releasing of cache segments on error in ReadCacheSegment/CcCopyWrite/CcCopyRead.
svn path=/trunk/; revision=4760
2003-05-25 21:50:18 +00:00
Hartmut Birr
10acad2b71 - Check if a file object is on the close list and remove it from the list in CcRosRefernceCache.
- Sort the cache segments for the bcb by offsets.

svn path=/trunk/; revision=4759
2003-05-25 21:49:04 +00:00
Eric Kohl
939d5316af - Added .inf-file parser
- SetupLdr loads and uses txtsetup.sif
- Removed .hiv (text-hive) parser

svn path=/trunk/; revision=4758
2003-05-25 21:20:43 +00:00
Eric Kohl
c028a8b5e0 Added OsLoadOptions (kernel command line).
svn path=/trunk/; revision=4757
2003-05-25 21:14:53 +00:00
Richard Campbell
f8758cae49 Small visual fixes, more coming soon.
svn path=/trunk/; revision=4756
2003-05-25 21:05:38 +00:00
Eric Kohl
9526676d67 Removed unused NLS files.
svn path=/trunk/; revision=4755
2003-05-25 17:17:52 +00:00
Eric Kohl
c2b48451a9 Fixed memory-allocation for bins while loading hives.
svn path=/trunk/; revision=4754
2003-05-25 17:16:09 +00:00
Casper Hornstrup
49729ea1ab 2003-05-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Fix typo.

svn path=/trunk/; revision=4753
2003-05-25 14:26:28 +00:00
Casper Hornstrup
419b1c5759 2003-05-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Don't install system.hiv. Install fonts and nls directory.
	* tools/rcopy.c (copy_file, copy_directory, is_directory): New functions.

svn path=/trunk/; revision=4752
2003-05-25 11:33:58 +00:00
Richard Campbell
ca127f5069 Several small bug fixes, nothing important
svn path=/trunk/; revision=4751
2003-05-25 10:53:05 +00:00
Hartmut Birr
2602dc4fec - Fixed the parameters in two calls to MEMCHECK.
svn path=/trunk/; revision=4750
2003-05-24 17:26:39 +00:00
Hartmut Birr
01a3fd2a8b - Initialize TableBase in PsCreatePeb.
svn path=/trunk/; revision=4749
2003-05-24 17:14:41 +00:00
Eric Kohl
763c776f24 Optimized hive import.
Removed text-hive support.
Removed text-hives.

svn path=/trunk/; revision=4748
2003-05-24 13:19:15 +00:00
Richard Campbell
9b91b02ef8 Actually, compile errors, let me fix first.
svn path=/trunk/; revision=4747
2003-05-23 23:12:02 +00:00
Richard Campbell
34855b5f6b Okay, NtUserFineWindowEx bug fixed.
svn path=/trunk/; revision=4746
2003-05-23 23:08:03 +00:00
Eric Kohl
6528cf1fdc Add experimental jamfiles (still buggy).
svn path=/trunk/; revision=4745
2003-05-23 22:43:03 +00:00
Richard Campbell
04572bc608 - Implemented FindWindowEx*() (it was already implemented in subsys\win32k\ntuser\window.c with the exception of a small bug, but wasn't mapped to by user32??) FIXED
- FindWindow() is also implemented, though not properly. (Someone has it set up to use FindWindowEx, this isn't the proper way to do this...FindWindow doesn't search children...)

svn path=/trunk/; revision=4744
2003-05-23 17:07:12 +00:00
Richard Campbell
832463b116 Implement GetDesktopWindow()
svn path=/trunk/; revision=4743
2003-05-23 16:44:12 +00:00
Steven Edwards
c3234a4ad8 Patch by Tim Jobling - Fix unhandled exception in bitblt test.
svn path=/trunk/; revision=4742
2003-05-22 21:41:20 +00:00
Gé van Geldorp
fe8db53413 Add DebugOut device driver
svn path=/trunk/; revision=4741
2003-05-22 15:11:29 +00:00
Gunnar Dalsnes
5882d8441a -Dereference thread
-Reduce/fix handle-less-timer bitmap

svn path=/trunk/; revision=4740
2003-05-22 02:07:22 +00:00
Gunnar Dalsnes
e76a3a5ab0 -Fixed FileObject/Event dereferencing at IRP completion problem
-Reworked IRP completion rotuines
-io/irp.c: Reworked IoIsOperationSynchronous
-afd/opnclose.c: Fixed bug where CCB was freed twice
-io/create.c: changed Lock event in FileObject from NotificationEvent to SynchronizationEvent

svn path=/trunk/; revision=4739
2003-05-22 00:47:04 +00:00
Gé van Geldorp
5af5f51b74 - Implement WaitMessage()
- Rearrange message code to avoid code duplication
- Fix bugs, mainly in signaling new messages
- Include Hartmut's fix of 2003/03/26

svn path=/trunk/; revision=4738
2003-05-21 22:58:43 +00:00
Brian Palmer
f152732d04 Lot's of fixes for the FAT12/16 boot sector code.
svn path=/trunk/; revision=4737
2003-05-21 20:28:13 +00:00
Eric Kohl
faa8f94f27 Use NLS-Section in user-mode.
svn path=/trunk/; revision=4736
2003-05-21 16:11:02 +00:00
Eric Kohl
17ad474bcb Minor update
svn path=/trunk/; revision=4735
2003-05-21 16:09:30 +00:00
Eric Kohl
d043a91017 Removed unused NLS stuff.
Cleaned-up PEB initialization.

svn path=/trunk/; revision=4734
2003-05-21 15:06:33 +00:00
Hartmut Birr
aa2f971da2 - Fixed the calculation of the TopAddress in MmFindGapTopDown.
svn path=/trunk/; revision=4733
2003-05-20 18:56:25 +00:00
Eric Kohl
562eeb5ceb Finished kernel-mode part of NLS section implementation.
svn path=/trunk/; revision=4732
2003-05-20 14:38:05 +00:00
Eric Kohl
74592b5432 Implemented NDIS timer functions.
svn path=/trunk/; revision=4731
2003-05-20 13:00:41 +00:00
Gé van Geldorp
ecd7b2f8f3 Handle SetWindowText() across Unicode/Ansi conversions
svn path=/trunk/; revision=4730
2003-05-19 20:11:17 +00:00
guido
c1cf7ec993 commented out some duplicate defines
svn path=/trunk/; revision=4729
2003-05-19 19:42:30 +00:00
Gé van Geldorp
388f86d19c Implement GetSysColor()
svn path=/trunk/; revision=4728
2003-05-19 18:36:43 +00:00
Hartmut Birr
58781325ac - Release the rmap list lock also, if the address is in kernel space.
svn path=/trunk/; revision=4727
2003-05-19 15:58:09 +00:00
Eric Kohl
7e921a40c1 Implemented NLS file import.
svn path=/trunk/; revision=4726
2003-05-19 14:39:09 +00:00
Eric Kohl
e76752c103 Load NLS files.
Add basic support for installing ReactOS from floppy disks.

svn path=/trunk/; revision=4725
2003-05-19 09:58:50 +00:00
Eric Kohl
031f55682e Removed obsolete settings.
svn path=/trunk/; revision=4724
2003-05-19 09:51:34 +00:00
Gé van Geldorp
7bd3409f53 Recompute scrollbar positions in case window changed size
svn path=/trunk/; revision=4723
2003-05-18 22:11:41 +00:00
Gé van Geldorp
94571478d5 Send WM_NCPAINT and WM_ERASEBKGND messages when making a window visible
svn path=/trunk/; revision=4722
2003-05-18 22:09:08 +00:00
Gé van Geldorp
15073977b6 Remove WINDOWOBJECT_NEED_BEGINPAINT flag since calling BeginPaint in a
WM_PAINT handler is not strictly required

svn path=/trunk/; revision=4721
2003-05-18 22:07:02 +00:00
guido
97c3fae178 proper CFLAGS when DBG=0
svn path=/trunk/; revision=4720
2003-05-18 21:17:33 +00:00
Eric Kohl
f1d44624af Fixed wrong argument order.
svn path=/trunk/; revision=4718
2003-05-18 19:37:20 +00:00
Emanuele Aliberti
b44dda2928 I forgot to remove debug code in MouseGDICallBack.
svn path=/trunk/; revision=4717
2003-05-18 19:30:55 +00:00
Emanuele Aliberti
c0bb24f7ad Fix for a bug I introduced declaring FASTCALL MouseGDICallBack.
svn path=/trunk/; revision=4716
2003-05-18 19:21:24 +00:00
Emanuele Aliberti
fec738c6cb WIN32K code cleanup.
Prefer FASTCALL/STDCALL in kernel mode code.
Make compiler check function signatures.
Tested under BOCHS 2.0.2 + FreeDOS + loadros.

svn path=/trunk/; revision=4715
2003-05-18 17:22:31 +00:00
Emanuele Aliberti
982fd1f286 WIN32K code cleanup.
Prefer FASTCALL/STDCALL in kernel mode code.
Make compiler check function signatures.
Tested under BOCHS 2.0.2 + FreeDOS + loadros.

svn path=/trunk/; revision=4714
2003-05-18 17:16:18 +00:00
Emanuele Aliberti
6955ff7e6e RECT *is* RECTL
svn path=/trunk/; revision=4713
2003-05-18 17:12:11 +00:00
Eric Kohl
df24b9bb9a Add known DLLs.
Install NLS files.

svn path=/trunk/; revision=4712
2003-05-18 15:22:52 +00:00
Eric Kohl
e35e42758a Remove the INSTALL directory of the Boot-CD.
svn path=/trunk/; revision=4711
2003-05-18 15:21:30 +00:00
Eric Kohl
2cd0a85f57 Do not overwrite existing hive files.
Add hive header checksum.

svn path=/trunk/; revision=4710
2003-05-18 13:50:58 +00:00
Eric Kohl
bcef4d4f0e Fixed .inf parser to accept DOS and *nix files.
svn path=/trunk/; revision=4709
2003-05-18 12:50:17 +00:00
Eric Kohl
e568d2b165 Parse DOS and *nix text files correctly.
svn path=/trunk/; revision=4708
2003-05-18 12:12:07 +00:00
Gé van Geldorp
19c81674a3 Implement SetWindowPos()
svn path=/trunk/; revision=4707
2003-05-18 07:51:41 +00:00
Gé van Geldorp
7ba70583b9 Generate WM_PAINT messages in PeekMessage()
svn path=/trunk/; revision=4706
2003-05-18 06:47:19 +00:00
Eric Kohl
397169c1a8 Added new MEMORY_AREA_NO_ACCESS type.
Make the top and bottom 64KB of process memory space and the 60KB above the shared user page from unaccessible.
Introduced MmSystemRangeStart.

svn path=/trunk/; revision=4705
2003-05-17 19:16:39 +00:00
Eric Kohl
e1c437438c Implemented Top-Down-Allocator.
svn path=/trunk/; revision=4704
2003-05-17 15:29:50 +00:00
Gé van Geldorp
c865c87d30 When sending WM_WINDOWPOSCHANGING and WM_WINDOWPOSCHANGED messages from
Win32k, make sure the WINDOWPOS structure referenced by lParam is located
in user space

svn path=/trunk/; revision=4703
2003-05-17 14:37:23 +00:00
Gé van Geldorp
b41ecb619a When sending WM_WINDOWPOSCHANGING and WM_WINDOWPOSCHANGED messages from
Win32k, make sure the WINDOWPOS structure referenced by lParam is located
in user space

svn path=/trunk/; revision=4702
2003-05-17 14:30:28 +00:00
Hartmut Birr
9ad263f04e - Reference/Dereference the process object only for adresses within user space.
svn path=/trunk/; revision=4701
2003-05-17 13:46:05 +00:00
Hartmut Birr
f5048a6a3b - Initialize the page directory for a new process from global kernel page directory in MmCopyMmInfo.
- Check for kernel or user space in MmIsAccessedAndResetAcessPage/MmSetCleanPage/MmSetDirtyPage.
- Added InitGlobalKernelPageDirectory.

svn path=/trunk/; revision=4700
2003-05-17 13:45:04 +00:00
Hartmut Birr
fd4d79b7fd - Added some checks for kernel or user space.
- Added MmMapViewInSystemSpace/MmUnmapViewInSystemSpace (implemented by Eric).

svn path=/trunk/; revision=4699
2003-05-17 13:43:44 +00:00
Hartmut Birr
8e68ec6bf2 - Marked the initial kernel space as mapped.
svn path=/trunk/; revision=4698
2003-05-17 13:42:56 +00:00
Gé van Geldorp
8674a82d87 Implement SetWindowLong() and refine implementation of GetWindowLong()
svn path=/trunk/; revision=4697
2003-05-17 13:41:31 +00:00
Hartmut Birr
f5aebd93f1 - Free memory for boot load files, except ntoskrnl.exe and hal.dll.
svn path=/trunk/; revision=4696
2003-05-17 13:40:03 +00:00
Gé van Geldorp
61b19adbb6 Implement SetWindowLong() and refine implementation of GetWindowLong()
svn path=/trunk/; revision=4695
2003-05-17 09:20:23 +00:00
Casper Hornstrup
ae351cde87 2003-05-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/io/irp.c (IofCallDriver): Don't reference FileObject.

svn path=/trunk/; revision=4694
2003-05-17 00:25:39 +00:00
Emanuele Aliberti
79780a3bcd KERNEL32.OpenConsoleW interface changed a proposed by KJK:Hyperion.
svn path=/trunk/; revision=4693
2003-05-16 20:33:15 +00:00
Gé van Geldorp
1e77c45603 Convert from Unicode to ANSI in GetTextMetricsA()
svn path=/trunk/; revision=4692
2003-05-16 18:55:27 +00:00
Eric Kohl
389d19a1e3 Updated NLS function signature.
Reverted NLS section mapping because of unability to fix the section mapping code.

svn path=/trunk/; revision=4691
2003-05-16 17:38:41 +00:00
Eric Kohl
14e53ad5b6 Accept .nls files.
svn path=/trunk/; revision=4690
2003-05-16 15:37:50 +00:00
Gé van Geldorp
7295ea3de1 Added Bitstream Vera fonts and removed accidental loading of Arial font
svn path=/trunk/; revision=4689
2003-05-16 15:10:10 +00:00
Casper Hornstrup
270cb3a0ec 2003-05-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/io/cleanup.c (IopCompleteRequest1, IoSecondStageCompletion):
	Don't dereference Irp->UserEvent here.
	* ntoskrnl/io/irp.c (IofCallDriver): Reference FileObject.
	* ntoskrnl/io/rw.c (IopReadWriteIoComplete): New function.
	* (NtReadFile, NtWriteFile): Set I/O completion routine if using an
	event that is under object manager control.

svn path=/trunk/; revision=4688
2003-05-16 12:03:11 +00:00
Gé van Geldorp
f728ec4f27 Fixed typo in TEXTMETRICSW
svn path=/trunk/; revision=4687
2003-05-16 06:23:14 +00:00
Eric Kohl
366cd995f3 Fixed crash upon shutdown.
svn path=/trunk/; revision=4686
2003-05-15 13:34:37 +00:00
Eric Kohl
556a38e0c0 Implemented NLS section (not usable yet) and updated NLS functions.
svn path=/trunk/; revision=4685
2003-05-15 11:07:51 +00:00
Eric Kohl
54aa3104d4 Don't crash ReactOS if DLL-Preloading fails.
svn path=/trunk/; revision=4684
2003-05-14 21:27:53 +00:00
Eric Kohl
9fef3a18ee Implemented MmMapViewInSystemSpace() and MmUnmapViewInSystemSpace().
svn path=/trunk/; revision=4683
2003-05-14 10:52:46 +00:00
Casper Hornstrup
10f9688a17 2003-05-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/Makefile (OBJECTS_IO): Add io/rawfs.o.
	* ntoskrnl/cm/registry.c (CmiInitHives): Check status using NT_SUCCESS().
	* ntoskrnl/include/internal/io.h (RawFsIsRawFileSystemDeviceObject,
	RawFsDriverEntry): Add prototypes.
	* ntoskrnl/include/internal/ntoskrnl.h (IoInit2): Add prototype.
	* ntoskrnl/io/device.c (IopCreateDriverObject): Handle unnamed services.
	* ntoskrnl/io/fs.c (IoMountVolume): Handle mounting of raw volumes.
	(IoRegisterFileSystem): Add registered filesystem device objects at the
	head of the list.
	* ntoskrnl/io/iomgr.c (IoInit2): New function.
	* ntoskrnl/ke/main.c (ExpInitializeExecutive): Call IoInit2().
	* ntoskrnl/mm/section.c (MmQuerySectionView): Check return value of call
	to MmFindRegion().
	* ntoskrnl/io/rawfs.c: New file.

svn path=/trunk/; revision=4682
2003-05-13 21:28:26 +00:00
Eric Kohl
107725f820 Implemented dll preloading and mapping.
svn path=/trunk/; revision=4681
2003-05-12 19:47:53 +00:00
Jason Filby
b5b83b1d47 UNIMPLEMENTED put in unimplemented functions
svn path=/trunk/; revision=4680
2003-05-12 19:30:00 +00:00
Gé van Geldorp
017f478b25 Implemented IsWindow()
svn path=/trunk/; revision=4679
2003-05-12 18:52:14 +00:00
Eric Kohl
484cf7d5bf Directory objects must be able to parse a 'remaining path' that does not start with a backslash.
This is needed to support relative path names in the object tree.

svn path=/trunk/; revision=4678
2003-05-12 13:59:09 +00:00
Eric Kohl
c0f1cf6933 Added ability to open a file using a handle to a directory file and a relative path name.
Tested on NT4.

svn path=/trunk/; revision=4677
2003-05-12 10:00:46 +00:00
Eric Kohl
64ca9e3c34 Fixed a bug which skipped the first letter of a relative object path name.
svn path=/trunk/; revision=4676
2003-05-11 19:41:22 +00:00
Casper Hornstrup
0c6f80f830 2003-05-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/fslib/vfatlib/vfatlib.c (VfatFormat): Set hidden sectors.
	* ntoskrnl/io/xhaldrv.c (xHalIoWritePartitionTable): Implement support
	for primary partitions.
	* subsys/system/usetup/partlist.c (CreateSelectedPartition): Compute
	hidden sectors.
	* subsys/system/usetup/usetup.c (SelectPartitionPage,
	DrawFileSystemList, FormatPartitionPage): Don't use conditional define
	ENABLE_FORMAT.
	(CreateFileSystemList): Don't draw "Keep current file system" option if
	formatting is needed.
	(SelectFileSystemPage): Figure out if partition must be formatted.
	* subsys/system/usetup/usetup.h (ENABLE_FORMAT): Remove.
	(FILE_SYSTEM_LIST): Add ForceFormat field.

svn path=/trunk/; revision=4675
2003-05-11 18:31:09 +00:00
Casper Hornstrup
67e99cf820 2003-05-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/windows/font.c (TEXT_PathEllipsify, TEXT_Reprefix): Fix
	unsigned/signed warning.
	* ntoskrnl/mm/pagefile.c (MmWriteToSwapPage, MmReadFromSwapPage,
	NtCreatePagingFile): Ditto.

svn path=/trunk/; revision=4674
2003-05-11 15:18:01 +00:00
Jason Filby
5bbb8860e3 Fixed return values of W32kArc and W32kMoveToEx
svn path=/trunk/; revision=4673
2003-05-11 12:44:09 +00:00
Jason Filby
76c3289be5 NtUserSendMessageCallback is UNIMPLEMENTED
svn path=/trunk/; revision=4672
2003-05-11 12:29:41 +00:00
Gé van Geldorp
f507252aa5 Implement DrawTextA()/DrawTextW() (mostly copied from Wine)
svn path=/trunk/; revision=4671
2003-05-11 11:12:00 +00:00
Jason Filby
6c2e6e0aa5 NtUserPostMessage: use a switch statement instead of if; WM_NULL: ignore message
svn path=/trunk/; revision=4670
2003-05-11 10:47:33 +00:00
Hartmut Birr
7a801d3bd8 - Implemented FSCTL_GET_RETRIVAL_POINTERS.
- Call the storage driver for read/write requests to pagefiles directly.

svn path=/trunk/; revision=4669
2003-05-11 09:51:26 +00:00
Hartmut Birr
710b4c97a6 - Retrieve the cluster chunks for a pagefile from fsd and use this values for reading/writing to the pagefile.
svn path=/trunk/; revision=4668
2003-05-11 09:48:57 +00:00
Eric Kohl
f99473b691 Display human readable device descriptions for generic PnP-IDs.
svn path=/trunk/; revision=4667
2003-05-11 09:42:40 +00:00
Hartmut Birr
3350303771 - Changed data pointers from signed to unsigned char.
svn path=/trunk/; revision=4666
2003-05-11 07:44:14 +00:00
Gé van Geldorp
8d4eee3aab Check for messages sent by other threads
svn path=/trunk/; revision=4665
2003-05-10 21:47:04 +00:00
Emanuele Aliberti
780c1a105d Right description.
svn path=/trunk/; revision=4664
2003-05-10 10:31:32 +00:00
Emanuele Aliberti
9fa1fd384e Names fixed.
svn path=/trunk/; revision=4663
2003-05-10 10:30:18 +00:00
Eric Kohl
3e708e6c79 Detect hardware before ntoskrnl.exe will be loaded.
svn path=/trunk/; revision=4662
2003-05-10 09:26:59 +00:00
Eric Kohl
7f6db59b55 - Fixed counting the number of available harddisks for broken BIOSes.
- Enable/disable the display of read error messages.

svn path=/trunk/; revision=4661
2003-05-10 09:25:35 +00:00
Eric Kohl
8e23b88b00 Removed duplicate output of used disk space in the summary.
svn path=/trunk/; revision=4660
2003-05-09 21:58:05 +00:00
Eric Kohl
dbf90936aa Added a little PnP-BIOS data dumper.
svn path=/trunk/; revision=4659
2003-05-08 18:55:09 +00:00
Eric Kohl
d882e9a38b Reworked and fixed most of the CPU and PnP code.
svn path=/trunk/; revision=4658
2003-05-08 18:35:46 +00:00
Gé van Geldorp
77d0973eaa Only update page dir for page containing stack
svn path=/trunk/; revision=4657
2003-05-08 05:26:36 +00:00
Gé van Geldorp
5966a211e9 Don't let page containing stack disappear when switching memory spaces
svn path=/trunk/; revision=4656
2003-05-07 21:41:03 +00:00
Aleksey Bragin
74c0e6eb1c Added EthFilterDprIndicateReceive(), EthFilterDprIndicateReceiveComplete() functions, since Realtek 8139 network card driver imports them. Their contents is "UNIMPLEMENTED". This makes ReactOS at least gracefully discarding this driver (and not crashing with BugCheck).
svn path=/trunk/; revision=4655
2003-05-07 19:33:14 +00:00
Aleksey Bragin
1ee3211646 Uncommented exporting of EthFilterDprIndicateReceive (and ReceiveComplete)
svn path=/trunk/; revision=4654
2003-05-07 19:09:48 +00:00
Eric Kohl
2b3487d3d6 Removed unix newlines
svn path=/trunk/; revision=4653
2003-05-07 18:45:56 +00:00
Eric Kohl
e0352540ed Moved test sound.
svn path=/trunk/; revision=4652
2003-05-06 19:01:03 +00:00
Eric Kohl
df18b87eab Added PnP-BIOS detection.
svn path=/trunk/; revision=4651
2003-05-06 16:36:42 +00:00
Eric Kohl
e09ba35e8c Fixed wrong types in printf strings.
svn path=/trunk/; revision=4650
2003-05-06 08:45:10 +00:00
Eric Kohl
d13fee86d3 Added emergency console dummy page.
Removed unused code.

svn path=/trunk/; revision=4649
2003-05-06 07:17:52 +00:00
Gé van Geldorp
4d7b93456f Fixes to GetFullPathNameA and RtlGetFullPathName_U by Tim Jobling
svn path=/trunk/; revision=4648
2003-05-06 06:49:57 +00:00
Casper Hornstrup
4ac8de4791 2003-05-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/helper.mk: Kill implicit rule ".o".

svn path=/trunk/; revision=4647
2003-05-05 19:59:21 +00:00
Emanuele Aliberti
38056aff4c KERNEL32.OpenConsoleW() implemented.
svn path=/trunk/; revision=4646
2003-05-05 19:58:27 +00:00
Steven Edwards
e8ebc1da08 build wm_paint and bitblt tests
svn path=/trunk/; revision=4645
2003-05-05 16:40:38 +00:00
Steven Edwards
65e14fea99 Add install for wm_paint and bitblt test
svn path=/trunk/; revision=4644
2003-05-05 16:40:05 +00:00
Gé van Geldorp
9f2567f198 Allow sending of messages from non-GUI threads
svn path=/trunk/; revision=4643
2003-05-04 15:42:21 +00:00
Gé van Geldorp
e16ddc6bdf Clean up debugging stuff and silence debug messages
svn path=/trunk/; revision=4642
2003-05-04 15:41:40 +00:00
Gé van Geldorp
d82ce80d6c (Partial) implementation of W32kGetDIBits()
svn path=/trunk/; revision=4641
2003-05-03 14:38:11 +00:00
Gé van Geldorp
e6f39d93f0 Fix GetDC(NULL), not complete yet
svn path=/trunk/; revision=4640
2003-05-03 14:12:14 +00:00
Gé van Geldorp
158fda092b Implement GetDeviceCaps()
svn path=/trunk/; revision=4639
2003-05-03 13:39:06 +00:00
Eric Kohl
8e7f49204c Added .cvsignore files. Patch by Mihcael Fritscher.
svn path=/trunk/; revision=4638
2003-05-03 13:11:39 +00:00
Eric Kohl
98ed7cd2b1 Started work on second stage setup.
svn path=/trunk/; revision=4636
2003-05-02 18:12:38 +00:00
Gé van Geldorp
ec67470a38 Silence CVS
svn path=/trunk/; revision=4635
2003-05-02 07:57:04 +00:00
Gé van Geldorp
6644846375 Implemented NtUserRegisterWindowMessage
svn path=/trunk/; revision=4634
2003-05-02 07:52:33 +00:00
Gé van Geldorp
8eaabc5146 Properly clean up terminated threads
svn path=/trunk/; revision=4633
2003-05-01 22:00:31 +00:00
Eric Kohl
8cbf35a0f7 Get timeout value from the registry or use default timeout.
svn path=/trunk/; revision=4632
2003-05-01 17:50:35 +00:00
Eric Kohl
85c99dd8aa Get timeout value from the registry.
svn path=/trunk/; revision=4631
2003-05-01 17:49:23 +00:00
Eric Kohl
62d7fe29c6 Added CPU detection for multiprocessor systems.
svn path=/trunk/; revision=4630
2003-05-01 15:46:06 +00:00
Gé van Geldorp
45661acd89 C++ runtime support, mostly copied from Wine
svn path=/trunk/; revision=4629
2003-04-30 22:07:30 +00:00
Gé van Geldorp
412a23aa10 Changed some DbgPrint's to DPRINT's
svn path=/trunk/; revision=4628
2003-04-30 22:04:12 +00:00
Gé van Geldorp
70dce1ee4b Added stubs for keybd_event() and mouse_event()
svn path=/trunk/; revision=4627
2003-04-30 22:03:00 +00:00
Gé van Geldorp
340ee78475 Fix SetThreadPriority()
svn path=/trunk/; revision=4626
2003-04-30 22:00:41 +00:00
Gé van Geldorp
ad70cd4bbe Implement ThreadBasePriority case for NtSetInformationThread()
svn path=/trunk/; revision=4625
2003-04-30 21:56:22 +00:00
Gé van Geldorp
e70e534a2e Added imm32 and winspool
svn path=/trunk/; revision=4624
2003-04-30 21:06:02 +00:00
Gé van Geldorp
deba825487 Install winspool.drv
svn path=/trunk/; revision=4623
2003-04-30 20:55:00 +00:00
Gé van Geldorp
4c59119a88 Fully stubbed winspool.drv (Wine printing is too different from ReactOS
to use that one)

svn path=/trunk/; revision=4622
2003-04-30 20:44:06 +00:00
Eric Kohl
5fd8b65697 Fixed disk geometry detection bug.
Added CPU detection for uniprocessor systems.

svn path=/trunk/; revision=4621
2003-04-30 18:10:46 +00:00
Gé van Geldorp
f0d4e3c543 Zero-initialze TEB for new threads
svn path=/trunk/; revision=4620
2003-04-30 15:11:31 +00:00
Eric Kohl
43ab2f61b4 - Added DiskGetExtendedDriveParameters()
- Moved hardware detection into the arch directory
- Rewrote/completed harddisk detection
- Removed PCI and IDE detection
- Added basic CPU detection

svn path=/trunk/; revision=4619
2003-04-30 14:08:04 +00:00
Gé van Geldorp
78a50b48b4 All IsBadXxxxPtr return values were backward (TRUE when they should be
FALSE and vv.)

svn path=/trunk/; revision=4618
2003-04-29 22:39:57 +00:00
Eric Kohl
e678b87637 Disabled debug messages.
svn path=/trunk/; revision=4617
2003-04-29 19:49:17 +00:00
Eric Kohl
23f8e2083b Implemented disk geometry update for BIOS drives.
Disk manager handling is not implemented yet.

svn path=/trunk/; revision=4616
2003-04-29 18:06:26 +00:00
KJK::Hyperion
38a1364aae - new statically linked library ROSRTL, for code to be shared among system DLLs
- user-mode thread creation code moved to ROSRTL
 - user-mode thread context initialization code fixed
 - LdrInitializeThunk() breakin stub fixed

svn path=/trunk/; revision=4615
2003-04-29 02:17:01 +00:00
Casper Hornstrup
6247d82cc7 2003-04-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile (DLLS): Add epsapi, psapi and wsock32.
	* lib/ntdll/ldr/utils.c (LdrPerformRelocations): Handle the case where a
	relocation crosses a page boundary.
	(LdrFixupImports): Use image load address in calculatation of import
	address list.

svn path=/trunk/; revision=4614
2003-04-28 21:32:10 +00:00
Eric Kohl
e97422786f Wiped the partition sector structure mess away.
Made sector read and write routines more flexible.
Fixed disk signature reading bug.

svn path=/trunk/; revision=4613
2003-04-28 21:15:07 +00:00
Casper Hornstrup
37f29ead4b 2003-04-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/fslib/vfatlib/vfatlib.h: New file.
	* subsys/system/usetup/format.c: Ditto.
	* subsys/system/usetup/format.h: Ditto.
	* lib/fslib/vfatlib/vfatlib.c (GetShiftCount): Define.
	(VfatWriteBootSector, VfatWriteFsInfo, VfatWriteFAT,
	VfatWriteRootDirectory): New function.
	(VfatFormat): Implement.
	* subsys/system/usetup/bootsup.c: (InstallFat32BootCodeToFile): Use
	0x0000 as marker to disable backup boot sector.
	(InstallFat32BootCodeToDisk): Add lower 8-bit to BackupBootSector.
	Also treat 0x0000 as no backup boot sector is available.
	* subsys/system/usetup/makefile (TARGET_SDKLIBS): Define.
	(TARGET_OBJECTS): Add format.o.
	* subsys/system/usetup/partlist.c (AddPartitionList): Initialize
	PartNumber field.
	(GetSelectedPartition): Set PartEntryNumber correctly.
	(CreateSelectedPartition): Write partition information to disk.
	(DeleteSelectedPartition): New function.
	* subsys/system/usetup/partlist.h (PARTDATA): Add field CreatePartition.
	(DeleteSelectedPartition): Prototype.
	* subsys/system/usetup/usetup.c (ConfirmDeletePartition): New function.
	(SelectPartitionPage): Support deletion of partition.
	(FormatPartitionPage): Support formatting of partition.

svn path=/trunk/; revision=4612
2003-04-28 19:44:13 +00:00
Aleksey Bragin
55300ebbf2 Added DbgPrint-notification for stubbed function KeSetAffinityThread()
svn path=/trunk/; revision=4611
2003-04-28 14:32:36 +00:00
Aleksey Bragin
331899f621 Added notification for partly-implemented NdisMSetAttributesEx()
svn path=/trunk/; revision=4610
2003-04-28 14:31:47 +00:00
Eric Kohl
29a610ad56 Use disk signature or MBR checksum to find the right disk.
Add missing device objects to device extensions.

svn path=/trunk/; revision=4609
2003-04-28 11:05:34 +00:00
Gé van Geldorp
ffebf21131 RegionSize in MEMORY_BASIC_INFORMATION is relative to BaseAddress, not to
AllocationBase

svn path=/trunk/; revision=4608
2003-04-28 10:37:40 +00:00
Gé van Geldorp
458d8d250c Layout stat structures exactly the same as in Microsoft MSVCRT, for
binary compatibility

svn path=/trunk/; revision=4607
2003-04-27 23:14:04 +00:00
guido
8429d49021 fixed file dates in root directory
svn path=/trunk/; revision=4606
2003-04-27 20:23:30 +00:00
Hartmut Birr
b5d5cf6145 - Initialize the fpu control register within the context structure.
svn path=/trunk/; revision=4605
2003-04-27 18:58:00 +00:00
Casper Hornstrup
371b0fd87e - Query BIOS for supported disk drives
svn path=/trunk/; revision=4604
2003-04-27 18:18:51 +00:00
Eric Kohl
3f270ca3d4 Removed unused bios32 support.
svn path=/trunk/; revision=4603
2003-04-27 18:12:15 +00:00
Eric Kohl
392883e81f Detect and print BIOS disk geometry.
svn path=/trunk/; revision=4602
2003-04-27 18:10:38 +00:00
Eric Kohl
0f71890bc8 Added disk geometry structures for hardware detection.
svn path=/trunk/; revision=4601
2003-04-27 18:08:56 +00:00
Emanuele Aliberti
52fa46b090 FsRtlNumberOfRunsInLargeMcb() implemented (simple).
svn path=/trunk/; revision=4600
2003-04-27 16:25:25 +00:00
Hartmut Birr
676d1d9ebf - Fixed the frame layout for trap 15 and 16.
svn path=/trunk/; revision=4599
2003-04-27 16:21:16 +00:00
Casper Hornstrup
a80496b963 2003-04-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/helper.mk (TARGET_ASFLAGS): Add -march and define MK_ARCH_ID.
	* lib/ntdll/makefile (TARGET_ASFLAGS): Define as
	"-I $(PATH_TO_TOP)/include".
	(TARGET_OBJECTS): Add ldr/entry.o.
	* lib/ntdll/ldr/startup.c: Move inline assembly code...
	* lib/ntdll/ldr/entry.S: ...here. New file.

svn path=/trunk/; revision=4598
2003-04-27 14:45:52 +00:00
Casper Hornstrup
3568bb9b50 2003-04-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/kernel32/kernel32.h (assert): Define.
	* tools/mkhive/.cvsignore: New file.

svn path=/trunk/; revision=4597
2003-04-27 11:43:31 +00:00
Eric Kohl
a950079369 Moved disk manager related offset calculation to class2.
Implemented dynamic partition management.
Removed unused header files.

svn path=/trunk/; revision=4596
2003-04-27 10:50:07 +00:00
KJK::Hyperion
879b1f5754 My biggest commit so far (everything compiles and apparently runs fine):
- replaced DWORD with ULONG in a couple of places
 - replaced some ULONGs with LONGs in the KD GDB stub
 - replaced INITIAL_TEB with USER_STACK, as per Nebbet's book, to support both fixed size and expandable stacks
 - added InterlockedExchangePointer
 - added the ASM_BREAKPOINT macro as the architecture-dependent assembler code to raise a breakpoint exception
 - corrected definitions of INT, LONG, DWORD, UINT, ULONG and ULONG32
 - corrected IoSetCancelRoutine to use InterlockedExchangePointer
 - corrected definition of NtCurrentTeb and NtCurrentPeb
 - corrected DbgBreakPoint and DbgUserBreakPoint not to set up a stack frame (temporary fix with inline assembler - why doesn't GCC understand __declspec(naked)?)
 - corrected various calls to Interlocked* functions to cast OUT operands to LONG *
 - corrected various printf format strings
 - corrected DbgUiIssueRemoteBreakin to use the smallest possible stack  (this is what started everything)
 - removed a DPRINT that accessed pageable memory at non-PASSIVE_LEVEL IRQL
 - beautified CreateProcessA (another temporary fix - all the new functions will be isolated in the upcoming stand-alone RTL)
 - prefixed LdrInitializeThunk with a nop that can be overwritten with a breakpoint for debugging purposes (temporary debugging aid until we have user-mode debugger support). Will add support for this to the breakin utility soon
 - thread creation code rewritten from scratch (some glitches documented inline, but works fine)
 - thread creation code now duplicated just twice, as opposed to five times (temporary fix - three new, non standard functions have been exported from NTDLL.DLL, will fix later)

svn path=/trunk/; revision=4595
2003-04-26 23:13:33 +00:00
Eric Kohl
f2c91805a0 Added missing newline.
svn path=/trunk/; revision=4594
2003-04-26 22:51:21 +00:00
Steven Edwards
71df58baf5 Fixed wm_paint test to use ReactOS build system.
svn path=/trunk/; revision=4593
2003-04-26 21:39:36 +00:00
Steven Edwards
91316fff93 Fixed bitblt test to use ReactOS build system.
svn path=/trunk/; revision=4592
2003-04-26 21:37:09 +00:00
Eric Kohl
8b4929f41e Improved command line completion. Patch by Marc Schuetz.
svn path=/trunk/; revision=4591
2003-04-26 16:38:05 +00:00
Gé van Geldorp
01a868d4b8 Remove SetLastErrorByStatus, since it's no longer needed (it is a macro
now) and is giving compile errors

svn path=/trunk/; revision=4590
2003-04-26 12:50:56 +00:00
Gé van Geldorp
ffa4267973 Silence debug messages
svn path=/trunk/; revision=4589
2003-04-26 10:06:10 +00:00
Gé van Geldorp
1139966a4e If name of DLL to load contains a path and it has been loaded before,
find the previous entry

svn path=/trunk/; revision=4588
2003-04-26 10:05:38 +00:00
Gé van Geldorp
1e0a179dd4 FileNameLength and ShortNameLength are in bytes, adjust offset for writing
terminating NUL character accordingly

svn path=/trunk/; revision=4587
2003-04-26 08:56:50 +00:00
Hartmut Birr
4b11a99bfe - Fixed the offset in ReadPciConfigUshort.
svn path=/trunk/; revision=4586
2003-04-26 07:09:26 +00:00
Hartmut Birr
40b6b22911 - Fixed the offset in ReadPciConfigUshort/WritePciConfigUshort.
svn path=/trunk/; revision=4585
2003-04-26 07:06:55 +00:00
Steven Edwards
63e4fdcdc6 Replace SetLastErrorByStatus with RtlNtStatusToDosError
svn path=/trunk/; revision=4584
2003-04-26 01:19:31 +00:00
KJK::Hyperion
b9269e59c8 SetLastErrorByStatus() now a macro, for binary compatibility with Windows
svn path=/trunk/; revision=4583
2003-04-26 00:25:01 +00:00
Aleksey Bragin
2e6c5e5a92 Implement part of the functionality of NdisMSetAttributesEx(). (So ROS doesn't complain while loading VMWare net driver -- though it still doesn't load)
svn path=/trunk/; revision=4582
2003-04-25 21:22:48 +00:00
Casper Hornstrup
b119bad3fa - Detect PCI busses
- Detect IDE controllers and devices
- Improved RegEnumValue()

svn path=/trunk/; revision=4581
2003-04-25 19:32:51 +00:00
Hartmut Birr
37339cbf6b - Fixed the detection of a fat32 boot sector.
svn path=/trunk/; revision=4580
2003-04-25 18:45:06 +00:00
Aleksey Bragin
143395e386 KeSetAffinityThread stub added (returns STATUS_SUCCESS and thus VMWare network driver won't crash ReactOS)
svn path=/trunk/; revision=4579
2003-04-25 18:37:44 +00:00
Aleksey Bragin
79c386dcf3 KeSetAffinityThread added (uncommented in def files)
svn path=/trunk/; revision=4578
2003-04-25 18:36:10 +00:00
Hartmut Birr
9282a443a1 - Fixed a rounding bug within the translation from float values to printable wstrings.
svn path=/trunk/; revision=4577
2003-04-25 17:49:07 +00:00
Eric Kohl
80b2784520 - Added memmove().
- Added hardware hive export.

svn path=/trunk/; revision=4576
2003-04-25 09:54:52 +00:00
Eric Kohl
323bc49a36 - Added memmove().
- Added hardware hive export.

svn path=/trunk/; revision=4575
2003-04-25 09:45:17 +00:00
Gé van Geldorp
6aa450d7d9 Moved _ftol to NTDLL
svn path=/trunk/; revision=4574
2003-04-24 22:21:13 +00:00
Hartmut Birr
f4e4a5dd14 - Call KeBugCheckWithTf for not handled kernel mode exceptions in KiDispatchException.
svn path=/trunk/; revision=4573
2003-04-24 16:55:08 +00:00
Hartmut Birr
3eb21f737e - Implemented KeBugCheckWithTf like KeBugCheckEx.
svn path=/trunk/; revision=4572
2003-04-24 16:53:59 +00:00
Hartmut Birr
d7982ea298 - Do not free the initial environment block, if the environment changed.
svn path=/trunk/; revision=4571
2003-04-24 16:34:26 +00:00
Hartmut Birr
0d54f93d31 - Fixed a rounding bug within the translation from float values to printable strings.
svn path=/trunk/; revision=4570
2003-04-24 16:28:57 +00:00
Eric Kohl
33b0769d71 Enable hardware hive import.
svn path=/trunk/; revision=4569
2003-04-24 12:28:57 +00:00
Gé van Geldorp
a94c5d7e28 Fix _ftol() and move it to NTDLL i386 subdir
svn path=/trunk/; revision=4568
2003-04-23 22:58:02 +00:00
Brian Palmer
fb8745e1ef Turned the FreeLoader debugger into a GUI app.
Basically just a terminal program that logs the RS232 data to a file.

svn path=/trunk/; revision=4567
2003-04-23 20:59:30 +00:00
Eric Kohl
0abf32e9f6 Fixed returning an undefined value.
svn path=/trunk/; revision=4566
2003-04-23 19:36:04 +00:00
Brian Palmer
201324d607 Changes in v1.8.7 (4/22/2003) (brianp)
- Added a file system recognizer to get around problems where
  the partition id did not match the file system type.

svn path=/trunk/; revision=4565
2003-04-23 16:47:24 +00:00
Eric Kohl
198be0032b Remove gstart.exe from boot CD.
svn path=/trunk/; revision=4563
2003-04-23 12:43:23 +00:00
Eric Kohl
e39c8f7e42 Use cdmake.exe to create reactos.iso file.
Remove gstart.exe from boot CD.

svn path=/trunk/; revision=4562
2003-04-23 12:42:59 +00:00
Eric Kohl
a2ba772d42 Added checks for invalid block pointers.
Update free cell list when three cells are merged.

svn path=/trunk/; revision=4561
2003-04-22 21:14:39 +00:00
KJK::Hyperion
c1ce9a4b84 - string-type-generic getopt() (hacked together in half a hour - seems to work fine, though). Very simple - only implements the POSIX standard (no long options, etc.)
- modified tlist to use getopt() to parse the command line, just for fun. Seems to work

svn path=/trunk/; revision=4560
2003-04-22 03:20:25 +00:00
Gé van Geldorp
aac3b7cd7b Exclude dependency files from CVS operations
svn path=/trunk/; revision=4559
2003-04-20 19:54:51 +00:00
Gé van Geldorp
0f4fba969a Implemented _beginthreadex and _endthreadex
svn path=/trunk/; revision=4558
2003-04-20 19:42:50 +00:00
Gé van Geldorp
628cc3fad9 Simple implementation of GetCPInfo
svn path=/trunk/; revision=4557
2003-04-20 19:42:11 +00:00
Emanuele Aliberti
728ac0f0b5 FsRtl: More obsolete functions for handling Memory Control Blocks (MCB).
It seems that, whit the release of WNT40, MCBs were replaced with LARGE_MCBs.

svn path=/trunk/; revision=4556
2003-04-20 17:59:18 +00:00
Emanuele Aliberti
638d0bd31a FsRtl{Un}InitializeMcb() implemented (apparently obsolete).
svn path=/trunk/; revision=4555
2003-04-20 09:07:12 +00:00
Emanuele Aliberti
e47c7dd876 FsRtl:Memory Control Block updates (from ntifs.h by B.Branten)
svn path=/trunk/; revision=4554
2003-04-19 17:17:10 +00:00
Gé van Geldorp
ee030d79d9 For binary compatibility, layout the fields in the TEB at exactly the
same offsets as in WinNT.

svn path=/trunk/; revision=4553
2003-04-18 19:02:16 +00:00
Casper Hornstrup
569a7a02b6 2003-04-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
* subsys/system/usetup/partlist.c (AddPartitionList): Create
	unpartitioned areas.
	(CreatePartitionListNoGUI): Save disk geometry.
	(PrintDiskData): Do not print hidden partition list entries.
	(ScrollDownPartitionList, ScrollUpPartitionList): Skip hidden partition
	list entries.
	(GetActiveBootPartition): Use CurrentDisk as index.
	(CreateSelectedPartition): New function.
	* subsys/system/usetup/partlist.h (PARTDATA): Add field NewPartSize.
	(PARTENTRY): Add fields StartingOffset and HidePartEntry.
	(DISKENTRY): Add fields Cylinders, TracksPerCylinder, SectorsPerTrack,
	and BytesPerSector;
	(CreateSelectedPartition): Add Prototype.
	* subsys/system/usetup/usetup.c (PAGE_NUMBER): Add CREATE_PARTITION_PAGE
	and FORMAT_PARTITION_PAGE
	(CurrentPartitionList, CurrentFileSystemList): New globals.
	(SelectPartitionPage): Set CurrentPartitionList.
	(PARTITION_SIZE_INPUT_FIELD_LENGTH): Define as 6.
	(DrawInputField, ShowPartitionSizeInputBox, CreatePartitionPage,
	CreateFileSystemList, DestroyFileSystemList, DrawFileSystemList,
	ScrollDownFileSystemList, ScrollUpFileSystemList, FormatPartitionPage):
	New functions.
	(SelectFileSystemPage): Draw partition screen.
	(CheckFileSystemPage): Handle CREATE_PARTITION_PAGE and
	FORMAT_PARTITION_PAGE.
	* subsys/system/usetup/usetup.h (FILE_SYSTEM, FILE_SYSTEM_LIST): Add enums.

svn path=/trunk/; revision=4552
2003-04-18 14:00:17 +00:00
Gé van Geldorp
9acdb61c4b Pass CC on make command line so we won't have to change FreeType source
files

svn path=/trunk/; revision=4551
2003-04-18 10:48:13 +00:00
Gé van Geldorp
3ac978f542 Import FreeType 2.1.4
svn path=/trunk/; revision=4550
2003-04-18 10:44:19 +00:00
Gé van Geldorp
296d8bc63f Implement duplication of NtCurrentThread() pseudo-handle
svn path=/trunk/; revision=4549
2003-04-18 09:37:01 +00:00
Gé van Geldorp
63401fccd2 Change DPL in trap gate for INT 3 to 3, so INT 3 can be used from user mode
svn path=/trunk/; revision=4548
2003-04-18 09:09:56 +00:00
Gé van Geldorp
ff17fbcf89 Fix GetVersion
svn path=/trunk/; revision=4547
2003-04-18 08:29:35 +00:00
Gé van Geldorp
bbe715ec28 Print debug message if DllMain of a loaded DLL fails
svn path=/trunk/; revision=4546
2003-04-18 08:28:31 +00:00
Gé van Geldorp
857a0fc520 Have GetACP() return something sensible
svn path=/trunk/; revision=4545
2003-04-18 08:26:50 +00:00
Eric Kohl
70ce973518 Create hardware keys only if hardware hive was not imported.
svn path=/trunk/; revision=4544
2003-04-17 11:07:47 +00:00
Casper Hornstrup
ac3799c79c 2003-04-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/mkhive/infcache.c (InfpCacheFindSection, InfpCacheFindKeyLine,
	InfFindFirstLine, InfFindFirstMatchLine, InfFindNextMatchLine,
	InfGetLineCount): Change call to stricmp() to strcasecmp().
	* tools/mkhive/reginf.c (GetRootKey): Ditto.
	* tools/mkhive/registry.c (RegSetValue, RegQueryValue): Ditto.

svn path=/trunk/; revision=4543
2003-04-17 10:41:02 +00:00
Eric Kohl
f284e3a41c - remove gstart.exe
- call mkhive.exe
- load system instead of system.hiv

svn path=/trunk/; revision=4542
2003-04-16 15:08:55 +00:00
Eric Kohl
8b6b2e1d5b Finished mkhive.
svn path=/trunk/; revision=4541
2003-04-16 15:06:33 +00:00
Brian Palmer
273b6dd69f Fixed the EXT2/3 boot sector code so that it only uses the boot drive in the boot sector if it exists (i.e. not 0xff)
Otherwise it uses the boot drive passed in the DL register.
Updated the EXT2/3 installer to reflect the changes in the boot sector code for EXT2/3.

svn path=/trunk/; revision=4540
2003-04-15 22:48:06 +00:00
Brian Palmer
b4d0aca25a Changes in v1.8.6 (4/14/2003) (brianp)
- Fixed a bug in fathelp.asm where is wasn't adding the hidden sector
  count before performing a subtraction.

svn path=/trunk/; revision=4539
2003-04-15 02:15:54 +00:00
Eric Kohl
1a884ce84d Add hive maker. It does not export binary hives yet.
svn path=/trunk/; revision=4538
2003-04-14 17:19:42 +00:00
Eric Kohl
be94ceb3d5 Disabled packet.sys driver.
svn path=/trunk/; revision=4537
2003-04-14 15:41:30 +00:00
KJK::Hyperion
6225a118af sorry, forgot to exclude auto-generated files from dependency tracking
svn path=/trunk/; revision=4536
2003-04-14 12:14:50 +00:00
KJK::Hyperion
1bd4ae1455 - fixed definition of IO_COUNTERS structure to make it binary compatible with Windows (and make EPSAPI enumerate threads correctly on Windows)
- cleaned up some makefiles, added dependency tracking
 - tlist now uses EPSAPI, and, incidentally, a bug has also been fixed

svn path=/trunk/; revision=4535
2003-04-14 01:19:08 +00:00
Casper Hornstrup
e7940ebdad 2003-04-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/kd/gdbstub.c (KdEnterDebuggerException): Fix signed/unsigned
	comparison warning.
	* ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Ditto.
	* ntoskrnl/ke/i386/usertrap.c (KiUserTrapHandler): Ditto.
	* tools/helper.mk: Do not install static libraries.

svn path=/trunk/; revision=4533
2003-04-13 17:38:27 +00:00
Casper Hornstrup
c64cac2688 2003-04-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/Makefile: Fix rule for mkflpimg.

svn path=/trunk/; revision=4532
2003-04-13 13:05:04 +00:00
guido
ca2e0585ff added tool to create floppy disk images
svn path=/trunk/; revision=4531
2003-04-13 12:51:28 +00:00
Brian Palmer
b4581c2c95 Added simple utility to read the FreeLoader debug output
from the serial port and display it on the console.
Someday I will turn this into a GUI app.

svn path=/trunk/; revision=4530
2003-04-13 04:14:20 +00:00
KJK::Hyperion
336f8e82c1 - corrected typo in epsapi.h
- CTM: cleaned up to use EPSAPI and the ReactOS DDK

svn path=/trunk/; revision=4529
2003-04-13 03:57:41 +00:00
KJK::Hyperion
1b1afc9539 - the build system now handles static libraries 0.5% better
- cabman: brand new makefile - uses TARGET_* macros, the build helper, and the zlib library properly
 - fmifs: static libraries (.a archives) are built directly into the dk/w32/lib directory, instead of their base directory, so the makefile has been fixed
 - psapi: split into PSAPI.dll and EPSAPI (Extended PSAPI), renamed some files, new header
 - zlib: cleaned up makefile from unnecessary hacks

svn path=/trunk/; revision=4528
2003-04-13 03:24:28 +00:00
Gunnar Dalsnes
0871ebf88b implemeted waiting on file handles/file objects
svn path=/trunk/; revision=4527
2003-04-12 20:34:27 +00:00
Eric Kohl
7b5e0bebdf Final preparations for hardware hive import.
svn path=/trunk/; revision=4526
2003-04-12 18:41:43 +00:00
Eric Kohl
4aa19f2392 * Removed CmiLockBlock() and CmiReleaseBlock().
* Added new hive flags to distinguish between volatile/non-volatile and pointer/offset hives.

svn path=/trunk/; revision=4525
2003-04-12 15:09:57 +00:00
Casper Hornstrup
01aebbdd9d 2003-04-12 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/cdmake/Makefile: Use HOST_CC.
	* tools/cdmake/cdmake.c (MAX_PATH, DIR_SEPARATOR_CHAR,
	DIR_SEPARATOR_STRING): Define.
	(directory_record): Add fields name_on_cd and extension_on_cd.
	(error_exit): Make a macro. Avoid using vfprintf and fprintf.
	(write_directory_record, new_directory_record, compare_directory_order,
	pass): Use name_on_cd and extension_on_cd.
	(make_directory_records, get_file_specifications): Use DIR_SEPARATOR_CHAR.
	(new_directory_record, make_directory_records): Linux implementations.
	(main): Use DIR_SEPARATOR_CHAR.

svn path=/trunk/; revision=4524
2003-04-12 14:53:56 +00:00
Phillip Susi
03cba78fff Moved a local declaration to the top of the funtion, where it has to be to compile
svn path=/trunk/; revision=4523
2003-04-11 21:02:21 +00:00
KJK::Hyperion
22f750cd54 The GDB KD stub now correctly references/dereferences ETHREAD objects
svn path=/trunk/; revision=4522
2003-04-11 02:25:24 +00:00
KJK::Hyperion
5c6df46d27 - PsLookup* functions fixed to increment the reference count of the object they are about to return. The GDB KD stub is directly affected by this patch, but it hasn't been fixed yet
- PsGetCurrentProcess and PsGetCurrentThread are now macros calling IoGetCurrentProcess and KeGetCurrentThread, for binary compatibility with Windows

svn path=/trunk/; revision=4521
2003-04-10 23:14:47 +00:00
Gé van Geldorp
71c3c7c1cc Fix named resource handling and LoadString by d_layer
svn path=/trunk/; revision=4520
2003-04-10 19:12:15 +00:00
Eric Kohl
68962b6249 Remove system.hiv from Boot-CD.
svn path=/trunk/; revision=4519
2003-04-10 18:55:27 +00:00
Eric Kohl
c26ce9f93b Added support for binary system hive.
svn path=/trunk/; revision=4518
2003-04-10 18:51:22 +00:00
Eric Kohl
55a31c6b98 Added support for binary system hive.
svn path=/trunk/; revision=4517
2003-04-10 18:43:14 +00:00
Eric Kohl
ceb7d45424 Do not add empty bins to a binry hive.
svn path=/trunk/; revision=4516
2003-04-10 17:49:55 +00:00
Aleksey Bragin
294c3bcf94 New ctm version, supports killing of process, some bugfixes, increased speed of scrolling. My first ReactOS commit via CVS :)
svn path=/trunk/; revision=4515
2003-04-09 16:31:28 +00:00
Gé van Geldorp
2602dec603 Improve (hardware) exception handling and reporting
svn path=/trunk/; revision=4514
2003-04-07 23:10:08 +00:00
Eric Kohl
e81de9962d Added new tool 'cdmake'.
svn path=/trunk/; revision=4513
2003-04-07 18:16:58 +00:00
Eric Kohl
4aa447d8d2 Added missing boot signature.
svn path=/trunk/; revision=4512
2003-04-06 20:01:09 +00:00
Gé van Geldorp
abbc08ce15 Moved MSVCRT setjmp.o
svn path=/trunk/; revision=4511
2003-04-06 13:10:21 +00:00
Gé van Geldorp
f579397b48 Add wsock32
svn path=/trunk/; revision=4510
2003-04-06 12:49:13 +00:00
Gé van Geldorp
c3fb300cc3 Zero-fill initialized data not contained in image file (2nd try)
svn path=/trunk/; revision=4509
2003-04-06 12:48:33 +00:00
Gé van Geldorp
3fe2b722fd Added _setjmp3() and __p__iob()
svn path=/trunk/; revision=4508
2003-04-06 12:40:56 +00:00
Eric Kohl
e6af1b07da Removed outdated declarations and macros.
svn path=/trunk/; revision=4507
2003-04-06 12:13:53 +00:00
Casper Hornstrup
61914f23d0 2003-04-06 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/freetype/.cvsignore: Ignore nul.

svn path=/trunk/; revision=4506
2003-04-06 10:51:29 +00:00
Casper Hornstrup
09754161f9 2003-04-06 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/storage/atapi/atapi.c (AtapiReadWrite): Expect an interrupt a
	bit sooner.
	* hal/halx86/isa.c (HalpGetIsaInterruptVector): Compute vector for MP.
	* hal/halx86/pci.c (HalpGetPciInterruptVector): Ditto.
	* hal/halx86/sysbus.c (HalpGetSystemInterruptVector): Ditto.
	* hal/halx86/mp.c (AssignIrqVector): Rewrite.
	(MpsTimerHandler): Disable for now.
	(MpsSpuriousHandler): Do not acknowledge interrupt.
	(HalAllProcessorsStarted): Only boot 1 CPU for now.
	(RescheduleDpcRoutine): New function.
	(RescheduleDpc): New variable.
	(HalpInitMPS): Initialize RescheduleDpc. Fix bug in call to memset.
	* hal/halx86/mpsirql.c: Rewrite.
	* hal/halx86/include/mps.h (VECTOR2IRQ, IRQ2VECTOR, VECTOR2IRQL,
	IRQL2VECTOR): New macros.
	* ntoskrnl/ntoskrnl.def: Add KeRescheduleThread@0.
	* ntoskrnl/ntoskrnl.edf: Ditto.
	* ntoskrnl/include/internal/ke.h (KeRescheduleThread): Prototype.
	* ntoskrnl/ke/kthread.c (KeRescheduleThread): New function.
	* ntoskrnl/ke/i386/exp.c (KeInitExceptions): Remove unneeded call to
	set_trap_gate().
	* ntoskrnl/ke/i386/irq.c (VECTOR2IRQ, IRQ2VECTOR, VECTOR2IRQL): Correct.
	(IRQ_BASE): Define as FIRST_DEVICE_VECTOR.
	(NR_IRQS): Define using IRQ_BASE.
	(KeInitInterrupts): Use IRQ_BASE.
	(KiInterruptDispatch2): Rewrite.
	(KiInterruptDispatch): Ditto.
	(KeConnectInterrupt): Pass Vector to HalEnableSystemInterrupt() for MP.
	(KeDisconnectInterrupt): Pass Vector to HalDisableSystemInterrupt() for MP.
	* ntoskrnl/ke/i386/trap.s (_KiTrapProlog): Change 0x124 to KPCR_CURRENT_THREAD.

svn path=/trunk/; revision=4505
2003-04-06 10:45:16 +00:00
Casper Hornstrup
d6d1a08b48 2003-04-06 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Add format.
	* include/fslib/vfatlib.h (VfatFormat): Prototype.
	* lib/fmifs/format.c (VfatFormat): Add stub.
	* lib/fmifs/makefile (TARGET_LIBS): Add vfatlib.a.
	* lib/fslib/vfatlib/vfatlib.c (VfatFormat): Add stub.
	* tools/helper.mk: Do not install .sym files for static libraries.
	* subsys/system/format: New directory.
	* subsys/system/format/makefile: New file.
	* subsys/system/format/format.c: Ditto.

svn path=/trunk/; revision=4504
2003-04-05 23:17:22 +00:00
guido
6756a59755 initialize variable
svn path=/trunk/; revision=4503
2003-04-05 22:21:33 +00:00
guido
5ccf66a359 housekeeping
svn path=/trunk/; revision=4502
2003-04-05 22:19:57 +00:00
Gé van Geldorp
e09c1c61dc Rollback previous change for now, gives problems when memory area extends beyond
end of file image

svn path=/trunk/; revision=4501
2003-04-05 21:57:13 +00:00
Casper Hornstrup
013bcd214a 2003-04-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/fslib: New directory.
	* lib/fslib: Ditto.
	* lib/fslib/vfatlib: Ditto.
	* include/fslib/vfatlib.h: New file.
	* lib/fslib/vfatlib/.cvsignore: Ditto.
	* lib/fslib/vfatlib/Makefile: Ditto.
	* lib/fslib/vfatlib/vfatlib.c: Ditto.
	* Makefile: Support file system libraries
	* lib/zlib/Makefile: Remove nostrip target.
	* tools/helper.mk: Add nostrip target.

svn path=/trunk/; revision=4500
2003-04-05 19:40:41 +00:00
Casper Hornstrup
d322047b43 2003-04-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/.cvsignore: Ignore rline.

svn path=/trunk/; revision=4499
2003-04-05 15:37:58 +00:00
Casper Hornstrup
e656184ad6 2003-04-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* bootcd.bat: Install dosmbr.bin.
	* drivers/storage/disk/disk.c (DiskClassDeviceControl): Pass physical
	device object to IoWritePartitionTable().
	* ntoskrnl/io/xhaldrv.c (xHalReadMBR): New function.
	(xHalWriteMBR): Ditto.
	(xHalExamineMBR): Use xHalReadMBR() to read MBR.
	(xHalIoWritePartitionTable): Partial implement.
	* subsys/system/usetup/bootsup.c (InstallMBRBootCodeToDisk): New function.
	* subsys/system/usetup/bootsup.h (InstallMBRBootCodeToDisk): Prototype.
	* subsys/system/usetup/partlist.c (CreatePartitionListNoGUI): New function.
	(CreatePartitionList): Use CreatePartitionListNoGUI() to create partition
	list.
	(GetPartitionInformation): New function.
	(MarkPartitionActive): Ditto.
	* subsys/system/usetup/partlist.h (MarkPartitionActive): Prototype.
	* subsys/system/usetup/usetup.c (SelectPartitionPage): Make SystemRootPath
	point to the selected partition if no partitions are active.
	(BootLoaderPage): If no partitions are active, then install a DOS MBR and
	mark the selected partition active.

svn path=/trunk/; revision=4498
2003-04-05 15:36:34 +00:00
Casper Hornstrup
d44d6e392a Added DOS compatible Master Boot Record (MBR)
svn path=/trunk/; revision=4497
2003-04-05 15:28:45 +00:00
Gé van Geldorp
4f133928b7 Zero-fill initialized data not contained in image file
svn path=/trunk/; revision=4496
2003-04-05 13:19:05 +00:00
Gé van Geldorp
2aab2423c2 Silcence CVS messages
svn path=/trunk/; revision=4495
2003-04-05 09:48:40 +00:00
Casper Hornstrup
7b1020a10e 2003-04-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Add bootcd target.
	(BOOTCD_INSTALL): Set for bootcd install.
	* rules.mak (TOPDIR): Define on windows.
	(BOOTCD_DIR): Define.
	(RLINE): Define.
	* apps/tests/lpc/makefile: Handle BOOTCD_INSTALL.
	* apps/tests/mstest/Makefile: Ditto.
	* apps/tests/nptest/Makefile: Ditto.
	* apps/tests/shm/makefile: Ditto.
	* ntoskrnl/Makefile: Handle BOOTCD_INSTALL. Add bootcd target.
	* drivers/dd/vga/makefile: Add bootcd target.
	* drivers/dd/blue/makefile (TARGET_BOOTSTRAP): Define as yes.
	* drivers/dd/floppy/Makefile: Ditto.
	* drivers/fs/cdfs/makefile: Ditto.
	* drivers/fs/ntfs/makefile: Ditto.
	* drivers/fs/vfat/makefile: Ditto.
	* drivers/input/keyboard/makefile: Ditto.
	* drivers/storage/atapi/makefile: Ditto.
	* drivers/storage/cdrom/makefile: Ditto.
	* drivers/storage/class2/makefile: Ditto.
	* drivers/storage/disk/makefile: Ditto.
	* drivers/storage/scsiport/makefile: Ditto.
	* hal/halx86/Makefile: Ditto.
	* lib/ntdll/makefile: Ditto.
	* subsys/system/usetup/makefile (TARGET_BOOTSTRAP): Define as yes.
	(TARGET_BOOTSTRAP_NAME): Define as smss.exe.
	* tools/Makefile: Add rline executable.
	* tools/helper.mk: Support bootcd targets.
	* tools/rline.c: New file.

svn path=/trunk/; revision=4494
2003-04-05 09:37:45 +00:00
Hartmut Birr
e174c6dcd5 - Fixed the initializing of the buffer length in CmiConnectHive.
svn path=/trunk/; revision=4492
2003-04-04 21:52:25 +00:00
Casper Hornstrup
dd53666e1a 2003-04-04 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/freetype/builds/compiler/gcc.mk (CC): Comment out; use CC from
	rules.mak instead.
	* lib/freetype/README.ROS: Note this in porting guide.

svn path=/trunk/; revision=4491
2003-04-04 21:30:31 +00:00
KJK::Hyperion
f729ca1756 NtCurrentTeb() for Alpha rewritten. Reorganized a couple of things
svn path=/trunk/; revision=4490
2003-04-04 20:36:15 +00:00
KJK::Hyperion
81369c3603 Updated FIXME comment
svn path=/trunk/; revision=4489
2003-04-04 20:35:24 +00:00
Steven Edwards
2941c583a4 add ctm by Aleksey Bragin
svn path=/trunk/; revision=4488
2003-04-04 19:26:04 +00:00
Eric Kohl
82389bc005 Cleaned-up and simplified hive import and registry initialization.
svn path=/trunk/; revision=4487
2003-04-04 14:05:29 +00:00
Gé van Geldorp
69b46e8303 Ignore .*.d files
svn path=/trunk/; revision=4486
2003-04-03 22:58:28 +00:00
Gé van Geldorp
4fbceaaefc Add time...() stubs
svn path=/trunk/; revision=4485
2003-04-03 22:57:00 +00:00
Gé van Geldorp
1eb65f81dd WSOCK32 stub
svn path=/trunk/; revision=4484
2003-04-03 22:44:19 +00:00
KJK::Hyperion
37f24851c5 - Nebbet-ized a couple of Zw types [tested]
- PSAPI now 10% better

svn path=/trunk/; revision=4483
2003-04-03 00:06:24 +00:00
Gunnar Dalsnes
4948893df6 timer messages impl.
svn path=/trunk/; revision=4482
2003-04-02 23:29:04 +00:00
Gé van Geldorp
42f7ce354a Turn optimization off in DBG builds
svn path=/trunk/; revision=4481
2003-04-02 23:25:56 +00:00
Gunnar Dalsnes
94975d7d95 timer messages impl.
svn path=/trunk/; revision=4480
2003-04-02 23:19:28 +00:00
Gunnar Dalsnes
9db4bafa99 timer messages impl.
svn path=/trunk/; revision=4479
2003-04-02 23:12:53 +00:00
KJK::Hyperion
a812f4e0b2 Long due update to PSAPI
svn path=/trunk/; revision=4478
2003-04-02 22:09:57 +00:00
KJK::Hyperion
01da24f40c Miscellaneous fixes:
- activated dependency tracking for ntdll [tested]
 - fixed trivial warning [tested]
 - build rules now define appropriate _M_<arch> macro, for compatibility with the Microsoft DDK [tested]
 - faster implementation of NtCurrentPeb() on the x86 [tested]
 - NtCurrentTeb() implementations for the Alpha AXP and MIPS R4000 architectures

svn path=/trunk/; revision=4477
2003-04-02 21:55:16 +00:00
KJK::Hyperion
323478bacf Forgot to remove this
svn path=/trunk/; revision=4476
2003-04-02 02:09:28 +00:00
KJK::Hyperion
4e0c54a3b8 Finalized my previous kernel32.dll patch - please test OutputDebugString
svn path=/trunk/; revision=4475
2003-04-02 00:23:12 +00:00
KJK::Hyperion
870f594d75 RtlRunDecodeUnicodeString & RtlRunEncodeUnicodeString patch finalized
svn path=/trunk/; revision=4474
2003-04-02 00:06:00 +00:00
KJK::Hyperion
e379c5e0b7 RtlRunEncodeUnicodeString & RtlRunDecodeUnicodeString contributed by crazylord
svn path=/trunk/; revision=4473
2003-04-02 00:01:21 +00:00
Eric Kohl
c3a2a5dc0d Start cleaning-up the hive management routines.
Initialize hive and log file names for the system hive.

svn path=/trunk/; revision=4472
2003-04-01 19:01:58 +00:00
Eric Kohl
1a56964de6 Fix missing entry point warning.
svn path=/trunk/; revision=4471
2003-04-01 18:58:59 +00:00
Gé van Geldorp
db73ddbe31 Add labs() needed for new MinGW environment
svn path=/trunk/; revision=4470
2003-04-01 17:14:36 +00:00
Eric Kohl
0ce7c979ac Enable import of binary system hive.
svn path=/trunk/; revision=4469
2003-04-01 16:37:14 +00:00
Eric Kohl
1fb9958a68 Fix bug which causes a crash in RtlpCheckFileNameExtension() if the file doesn't have an extension.
svn path=/trunk/; revision=4468
2003-04-01 16:35:22 +00:00
Gé van Geldorp
1d1253f734 Changed location of FreeType to lib/freetype
svn path=/trunk/; revision=4467
2003-04-01 08:55:51 +00:00
Gé van Geldorp
b4f4566a01 Use FreeType DLL
svn path=/trunk/; revision=4466
2003-04-01 08:43:46 +00:00
Gé van Geldorp
fa1f8db542 FreeType 2.1.3 import
svn path=/trunk/; revision=4465
2003-04-01 08:38:33 +00:00
Gé van Geldorp
fbc6b77b36 Support for kernel mode DLLs (TARGET_TYPE kmdll)
svn path=/trunk/; revision=4464
2003-04-01 08:13:30 +00:00
KJK::Hyperion
1f3d9b8335 - implemented a couple of DbgUi* APIs introduced in NT 5.1
- implemented RtlExitUserThread

svn path=/trunk/; revision=4463
2003-03-31 22:32:18 +00:00
KJK::Hyperion
279e7acf18 - added annotation to TEB definition
- new DbgUi* APIs added in NT 5.1
 - implemented RtlExitThread
 - added definition of various ACE_* structures

svn path=/trunk/; revision=4462
2003-03-31 22:30:49 +00:00
KJK::Hyperion
647129da1f - debugging support APIs moved into their own directory
- reversed the Debug Monitor protocol, implemented OutputDebugString accordingly
 - added a handful of new functions introduced in NT 5.1, either stubbed out or implemented

svn path=/trunk/; revision=4461
2003-03-31 22:28:59 +00:00
KJK::Hyperion
63a0f413bf Fixed tlist
svn path=/trunk/; revision=4460
2003-03-31 21:03:42 +00:00
Eric Kohl
1f8fe422c6 Remove unused code.
svn path=/trunk/; revision=4459
2003-03-31 11:49:38 +00:00
Eric Kohl
4dc8e937b1 Enable loading of binary hive files (without file extension).
svn path=/trunk/; revision=4458
2003-03-31 11:48:48 +00:00
Gé van Geldorp
14952fd4f9 Add \SystemRoot\system32 to the search path for implicitly linked
kernel mode DLLs

svn path=/trunk/; revision=4457
2003-03-31 09:30:00 +00:00
Eric Kohl
fc3c449b62 Updated for 0.1.1 CD.
svn path=/trunk/; revision=4455
2003-03-29 21:41:21 +00:00
Jason Filby
0c7e8e368e Version 0.1.1
svn path=/trunk/; revision=4454
2003-03-29 18:37:07 +00:00
Casper Hornstrup
579da78402 2003-03-29 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/ex/sysinfo.c (SystemProcessInformation): Fix warning.

svn path=/trunk/; revision=4453
2003-03-29 12:55:48 +00:00
Eric Kohl
e4dd0575db Removed cmd from the target list.
svn path=/trunk/; revision=4452
2003-03-29 12:06:09 +00:00
Eric Kohl
7bf5e6cae6 Added support for the Ontrack Disk Manager.
svn path=/trunk/; revision=4451
2003-03-28 22:47:33 +00:00
Richard Campbell
1d95979106 Ported AdjustClientRect(Ex) from wine, this fixes bugs in hcalc
svn path=/trunk/; revision=4450
2003-03-28 19:25:00 +00:00
Richard Campbell
2b62e9b22c Fixes a client area issue in winemine and other apps.
svn path=/trunk/; revision=4449
2003-03-28 18:59:18 +00:00
Gé van Geldorp
5fff73db86 Fix crash in W32kGetTextMetrics
svn path=/trunk/; revision=4448
2003-03-28 16:20:51 +00:00
Gé van Geldorp
34aacc4e6b Fix crash at load-time
svn path=/trunk/; revision=4447
2003-03-28 15:34:17 +00:00
Gé van Geldorp
a2c3aa0f98 Send mouse movement messages when moving to left/top
svn path=/trunk/; revision=4446
2003-03-28 15:27:47 +00:00
Gé van Geldorp
c338b7de02 Initialize DC with BLACK_PEN
svn path=/trunk/; revision=4445
2003-03-28 15:27:02 +00:00
Gé van Geldorp
58ce5de527 Rollback last change
svn path=/trunk/; revision=4444
2003-03-27 23:17:22 +00:00
Jason Filby
cdc8ff38a8 Readme.txt for users
svn path=/trunk/; revision=4443
2003-03-27 22:25:33 +00:00
Gé van Geldorp
1b46517748 Fix linker warning
svn path=/trunk/; revision=4442
2003-03-27 19:34:00 +00:00
Richard Campbell
c99b43d4cb - Tim Jobling implemented PolyLine
svn path=/trunk/; revision=4441
2003-03-27 03:24:04 +00:00
Richard Campbell
9588279d27 *** empty log message ***
svn path=/trunk/; revision=4440
2003-03-27 02:31:41 +00:00
Richard Campbell
dd8f77cf0f - Implemented InvalidateRect and InvalidateRgn by Tim Jobling
svn path=/trunk/; revision=4439
2003-03-27 02:27:42 +00:00
Richard Campbell
90bdbbb09a *** empty log message ***
svn path=/trunk/; revision=4438
2003-03-27 02:26:15 +00:00
Richard Campbell
8923bf8701 - InvalidateRgn and InvalidateRect by Tim Jobling
svn path=/trunk/; revision=4437
2003-03-27 02:25:14 +00:00
Hartmut Birr
b47552e96f - Do not create a console for GUI applications.
svn path=/trunk/; revision=4436
2003-03-26 22:11:27 +00:00
Hartmut Birr
4950a5230f - Fixed a bug in CsrDeleteConsole. Sometimes the console wasn't removed from the console list.
svn path=/trunk/; revision=4435
2003-03-26 22:10:43 +00:00
Eric Kohl
6748410167 Implemented RtlIsTextUnicode().
svn path=/trunk/; revision=4434
2003-03-26 15:19:28 +00:00
Gé van Geldorp
52dfe36e11 Introduce ANSI version of LOGFONT and associated structures
svn path=/trunk/; revision=4433
2003-03-26 08:11:53 +00:00
Richard Campbell
96719caa15 *** empty log message ***
svn path=/trunk/; revision=4432
2003-03-26 01:01:21 +00:00
Gé van Geldorp
59371a062e Introduce TEXTMETRICSA and TEXTMETRICSW
svn path=/trunk/; revision=4431
2003-03-25 22:35:19 +00:00
Richard Campbell
dcedc133e0 *** empty log message ***
svn path=/trunk/; revision=4430
2003-03-25 20:34:52 +00:00
Eric Kohl
5ae904ab74 Added automatic start of 2nd stage setup.
svn path=/trunk/; revision=4429
2003-03-25 19:26:33 +00:00
Richard Campbell
eefe9aeef3 Removed a DbgPrint
svn path=/trunk/; revision=4428
2003-03-24 23:45:47 +00:00
Richard Campbell
464468ce33 Implemented UpdateWindow()
svn path=/trunk/; revision=4427
2003-03-24 23:08:51 +00:00
Gé van Geldorp
428e6983d1 Speed up search for free handle somewhat
svn path=/trunk/; revision=4426
2003-03-24 22:50:17 +00:00
Gé van Geldorp
0d5ed410c1 Fix GDI handle leaks
svn path=/trunk/; revision=4425
2003-03-24 22:49:54 +00:00
Eric Kohl
a3437854ba Use an enum for page id's instead of an ULONG.
svn path=/trunk/; revision=4424
2003-03-24 19:12:10 +00:00
Eric Kohl
192fe9f464 Implemented import of binary system hive. (UNTESTED)
Improved handling of a hive's dirty block bitmap.

svn path=/trunk/; revision=4423
2003-03-24 19:10:00 +00:00
Eric Kohl
6b349cca78 Added leading semicolons to comment lines
svn path=/trunk/; revision=4422
2003-03-24 13:45:27 +00:00
Eric Kohl
d64b0c501f Implemented RegLoadKey[A/W]() and RegUnLoadKey[A/W]().
svn path=/trunk/; revision=4421
2003-03-24 13:44:15 +00:00
Richard Campbell
e93115c5a2 - Proper implementation of NtUserMoveWindow()
svn path=/trunk/; revision=4420
2003-03-24 01:36:10 +00:00
KJK::Hyperion
1c607fc7d1 zlib is a static library, not (necessarily) a driver library. Moved it back to reactos/lib (who moved it?)
svn path=/trunk/; revision=4419
2003-03-24 01:28:44 +00:00
KJK::Hyperion
f7d6015170 why was zlib.a included in the list of files to install?
svn path=/trunk/; revision=4418
2003-03-24 00:23:18 +00:00
KJK::Hyperion
5c1108ea15 - changed a couple of structures to match the definitions given in the book "Windows 2000 Native API"
- implementation of the SystemProcessInformation class of NtQuerySystemInformation() by Aleksey Bragin

svn path=/trunk/; revision=4417
2003-03-24 00:09:32 +00:00
Gunnar Dalsnes
d3c97ea09d init. change notification work
svn path=/trunk/; revision=4416
2003-03-23 19:51:11 +00:00
Hartmut Birr
f771a79dd9 - Set the executable flag for some files in _stat.
svn path=/trunk/; revision=4415
2003-03-23 15:18:34 +00:00
Hartmut Birr
fa9eae54dd - Fixed a bug in valisttos.
- Implemented _spawnlp.

svn path=/trunk/; revision=4414
2003-03-23 15:18:01 +00:00
Eric Kohl
f392901f75 Implemented NtQueryAttributesFile() and NtQueryFullAttributesFile().
svn path=/trunk/; revision=4413
2003-03-23 14:46:09 +00:00
Hartmut Birr
2aef8289eb - Save the device object for dereferencing before the worker routine is called (IoWorkItemCallback).
svn path=/trunk/; revision=4412
2003-03-23 10:50:13 +00:00
Hartmut Birr
457a70030c - Add a trailing '\' if the path is only a drive (RtlpEatPath).
svn path=/trunk/; revision=4411
2003-03-23 10:49:19 +00:00
Hartmut Birr
52b9204b29 - Extract the correct search pattern and do not interpret '.' or '..'
at the end of the pattern as path (InternalFindFirstFile).

svn path=/trunk/; revision=4410
2003-03-23 10:48:14 +00:00
Hartmut Birr
d7d389bf60 - Fixed the length parameter for calling RtlGetCurrentDirectory_U (GetCurrentDirectoryW).
svn path=/trunk/; revision=4409
2003-03-23 10:46:59 +00:00
Hartmut Birr
1032130eaf - Fixed the intialization of the returned fcb if the directory is the root (FindFile).
svn path=/trunk/; revision=4408
2003-03-23 10:45:56 +00:00
Jason Filby
4687fe39e4 Free bitmap in EngTransparentBlt
svn path=/trunk/; revision=4407
2003-03-23 10:15:12 +00:00
Jason Filby
3aed736c06 Improved font loaded message
svn path=/trunk/; revision=4406
2003-03-23 09:46:22 +00:00
Jason Filby
44b3528f71 Line drawing fixes
svn path=/trunk/; revision=4405
2003-03-23 09:18:51 +00:00
Eric Kohl
68c3b158fc GetFileAttributes() and SetFileAttributes() must use NtOpenFile() to open directories too.
svn path=/trunk/; revision=4404
2003-03-23 04:01:16 +00:00
Gé van Geldorp
8b0fa2ce3d Release XLATEOBJs after use
svn path=/trunk/; revision=4403
2003-03-22 23:57:32 +00:00
Gé van Geldorp
1e8cc39810 Don't access internal object for NULL handle
svn path=/trunk/; revision=4402
2003-03-22 23:57:05 +00:00
Eric Kohl
a8c65e148b Check only the last path component for system hive name.
svn path=/trunk/; revision=4401
2003-03-22 22:32:17 +00:00
Jason Filby
e02bb01522 Use DPRINT1 for errors
svn path=/trunk/; revision=4400
2003-03-22 22:05:36 +00:00
Jason Filby
0a595fb831 Use DbgPrint for errors
svn path=/trunk/; revision=4399
2003-03-22 21:52:38 +00:00
Jason Filby
8526f38f43 Line drawing fixes
svn path=/trunk/; revision=4398
2003-03-22 21:51:05 +00:00
Eric Kohl
0e4840598e Fix typo.
svn path=/trunk/; revision=4397
2003-03-22 18:45:20 +00:00
Eric Kohl
5aa85e8ac2 Separate import of system and hardware hive.
svn path=/trunk/; revision=4396
2003-03-22 18:27:40 +00:00
Eric Kohl
c5b283562d Import registry data from inf files which are listed in txtsetup.sif.
svn path=/trunk/; revision=4395
2003-03-22 15:25:03 +00:00
Eric Kohl
8b3c315dd9 Add new registry inf files.
svn path=/trunk/; revision=4394
2003-03-22 15:22:14 +00:00
Eric Kohl
4f8e2ab714 Fixed NtLoadKey(), NtLoadKey2() and NtSaveKey() signature.
svn path=/trunk/; revision=4393
2003-03-22 11:26:51 +00:00
Mark Tempel
9bb9270ac0 Update to make shaptest be a windowed application.
svn path=/trunk/; revision=4392
2003-03-22 06:53:06 +00:00
Richard Campbell
87a1ef504f Allocated space for the menu
svn path=/trunk/; revision=4391
2003-03-22 04:53:01 +00:00
Richard Campbell
948bca0d7e Allocate space for menu in MoveWindow, will filter this change to SetWindowPos/CreateWindowEx soon, gotta go. PS doesn't work yet due to menu not being 'seen'
svn path=/trunk/; revision=4390
2003-03-22 03:05:26 +00:00
KJK::Hyperion
7c39153727 small fix to linking error
svn path=/trunk/; revision=4389
2003-03-21 21:46:06 +00:00
Hartmut Birr
a9b1cd3b93 - Fixed the buffer handling for ioctl requests and direct access
input buffers (METHODE_IN_DIRECT, output buffer from caller).

svn path=/trunk/; revision=4388
2003-03-21 21:09:42 +00:00
Hartmut Birr
99146c71b3 - Write direct to the console buffer in CsrWriteConsoleOutputChar.
- Update only the necessary screen region in CsrFillOutputChar.
- Improve the access to the console buffer in CsrFillOutputAttrib/CsrWriteConsoleOutputAttrib.

svn path=/trunk/; revision=4387
2003-03-21 20:17:55 +00:00
Eric Kohl
79dcc93088 Fixed typos in hivesys.inf.
Changed shell.exe to cmd.exe in txtsetup.sif

svn path=/trunk/; revision=4386
2003-03-21 18:10:32 +00:00
Eric Kohl
a4e1a6d03d Fixed value list cell resizing bug.
svn path=/trunk/; revision=4385
2003-03-21 17:40:57 +00:00
Mark Tempel
71c0c0f710 fixed the shaptest copy command.
svn path=/trunk/; revision=4384
2003-03-21 04:26:50 +00:00
Gunnar Dalsnes
ed69e0431b LoadResource crashed with NULL hModule
svn path=/trunk/; revision=4383
2003-03-21 00:20:41 +00:00
Gé van Geldorp
5b0769c317 Change install path
svn path=/trunk/; revision=4382
2003-03-20 21:46:41 +00:00
Gé van Geldorp
b3b7b23fa1 Set default shell to cmd.exe
svn path=/trunk/; revision=4381
2003-03-20 20:59:33 +00:00
Gé van Geldorp
6aa0e3b90d Shutdown after shell exit
svn path=/trunk/; revision=4380
2003-03-20 20:56:52 +00:00
Richard Campbell
a4907447eb *** empty log message ***
svn path=/trunk/; revision=4379
2003-03-20 20:56:24 +00:00
Richard Campbell
285f0befdd Remove shell
svn path=/trunk/; revision=4378
2003-03-20 20:53:15 +00:00
Richard Campbell
dc30187ea9 shell.exe is now cmd.exe
svn path=/trunk/; revision=4377
2003-03-20 20:50:40 +00:00
Richard Campbell
a0d62646a9 bug fixes
svn path=/trunk/; revision=4376
2003-03-20 20:29:48 +00:00
Richard Campbell
aa72305d58 Get CMD.EXE to build.
svn path=/trunk/; revision=4375
2003-03-20 19:32:59 +00:00
Richard Campbell
589616a406 Made cmd default shell
svn path=/trunk/; revision=4374
2003-03-20 19:22:23 +00:00
Richard Campbell
11dbd69c7c Changed default shell to cmd.exe
svn path=/trunk/; revision=4373
2003-03-20 19:21:01 +00:00
Richard Campbell
82d063e87d Move cmd to ReactOS module
svn path=/trunk/; revision=4372
2003-03-20 19:19:23 +00:00
Gé van Geldorp
43ff81f72d Search child list for windows to be repainted
svn path=/trunk/; revision=4371
2003-03-20 10:10:12 +00:00
Gé van Geldorp
6088c8a758 Initialize FastMutex before it's used
svn path=/trunk/; revision=4370
2003-03-20 10:09:24 +00:00
Gé van Geldorp
61656150fa Fix loader warnings
svn path=/trunk/; revision=4369
2003-03-20 09:45:57 +00:00
Gé van Geldorp
4a6584272a Silence some debug messages
svn path=/trunk/; revision=4368
2003-03-20 08:22:01 +00:00
Richard Campbell
f6818caa5e What the HELL was I smokin? :)
svn path=/trunk/; revision=4367
2003-03-20 04:03:13 +00:00
Richard Campbell
962a19c45f fixed bug because mingw is stupid (no newline at end of file? WHY OH WHY?)
svn path=/trunk/; revision=4366
2003-03-20 03:37:14 +00:00
Mark Tempel
a5c783b93c Updated comment to be more accurate.
svn path=/trunk/; revision=4365
2003-03-20 03:12:25 +00:00
Mark Tempel
504851d85e Added an initial implementation of Polygon. The initial revision is pretty slow,
and needs to be optimized.

svn path=/trunk/; revision=4364
2003-03-20 03:07:38 +00:00
Mark Tempel
3203df9587 Initial revision of the polygon fill routines. This implementation only supports ALTERNATE mode.
This revision is slow and has some drawing inaccuracies that need to be ironed out.

svn path=/trunk/; revision=4363
2003-03-20 03:06:52 +00:00
Mark Tempel
fac59fb33a Added objects/polyfill.c (polygon fill routines) to the build.
svn path=/trunk/; revision=4362
2003-03-20 03:05:03 +00:00
Mark Tempel
694a6b2c6e Removed Get/SetPolygonFillMode and Polygon
svn path=/trunk/; revision=4361
2003-03-20 03:04:02 +00:00
Mark Tempel
ea5140f3c0 Moved implementation of Rectangle to here.
Added Polygon

svn path=/trunk/; revision=4360
2003-03-20 03:03:39 +00:00
Mark Tempel
358c2e54fd Moved Rectangle to fillshap.c
svn path=/trunk/; revision=4359
2003-03-20 03:03:00 +00:00
Mark Tempel
f404855197 Add Get/SetPolygonFillMode
svn path=/trunk/; revision=4358
2003-03-20 03:02:38 +00:00
Mark Tempel
ba707122eb Update to add the file fillshap.c to the build.
svn path=/trunk/; revision=4357
2003-03-20 03:02:07 +00:00
Richard Campbell
cfb0571c4e Minor change to PATH=
svn path=/trunk/; revision=4356
2003-03-20 02:43:18 +00:00
Richard Campbell
769b12cd45 Removed NEWS
svn path=/trunk/; revision=4355
2003-03-20 02:39:59 +00:00
Richard Campbell
e3c29f8bcd Updated INSTALL
svn path=/trunk/; revision=4354
2003-03-20 02:38:41 +00:00
Richard Campbell
2fbb2609d7 Attempt at updating README file
svn path=/trunk/; revision=4353
2003-03-20 02:33:37 +00:00
Gunnar Dalsnes
957f814a24 initial work on I/O completion
svn path=/trunk/; revision=4352
2003-03-19 23:17:52 +00:00
Gunnar Dalsnes
fc1366d624 set thread WaitReason when blocking
svn path=/trunk/; revision=4351
2003-03-19 23:12:41 +00:00
Gunnar Dalsnes
313dc5e53f set thread WaitReason when blocking
initial work on I/O completion

svn path=/trunk/; revision=4350
2003-03-19 23:09:54 +00:00
KJK::Hyperion
14597f5f11 MinGW includes libmsvcrt.a by default, no need to add it manually
svn path=/trunk/; revision=4349
2003-03-19 21:36:01 +00:00
KJK::Hyperion
85e1c49842 Fixed parsing of color specification strings containing "bright"
svn path=/trunk/; revision=4348
2003-03-19 21:34:13 +00:00
Eric Kohl
65620794d3 Reorganize registry initialization.
Fix typos.

svn path=/trunk/; revision=4347
2003-03-19 20:12:44 +00:00
Eric Kohl
1b066695c5 Fix typos.
svn path=/trunk/; revision=4346
2003-03-19 20:10:24 +00:00
Mark Tempel
cb7c9a0a09 Test application used for testing GDI shape drawing functions. Currently it tests Polygon
svn path=/trunk/; revision=4345
2003-03-19 16:03:02 +00:00
Mark Tempel
367031db4a Update to add a new test application (shaptest) to the build. This application
is used to test shape drawing GDI functions.

svn path=/trunk/; revision=4344
2003-03-19 03:37:07 +00:00
Brian Palmer
958c16b6d9 Only compile if running win32 version of gcc.
svn path=/trunk/; revision=4343
2003-03-18 22:53:05 +00:00
Brian Palmer
1c8640a836 Changes in v1.8.3 (3/18/2003) (brianp)
- Added _alloca() function because Mingw32 generates code that needs it
- Defined _mainCRTStartup in fathelp.asm because Mingw32 looks for that symbol

svn path=/trunk/; revision=4342
2003-03-18 22:32:30 +00:00
Eric Kohl
3c2e048a81 Implemented the import of default registry settings from .inf files.
This is based on Wine's setupapi implementation by Alexandre Julliard.

svn path=/trunk/; revision=4341
2003-03-18 20:39:49 +00:00
Eric Kohl
1b53680503 Fixed an off-by-one error in CmiPopulateHive().
Removed dead code from NtFlushKey().
Changed some debugging messages.

svn path=/trunk/; revision=4340
2003-03-18 20:36:17 +00:00
Gé van Geldorp
c306d43c24 Pass NTSTATUS return code from NtUser functions and use MmCopyFromCaller
to access pointer parameter

svn path=/trunk/; revision=4339
2003-03-18 09:16:44 +00:00
Gé van Geldorp
32f822eab5 Add #include to prevent warnings on MmCopyFrom/ToUser
svn path=/trunk/; revision=4338
2003-03-18 08:34:37 +00:00
Gé van Geldorp
c5c4fcd810 Pass PWINDOW_OBJECT instead of HANDLE in call to W32kGetClientRect
svn path=/trunk/; revision=4337
2003-03-18 08:33:27 +00:00
Richard Campbell
cc078531ba Implemented RedrawWindow()
svn path=/trunk/; revision=4336
2003-03-18 07:19:17 +00:00
Richard Campbell
2c77bbfae2 Implemented CloseWindow()
svn path=/trunk/; revision=4335
2003-03-18 07:01:09 +00:00
Richard Campbell
6952a4bc36 Implemented GetParent()
svn path=/trunk/; revision=4334
2003-03-18 06:46:10 +00:00
Richard Campbell
46cdc5f1ca Implemented IsZoomed()
svn path=/trunk/; revision=4333
2003-03-18 06:44:11 +00:00
Steven Edwards
075b861ce8 A little more good housekeeping
svn path=/trunk/; revision=4332
2003-03-18 01:21:49 +00:00
Steven Edwards
91b46db515 Removed Extra unnneed messagebox test
svn path=/trunk/; revision=4331
2003-03-18 01:00:33 +00:00
Steven Edwards
201760656a Moved MessageBox test to a more proper name
svn path=/trunk/; revision=4330
2003-03-18 00:55:23 +00:00
Steven Edwards
d46106cd34 disabled unneeded EH in test
svn path=/trunk/; revision=4329
2003-03-18 00:54:09 +00:00
Gunnar Dalsnes
04719148b0 LdrGetExportByOrdinal was broken
LdrGetExportByName: fixed bug visible when number of exported functions > number of exported names + check for zero symbol name export table

svn path=/trunk/; revision=4328
2003-03-17 23:05:07 +00:00
Gunnar Dalsnes
b41c5aa867 TlsGetValue: fix to comply with SDK behaviour
svn path=/trunk/; revision=4327
2003-03-17 22:39:09 +00:00
Gunnar Dalsnes
cff9e3c02f don't touch FileObject after IoCallDriver + cleanup
svn path=/trunk/; revision=4326
2003-03-17 22:30:55 +00:00
Gunnar Dalsnes
d03afca494 ObReferenceObjectByHandle: don't fail if NULL DesiredAccess
svn path=/trunk/; revision=4325
2003-03-17 22:28:55 +00:00
Eric Kohl
55d730e10e NtCreateKey() must return STATUS_OBJECT_NAME_NOT_FOUND if the caller tries to create a tree instead of a single key.
svn path=/trunk/; revision=4324
2003-03-17 22:09:26 +00:00
Eric Kohl
b5d59b0618 Fixed registry paths and some typos.
svn path=/trunk/; revision=4323
2003-03-17 22:06:31 +00:00
Richard Campbell
63a26e233a - Updated obm_close
- Fixed a bug with min/max hit tracking
- Added support for allocating a DCE for each window (untested)

svn path=/trunk/; revision=4322
2003-03-16 23:01:08 +00:00
Emanuele Aliberti
c2f91bfad0 SoftModalMessageBox stub added.
svn path=/trunk/; revision=4321
2003-03-16 17:11:22 +00:00
Emanuele Aliberti
328caa7669 Minor changes.
svn path=/trunk/; revision=4320
2003-03-16 17:01:45 +00:00
Eric Kohl
1ac75e85d3 Moved txtsetup.sif to the bootdata directory.
Added hivesys.inf file.

svn path=/trunk/; revision=4319
2003-03-16 16:17:39 +00:00
Hartmut Birr
bd8712ad37 - Fixed the screen updating in CsrWriteConsoleOutputChar.
svn path=/trunk/; revision=4318
2003-03-16 16:14:38 +00:00
Casper Hornstrup
77eee7ca44 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/ntos/rtltypes.h (PRTL_BASE_PROCESS_START_ROUTINE): Define.
	* lib/kernel32/process/create.c (RtlBaseProcessStartRoutine): Import.
	(KlCreateFirstThread): Support images with native subsystem ID.
	* lib/ntdll/def/ntdll.def (RtlBaseProcessStartRoutine): Export.
	* lib/ntdll/def/ntdll.edf (RtlBaseProcessStartRoutine): Ditto.
	* lib/ntdll/rtl/exception.c (RtlBaseProcessStart): Forward declare.
	(RtlBaseProcessStartRoutine, RtlBaseProcessStart): Add.

svn path=/trunk/; revision=4317
2003-03-16 14:16:54 +00:00
Casper Hornstrup
4f23f4eae4 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/defines.h (VS_FFI_SIGNATURE, VS_FFI_STRUCVERSION): Define.

svn path=/trunk/; revision=4316
2003-03-16 13:45:27 +00:00
Casper Hornstrup
5f81b22161 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Use exception code
	STATUS_ACCESS_VIOLATION for exception 14.

svn path=/trunk/; revision=4315
2003-03-16 13:25:47 +00:00
Casper Hornstrup
43b6dc2a24 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/fs/util.c (FsRtlGetFileSize): Implement.

svn path=/trunk/; revision=4314
2003-03-16 13:18:49 +00:00
Casper Hornstrup
0a8aad891f 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/ntdll/rtl/nls.c (RtlCustomCPToUnicodeN, RtlMultiByteToUnicodeN,
	RtlOemToUnicodeN, RtlUnicodeToCustomCPN, RtlUnicodeToMultiByteN,
	RtlUnicodeToMultiByteSize, RtlUnicodeToOemN,
	RtlUpcaseUnicodeToCustomCPN, RtlUpcaseUnicodeToMultiByteN,
	RtlUpcaseUnicodeToOemN): Assert when unimplemented code is reached.

svn path=/trunk/; revision=4313
2003-03-16 13:07:02 +00:00
Casper Hornstrup
6697890d71 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/ntos/zwtypes.h (FILE_BASIC_INFORMATION): Use LARGE_INTEGER,
	not TIME type for time fields.
	* lib/kernel32/file/copy.c (SetLastWriteTime): Adjust for new type.
	(CopyFileExW): Ditto.

svn path=/trunk/; revision=4312
2003-03-16 12:57:32 +00:00
Casper Hornstrup
09e4426af3 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/ntos/types.h (FALSE): Protect with #ifndef FALSE.
	(TRUE): Protect with #ifndef TRUE.

svn path=/trunk/; revision=4311
2003-03-16 12:45:03 +00:00
Casper Hornstrup
a9d3504875 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/napi/i386/segment.h (put_user, get_user,
	bad_user_access_length, __segment_dummy, __sd, __const_sd, __put_user,
	__get_user, __generic_memcpy_tofs, __constant_memcpy_tofs, COMMON,
	__generic_memcpy_fromfs, __constant_memcpy_fromfs, memcpy_fromfs,
	memcpy_tofs, get_fs_byte, get_fs_word, get_fs_long, put_fs_byte,
	put_fs_word, put_fs_long, get_user_word, get_user_byte, get_user_long,
	put_user_byte, put_user_word, put_user_long, get_fs, get_ds, set_fs,
	set_ds): Remove.

svn path=/trunk/; revision=4310
2003-03-16 12:39:29 +00:00
Casper Hornstrup
8702f6b7e1 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/ddk/pstypes.h (TLS_OUT_OF_INDEXES): Define.

svn path=/trunk/; revision=4309
2003-03-16 12:27:54 +00:00
Richard Campbell
a02dfcdf70 Fixed more bugs...
svn path=/trunk/; revision=4308
2003-03-16 07:02:38 +00:00
Richard Campbell
46535b89b5 System buttons actually look like they press.
svn path=/trunk/; revision=4307
2003-03-16 06:43:09 +00:00
Eric Kohl
9c982f8f51 Implemented InfGetXxxField() functions.
svn path=/trunk/; revision=4306
2003-03-15 19:36:11 +00:00
Steven Edwards
e8cb3842fb turn off EH in test program.
svn path=/trunk/; revision=4305
2003-03-15 00:28:09 +00:00
Steven Edwards
cb418f8fa6 ....
svn path=/trunk/; revision=4304
2003-03-14 23:45:00 +00:00
Steven Edwards
2b4f936add Hack stub for NdisWriteErrorLogEntry so VMware network driver fails with some grace. =/
svn path=/trunk/; revision=4303
2003-03-14 23:37:26 +00:00
Eugene Ingerman
3cacdf6d55 Added safe copy from user.
svn path=/trunk/; revision=4302
2003-03-14 22:48:32 +00:00
Steven Edwards
a8e0023bb0 Gcc 3.x newline warning fix
svn path=/trunk/; revision=4301
2003-03-14 22:13:40 +00:00
Richard Campbell
f257940218 *** empty log message ***
svn path=/trunk/; revision=4300
2003-03-14 08:34:25 +00:00
Richard Campbell
2be2440055 IDEALLY this should look like NT4 windows to the pixel. Problem is the client area is off...anyone know how to fix it?
svn path=/trunk/; revision=4299
2003-03-14 07:24:35 +00:00
Richard Campbell
4fd70f50be Added some entries, changed some entries. This may or may not bug out windowing in ROS, haven't checked. Will check and fix as necessary next.
svn path=/trunk/; revision=4298
2003-03-13 20:02:36 +00:00
Eric Kohl
e4228315fc Replaced the current inf-parser by a robust state-machine parser. It is heavily based on Alexandre Julliard's setupapi inf-parser.
svn path=/trunk/; revision=4297
2003-03-13 17:58:52 +00:00
Eric Kohl
7e590b2656 Seperated inf- and ini-file routines. The inf-file routines look like the setupapi-routines.
Create 'Setup' key in the system hive.

svn path=/trunk/; revision=4296
2003-03-13 09:51:11 +00:00
Richard Campbell
19af3dbdde *** empty log message ***
svn path=/trunk/; revision=4295
2003-03-12 16:36:18 +00:00
Richard Campbell
593d22e757 A couple bugfixes
svn path=/trunk/; revision=4294
2003-03-12 16:27:32 +00:00
Richard Campbell
54fa81f819 Windows are activated when created. This is actually just a hack, they really are active, but I don't know how well this will work in a multi windowing environment.
svn path=/trunk/; revision=4293
2003-03-12 08:26:54 +00:00
Richard Campbell
b1839c1917 YAY for bug fixes!
svn path=/trunk/; revision=4292
2003-03-12 06:32:44 +00:00
Richard Campbell
77ca8d96bd More bugfixes
svn path=/trunk/; revision=4291
2003-03-12 06:02:59 +00:00
Richard Campbell
876c0e392b ditto
svn path=/trunk/; revision=4290
2003-03-12 05:40:46 +00:00
Richard Campbell
a09e66521a Small bugfix
svn path=/trunk/; revision=4289
2003-03-12 05:21:53 +00:00
Richard Campbell
adcf4970da Implemented MoveWindow()
svn path=/trunk/; revision=4288
2003-03-12 05:18:21 +00:00
Steven Edwards
3e669eed4d Added Demo for WM_ERASEBKGND
- Contributed by Damon Chandler Windows2000 Graphics API Backbook

svn path=/trunk/; revision=4287
2003-03-11 19:50:30 +00:00
Gé van Geldorp
ab42b89f19 Get mouse cursor working under VMware
svn path=/trunk/; revision=4286
2003-03-11 00:21:41 +00:00
Richard Campbell
aee47209b1 LOTs of changes, a few bug fixes, some code cleanup.
svn path=/trunk/; revision=4285
2003-03-11 00:18:54 +00:00
Jason Filby
5a4eded72e Updated Serial Mouse driver
svn path=/trunk/; revision=4284
2003-03-10 19:53:08 +00:00
Jason Filby
34d1c4a88a Removing old mouse driver
svn path=/trunk/; revision=4283
2003-03-10 19:44:40 +00:00
Richard Campbell
744b947f71 Defined DFC_POPUPMENU
svn path=/trunk/; revision=4282
2003-03-10 06:27:13 +00:00
Jason Filby
b0e9fcf187 Minor button fixes
svn path=/trunk/; revision=4281
2003-03-09 21:49:08 +00:00
Hartmut Birr
f92f7ff968 - Return TRUE on success in DrvAssertMode.
svn path=/trunk/; revision=4280
2003-03-09 21:44:24 +00:00
Hartmut Birr
b98522fd18 - Protected the access to the crtc registers (cursor position) with cli/sti.
svn path=/trunk/; revision=4279
2003-03-09 21:43:37 +00:00
Hartmut Birr
b7c7511503 - Added CsrDuplicateHandle.
svn path=/trunk/; revision=4278
2003-03-09 21:42:47 +00:00
Hartmut Birr
035e6fa830 - Added CsrCreateProcessData.
- Added CsrDuplicateHandle.

svn path=/trunk/; revision=4277
2003-03-09 21:41:35 +00:00
Hartmut Birr
718da6238e - Check for a valid process data pointer in some functions.
svn path=/trunk/; revision=4276
2003-03-09 21:41:00 +00:00
Hartmut Birr
2a8c933a65 - Check for a valid process data pointer in some functions.
- Fixed the length parameter for the title if the console is swapped.
- Fixed some tests in CsrpWriteConsole.
- Fixed some rectangle functions.
- Fixed some offset calculations for accessing the screen buffer.

svn path=/trunk/; revision=4275
2003-03-09 21:40:19 +00:00
Hartmut Birr
8716ed6781 - Fixed the return value in SearchPathW.
svn path=/trunk/; revision=4274
2003-03-09 21:39:17 +00:00
Hartmut Birr
1768a37e66 - Duplicate the error handle in CreateProcessW.
- Fixed the size parameter in calls to SearchPathW.

svn path=/trunk/; revision=4273
2003-03-09 21:38:40 +00:00
Hartmut Birr
59798c6f34 - Improved DuplicateHandle for console handles.
svn path=/trunk/; revision=4272
2003-03-09 21:37:57 +00:00
Hartmut Birr
bb63ba9048 - Implemented DuplicateConsoleHandle.
- Duplicate the error handle in AllocConsole.
- Opening 'CONIN$' for console access in GetConsoleTitleW, SetConsoleTitleW, SetConsoleTitleA.

svn path=/trunk/; revision=4271
2003-03-09 21:37:18 +00:00
Gé van Geldorp
95bceebe67 #include file moved
svn path=/trunk/; revision=4270
2003-03-09 19:34:14 +00:00
Jason Filby
2fb8899caa Refer to new ntddmou.h
svn path=/trunk/; revision=4269
2003-03-09 18:44:59 +00:00
Jason Filby
feda09e7a3 Calculation fix (from Tim Jobling)
svn path=/trunk/; revision=4268
2003-03-09 15:09:23 +00:00
Jason Filby
397c2118fd Calculation fix
svn path=/trunk/; revision=4267
2003-03-09 15:08:33 +00:00
Jason Filby
975ce25154 Improved mouse button handling
svn path=/trunk/; revision=4266
2003-03-09 15:00:51 +00:00
Eric Kohl
098af174b6 Start to fill-in the registry.
svn path=/trunk/; revision=4265
2003-03-08 19:29:09 +00:00
Eric Kohl
a130f0e169 Create binary system hive when usetup is running.
svn path=/trunk/; revision=4264
2003-03-08 19:26:12 +00:00
Gé van Geldorp
6fdd94516b - Fix DC/Bitmap handling
- Fix compiler warnings
- Silence some debug output

svn path=/trunk/; revision=4263
2003-03-08 13:16:52 +00:00
Gé van Geldorp
10283bad30 Remove DCE from linked list on destroy
svn path=/trunk/; revision=4261
2003-03-08 00:46:14 +00:00
Gé van Geldorp
4817869d83 Remove debugging statements
svn path=/trunk/; revision=4260
2003-03-08 00:45:04 +00:00
Richard Campbell
3548ecb7a4 Implemented MoveWindow and SetWindowPos, SetWindowPos is based on WinPosSetWindowPos, so now i need to investigate why it's not working :P.
svn path=/trunk/; revision=4259
2003-03-07 05:38:02 +00:00
Richard Campbell
cba82eeb5e More bug fixes, should behave alot like Windows NT now.
svn path=/trunk/; revision=4258
2003-03-07 04:50:42 +00:00
Gé van Geldorp
f0d0dc3adf Adjust to new position in rosapps build tree
svn path=/trunk/; revision=4257
2003-03-07 00:13:22 +00:00
Gé van Geldorp
ddf2e52b15 Switch back to the command prompt when you press the "X" Close button
svn path=/trunk/; revision=4256
2003-03-06 23:57:03 +00:00
Richard Campbell
18e402c803 *** empty log message ***
svn path=/trunk/; revision=4255
2003-03-06 21:46:19 +00:00
Richard Campbell
e924b6d06c Updated by TortoiseCVS
svn path=/trunk/; revision=4254
2003-03-06 21:45:23 +00:00
Richard Campbell
d2f53a79d8 Added WineMine
svn path=/trunk/; revision=4253
2003-03-06 21:13:17 +00:00
Richard Campbell
c8c6395488 Removed winemine from reactos core module
svn path=/trunk/; revision=4252
2003-03-06 21:10:51 +00:00
Gé van Geldorp
63d294b58a GetClientRect implementation by Tim Jobling
svn path=/trunk/; revision=4251
2003-03-06 21:03:49 +00:00
Richard Campbell
5d28d9704c Temp fix because LoadString isn't working properly.
svn path=/trunk/; revision=4250
2003-03-06 19:33:18 +00:00
Gé van Geldorp
e2ef77ef6c Copied from Wine with some adjustments for our build environment
svn path=/trunk/; revision=4249
2003-03-06 18:44:57 +00:00
Eric Kohl
f7e5711321 Implemented GetProcessAffinityMask() and SetProcessAffinityMask().
svn path=/trunk/; revision=4248
2003-03-06 15:05:29 +00:00
Eric Kohl
916b14c816 Implemented SignalObjectAndWait().
Added some checks for console handles.

svn path=/trunk/; revision=4247
2003-03-06 13:01:15 +00:00
Gé van Geldorp
bceffa7c9b Convert between RGBQUAD and COLORREF when creating a palette for a DIB
svn path=/trunk/; revision=4246
2003-03-06 00:57:44 +00:00
Gé van Geldorp
d339a04507 Silence some debug messages
svn path=/trunk/; revision=4245
2003-03-06 00:56:59 +00:00
Gé van Geldorp
85f75f7691 Conversion between bitfield and indexed no longer hardcoded
svn path=/trunk/; revision=4244
2003-03-06 00:56:40 +00:00
Eric Kohl
cb8b8e6c15 Implemented VerifyConsoleIoHandle().
svn path=/trunk/; revision=4243
2003-03-05 22:51:48 +00:00
Richard Campbell
7f5d1e97f4 Implemented MoveWindow, won't work until SetWindowPos is fixed.
svn path=/trunk/; revision=4242
2003-03-04 22:34:48 +00:00
Eric Kohl
088b5e86e8 Added code to handle 'Ontrack Disk Manager' harddisks. (Untested!)
svn path=/trunk/; revision=4241
2003-03-04 21:58:05 +00:00
Richard Campbell
481eddb6df Minor fix
svn path=/trunk/; revision=4240
2003-03-04 13:19:01 +00:00
Gé van Geldorp
57b8529cb5 Remove some debug #if's
svn path=/trunk/; revision=4239
2003-03-04 10:39:41 +00:00
Gé van Geldorp
31e559fb73 - Add support for 8-bit and 32-bit displays
- Precompute DIB routines
- Fix some compiler warnings

svn path=/trunk/; revision=4238
2003-03-04 10:09:01 +00:00
Richard Campbell
4ea32f911a Added OBM_CLOSE
svn path=/trunk/; revision=4237
2003-03-04 01:23:37 +00:00
Richard Campbell
8d7b189b73 Removed unused resources.
svn path=/trunk/; revision=4236
2003-03-04 01:10:30 +00:00
Richard Campbell
e67fee744a Implemented GetWindowDC()
svn path=/trunk/; revision=4235
2003-03-04 00:40:37 +00:00
Richard Campbell
8abf7a676f Temp fix
svn path=/trunk/; revision=4234
2003-03-03 19:51:31 +00:00
Richard Campbell
c6e059cb67 Added GWL_ID to NtUserGetWindowLong. Not implemented yet. Just there to prevent the debug printfs.
svn path=/trunk/; revision=4233
2003-03-03 18:57:26 +00:00
Gé van Geldorp
1b48f7d941 Get MS 16 color driver to work under Bochs
svn path=/trunk/; revision=4232
2003-03-03 00:17:24 +00:00
Richard Campbell
31ed89a07f Lots of bug fixes
svn path=/trunk/; revision=4231
2003-03-02 16:30:07 +00:00
Gé van Geldorp
0dcf21545b Fixed some compiler warnings
svn path=/trunk/; revision=4230
2003-03-02 12:07:28 +00:00
Gé van Geldorp
1b1e741e1b Fixed several off-by-one errors and some compiler warnings
svn path=/trunk/; revision=4229
2003-03-02 12:04:00 +00:00
Gé van Geldorp
8690cad211 Fix boot problems and make it work under VMware
svn path=/trunk/; revision=4228
2003-03-02 10:53:38 +00:00
Marty Dill
ad0f593f37 Bumped CSRSS_MAX_TITLE_LENGTH up to 80.
svn path=/trunk/; revision=4227
2003-03-02 01:25:45 +00:00
Marty Dill
15f7619166 Minor fixes to CsrGetTitle and Console_Api to get titles working properly.
svn path=/trunk/; revision=4226
2003-03-02 01:24:37 +00:00
Marty Dill
20a78cdf13 Fixed up Get/SetConsoleTitleAW().
svn path=/trunk/; revision=4225
2003-03-02 01:23:19 +00:00
Richard Campbell
cb819643dd Some bug fixes.
svn path=/trunk/; revision=4224
2003-03-01 20:39:16 +00:00
Richard Campbell
2d631fae3f Changed timmons to helmet, but this should be loaded from the registry.
svn path=/trunk/; revision=4223
2003-03-01 09:05:34 +00:00
Richard Campbell
348b71b4a6 Small bug fix
svn path=/trunk/; revision=4222
2003-03-01 09:01:51 +00:00
Richard Campbell
c8274bd166 Now uses DrawFrameControl to draw controls, still MANY bugs but I'm slowly getting there.
svn path=/trunk/; revision=4221
2003-03-01 08:56:34 +00:00
Richard Campbell
424f2d1c24 Fixed DrawFrameControl Somewhat
svn path=/trunk/; revision=4220
2003-03-01 06:05:36 +00:00
Eric Kohl
87364d1ef4 Fixed wrong MBR declaration.
svn path=/trunk/; revision=4219
2003-03-01 00:00:32 +00:00
Richard Campbell
95cee3fcfb Remove OBM_CLOSED
svn path=/trunk/; revision=4218
2003-02-28 23:22:18 +00:00
Richard Campbell
23d3f40462 oops.
svn path=/trunk/; revision=4217
2003-02-28 23:20:41 +00:00
Richard Campbell
107f4e64ce ditto.
svn path=/trunk/; revision=4216
2003-02-28 23:19:32 +00:00
Richard Campbell
93549aa9d8 Removed unused OBM_CLOSED resource. Part of a fix coming soon.
svn path=/trunk/; revision=4215
2003-02-28 23:18:11 +00:00
Richard Campbell
a526796893 Use DrawEdge for drawing windows.
svn path=/trunk/; revision=4214
2003-02-28 22:59:30 +00:00
Gé van Geldorp
343857f12a Replace direct calls to "make" with $(MAKE)
svn path=/trunk/; revision=4213
2003-02-28 22:51:17 +00:00
Eric Kohl
0390d46de9 Fixed [Nt/Zw]QuerySecurityObject() prototype.
svn path=/trunk/; revision=4212
2003-02-27 22:49:06 +00:00
Eric Kohl
4b23fcb6ce Fixed string lengths in calls to ZwSetValueKey() to include terminating zero character.
svn path=/trunk/; revision=4211
2003-02-27 20:32:31 +00:00
Eric Kohl
9a9d96086b Terminate service name string.
svn path=/trunk/; revision=4210
2003-02-27 20:29:55 +00:00
Gé van Geldorp
e024154763 Cleanup
svn path=/trunk/; revision=4209
2003-02-27 16:34:15 +00:00
Gunnar Dalsnes
0acc0f3aa9 Non expired timer wasn't dequeued/canceled before freed
svn path=/trunk/; revision=4208
2003-02-27 15:41:54 +00:00
Gunnar Dalsnes
d295bac408 WaitForMultipleObjectsEx passed WaitAny for WaitAll waits and vice versa
svn path=/trunk/; revision=4207
2003-02-27 15:40:46 +00:00
Gunnar Dalsnes
dd41cf2e27 corrected prototype
svn path=/trunk/; revision=4206
2003-02-27 15:39:10 +00:00
Gunnar Dalsnes
5852f3f492 WaitForMultipleObjects: WaitAll waits were buggy
Many small fixes and cleanups

svn path=/trunk/; revision=4205
2003-02-27 15:38:36 +00:00
Eric Kohl
3013b90260 Fixed compiler warings.
svn path=/trunk/; revision=4204
2003-02-27 14:42:43 +00:00
Eric Kohl
9321cd1e2c Do not expand command lines automatically. This fixes 'objdir \??'.
svn path=/trunk/; revision=4203
2003-02-27 14:40:31 +00:00
Gé van Geldorp
74a0e47a7c Queue GDI callback in CriticalWorkQueue to improve mouse smoothness
under Bochs

svn path=/trunk/; revision=4202
2003-02-26 22:29:28 +00:00
Eric Kohl
dcd495dbe5 Detect disk manager software.
svn path=/trunk/; revision=4201
2003-02-26 16:25:40 +00:00
Eric Kohl
64e0e82479 Fixed some hal dispatch table issues.
Improved HalExamineMBR() to detect disk managers.

svn path=/trunk/; revision=4200
2003-02-26 14:14:47 +00:00
Gé van Geldorp
991196c35e - Move GDI drivers and win32k.sys from system32\drivers to system32
- Load GDI driver from registry key
- Clean up hacks in videoprt (borrowed some code from scsiport)
- Support for MS VGA driver under VMware, doesn't work yet under Bochs

svn path=/trunk/; revision=4199
2003-02-25 23:08:54 +00:00
Eric Kohl
31f87c95ae * Moved symbolic link implementation to the object manager.
* Free target string when the link object is deleted.
* Create a type object for symbolic links.
* Use different security descriptors for protected and unprotected symbolic links.

svn path=/trunk/; revision=4198
2003-02-25 16:50:46 +00:00
Eric Kohl
97049b595e no message
svn path=/trunk/; revision=4197
2003-02-25 16:43:45 +00:00
Eric Kohl
a4dd288c42 Implemented ExIsProcessorFeaturePresent().
svn path=/trunk/; revision=4196
2003-02-25 00:25:07 +00:00
Hartmut Birr
0c1e5baf17 - Improved CloseConsoleHandle.
svn path=/trunk/; revision=4195
2003-02-24 23:24:55 +00:00
Hartmut Birr
471aaa7f5e - Added oppening of console handles (CreateFileW).
svn path=/trunk/; revision=4194
2003-02-24 23:23:32 +00:00
Hartmut Birr
0d292546b8 - Implemented CsrGetInputHandle, CsrGetOutputHandle and CsrCloseHandle.
svn path=/trunk/; revision=4193
2003-02-24 23:20:16 +00:00
Hartmut Birr
3432e6048e - Fixed a dead look in CsrFlushInputBuffer.
svn path=/trunk/; revision=4192
2003-02-24 23:17:32 +00:00
Hartmut Birr
ef47860772 - Fixed a bug within the parameter check.
- Improved speed.

svn path=/trunk/; revision=4191
2003-02-24 23:16:13 +00:00
Hartmut Birr
0b69830fa0 - Removed allocation of nonpaged pool memory for event objects.
- Fixed a dead look while fsd's are loading with the fs recognizer (in IoMountVolume).

svn path=/trunk/; revision=4190
2003-02-24 23:14:05 +00:00
Steven Edwards
b70c013718 Fix by Hartmut Birr
Csrss inserts a '\n' after '\r' in the event queue. This extra event must be removed in
CsrReadInputEvent.

svn path=/trunk/; revision=4189
2003-02-24 21:58:46 +00:00
Jason Filby
e0fbe100b8 New and delete operators
svn path=/trunk/; revision=4188
2003-02-21 21:50:04 +00:00
Robert Dickenson
95cb8daf2a corrected parameter type for towupper.
svn path=/trunk/; revision=4187
2003-02-21 16:32:57 +00:00
Robert Dickenson
7c50d54d90 minor cleanup.
svn path=/trunk/; revision=4186
2003-02-21 16:30:05 +00:00
Robert Dickenson
2375f4f3f4 removed taskmgr from default target list since it requires c++.
svn path=/trunk/; revision=4185
2003-02-21 16:24:35 +00:00
Robert Dickenson
562b3cf13b getting some mods from a while ago sync'd.
svn path=/trunk/; revision=4184
2003-02-21 16:23:11 +00:00
Robert Dickenson
c3ff43d969 minor updates to try and find some debug output from the wine libs.
svn path=/trunk/; revision=4183
2003-02-21 14:47:34 +00:00
Robert Dickenson
9f3fb17e6e minor mod to main header to attempt to fix mingw version problem.
svn path=/trunk/; revision=4182
2003-02-21 14:04:55 +00:00
Robert Dickenson
a3e2ea980a minor update to sync my tree.
svn path=/trunk/; revision=4181
2003-02-20 15:07:37 +00:00
Marty Dill
b556b6e5a6 Richard Campbell's Win9x/NT4/5 window style patch.
svn path=/trunk/; revision=4180
2003-02-19 22:44:57 +00:00
Jason Filby
331ea2e7ba Updated close graphic
svn path=/trunk/; revision=4179
2003-02-19 20:34:31 +00:00
Eric Kohl
8fb7776793 Started implementing a hive check (still disabled).
svn path=/trunk/; revision=4178
2003-02-19 17:24:20 +00:00
Gé van Geldorp
7380b03af6 Don't pass (unused) DeviceHandle into ObCreateObject, that causes the
HandleCount to be unnecessarily incremented.

svn path=/trunk/; revision=4177
2003-02-19 00:05:07 +00:00
Casper Hornstrup
e35969fcc7 2003-02-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/cc/view.c (CcRosFlushDirtyPages): Treat a write attempt with
	a return value of STATUS_END_OF_FILE as a successful write.
	* ntoskrnl/cc/copy.c (WriteCacheSegment): Ditto.

svn path=/trunk/; revision=4176
2003-02-18 22:06:53 +00:00
Casper Hornstrup
05a7ea2883 2003-02-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/cm/regfile.c (CmiRemoveSubKey): Kill warnings.
	(CmiMergeFree): Ditto.

svn path=/trunk/; revision=4175
2003-02-18 21:30:08 +00:00
Eric Kohl
d4830ae787 Use a 5-step transaction to update hive and log file.
svn path=/trunk/; revision=4174
2003-02-18 17:02:49 +00:00
Eric Kohl
9728fb6d1c Tiny update, fixes some output annoyances.
svn path=/trunk/; revision=4173
2003-02-18 17:01:10 +00:00
Gé van Geldorp
40160296f7 Implemented VideoPortGetAccessRanges
svn path=/trunk/; revision=4172
2003-02-17 21:24:42 +00:00
Gé van Geldorp
7e66e6636b Implemented HalpAssignPciSlotResources
svn path=/trunk/; revision=4171
2003-02-17 21:24:13 +00:00
Gé van Geldorp
5a0ca2a384 Bring types of memory to allocate (PagedPool etc.) constants inline with
MS DDK for binary compatibility of drivers

svn path=/trunk/; revision=4170
2003-02-17 21:22:49 +00:00
Gé van Geldorp
cef6fb49d1 FreeLdr tries to load "Start"=dword:00000000 entries, remove vmx_svga
service for the moment

svn path=/trunk/; revision=4169
2003-02-17 21:19:16 +00:00
Jason Filby
969ec4afc2 Minor fixes
svn path=/trunk/; revision=4168
2003-02-17 21:03:52 +00:00
Jason Filby
f3ad138b6b Improvements by Royce Mitchell III
svn path=/trunk/; revision=4167
2003-02-17 19:48:27 +00:00
Eric Kohl
acea065ea0 Write log file header, block bitmap and dirty blocks.
svn path=/trunk/; revision=4166
2003-02-17 19:15:41 +00:00
Eric Kohl
32bef2128d Fixed a compiler warning.
svn path=/trunk/; revision=4165
2003-02-17 16:30:17 +00:00
Eric Kohl
d38b07d910 Added errcodes.rc.
svn path=/trunk/; revision=4164
2003-02-17 16:29:11 +00:00
Eric Kohl
9f61985794 Replaced kernel32 heap functions by ntdll heap functions.
svn path=/trunk/; revision=4163
2003-02-17 16:27:31 +00:00
Hartmut Birr
bf6c33299c - Set the last error if SearchPathW fails.
svn path=/trunk/; revision=4162
2003-02-16 18:56:04 +00:00
Hartmut Birr
77e9bdc898 - Added iswspace.
svn path=/trunk/; revision=4161
2003-02-16 18:54:26 +00:00
Hartmut Birr
7644e39b2c - errcodes.rc and msg00409.bin are build by the makefile.
svn path=/trunk/; revision=4160
2003-02-16 18:52:31 +00:00
Hartmut Birr
7aa65c578d - Add a rule to build errcodes.rc.
svn path=/trunk/; revision=4159
2003-02-16 18:47:41 +00:00
Eric Kohl
b4f988014e Changed vidport to videoprt.
svn path=/trunk/; revision=4158
2003-02-16 00:46:37 +00:00
Eric Kohl
491e42c760 Added missing Acl and SD functions from ntdll.
svn path=/trunk/; revision=4157
2003-02-15 22:29:45 +00:00
Eric Kohl
0c2028b391 Added missing Acl and SD functions from ntdll.
svn path=/trunk/; revision=4156
2003-02-15 21:07:49 +00:00
Phillip Susi
da676ec715 Converted a few stray unix linefeeds to dos
svn path=/trunk/; revision=4155
2003-02-15 20:25:03 +00:00
Gé van Geldorp
7ff8369044 Support for VMware video drivers (oops, forgot this one)
svn path=/trunk/; revision=4154
2003-02-15 19:51:27 +00:00
Gé van Geldorp
7f3777d9ad Moved to drivers\dd\videoprt
svn path=/trunk/; revision=4153
2003-02-15 19:25:12 +00:00
Gé van Geldorp
e942503f49 Support for VMware video driver
svn path=/trunk/; revision=4152
2003-02-15 19:21:31 +00:00
Gé van Geldorp
aaa7b9a682 Support for VMware video drivers
svn path=/trunk/; revision=4151
2003-02-15 19:16:34 +00:00
Eric Kohl
d9dc30e0aa * Implemented/fixed NtSetSecurityObject() and NtQuerySecurityObject().
* Updated object security method.
* Added security method for key objects.
* NtDeleteKey() deletes existing values but no subkeys.
* Calculate hive header checksum and increment hive update counters.

svn path=/trunk/; revision=4150
2003-02-15 18:46:28 +00:00
Eric Kohl
e028c60886 Calculate hive header checksum.
Use update counters for hive flushing.
Invalidate more than one block if a cell crosses block boundaries.

svn path=/trunk/; revision=4149
2003-02-14 23:01:06 +00:00
Eric Kohl
e8f191a72e Replaced filesystem list spinlock by an executive resource.
svn path=/trunk/; revision=4148
2003-02-14 22:54:38 +00:00
Eric Kohl
75e27edb71 Fixed declarations.
svn path=/trunk/; revision=4147
2003-02-14 17:52:31 +00:00
Eric Kohl
458223c320 New bins should be flushed properly.
Prepared log file support.

svn path=/trunk/; revision=4146
2003-02-14 17:48:54 +00:00
Hartmut Birr
1c043c1647 - Ntoskrnl uses for all access to internal structures the SectionObjectPointers from file object.
- The bcb field is removed from the REACTOS_COMMON_FCB_HEADER structure.
- FSD's store the pointer to the fcb in FsContext from file object. There is no pointer from ccb to the fcb.

svn path=/trunk/; revision=4145
2003-02-13 22:24:19 +00:00
Eric Kohl
44e85c2846 Implemented merging of free blocks.
svn path=/trunk/; revision=4144
2003-02-13 13:59:57 +00:00
Eric Kohl
493e797fa0 Added hive synchronization to value-related registry functions.
svn path=/trunk/; revision=4143
2003-02-12 19:00:23 +00:00
Eric Kohl
bd0f683f94 Added value delete and enumerate tests.
svn path=/trunk/; revision=4142
2003-02-12 18:56:49 +00:00
Eric Kohl
9895df9741 Implemented IsProcessorFeaturePresent().
svn path=/trunk/; revision=4141
2003-02-12 03:44:20 +00:00
KJK::Hyperion
15d50c5fcd * include/defines.h: defined INVALID_FILE_SIZE
* include/ntos/rtl.h: fixed typo
 * lib/kernel32/file/file.c: fixed GetCompressedFileSizeW
 * lib/kernel32/misc/comm.c: implemented BuildCommDCB and BuildCommDCBAndTimeouts
 * lib/kernel32/misc/handle.c: fixed SetHandleInformation
 * lib/kernel32/misc/time.c: fixed FileTimeToSystemTime
 * lib/kernel32/misc/dllmain.c: shut up a warning
 * lib/kernel32/misc/env.c: ditto
 * lib/kernel32/misc/ldr.c: ditto

svn path=/trunk/; revision=4140
2003-02-12 00:39:31 +00:00
Eric Kohl
c9f5e072dc Added two 'create value' tests.
svn path=/trunk/; revision=4139
2003-02-11 23:47:04 +00:00
Gé van Geldorp
ef9c7cc11f Font facename is stored in LOGFONTW itself (like in LOGFONT)
svn path=/trunk/; revision=4138
2003-02-11 23:35:23 +00:00
Gé van Geldorp
ffb96febaf Match STYPE_* definitions to DDK values
svn path=/trunk/; revision=4137
2003-02-11 00:16:40 +00:00
KJK::Hyperion
d470f18cfb sorry Casper, I have to insist: OSVERSIONINFOEX *derives* from OSVERSIONINFO. It's not just a matter of field names and types, it's a type-checking issue. At least for C++, it has to be inheritance. For C, it's temporarily commented out, until there's a macro to specify if the compiler supports unnamed structure members
svn path=/trunk/; revision=4136
2003-02-10 23:18:41 +00:00
Casper Hornstrup
1e6fba5a39 2003-02-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/structs.h (OSVERSIONINFOEXA): Expand definition of
	OSVERSIONINFOA.
	(OSVERSIONINFOEXW): Expand definition of OSVERSIONINFOW.
	* lib/msafd/misc/helpers.c (LocateHelperDLL): Cast AddressFamily,
	SocketType, and Protocol to INT.
	* lib/ws2_32/misc/catalog.c (LocateProvider): Ditto.

svn path=/trunk/; revision=4135
2003-02-10 21:29:41 +00:00
Eric Kohl
848ea5c2e0 Use ERESOURCE instead of spinlock to protect the hive list.
Use worker thread to run hive flush routine at dispatch level.
 - Changes by Hartmut Birr!

Delete a key's hash block when the key is deleted.
Update pointers and offsets in a key object when the key cell is deleted.

svn path=/trunk/; revision=4134
2003-02-10 21:24:45 +00:00
Eric Kohl
0430d6bf60 Fixed a typo.
svn path=/trunk/; revision=4133
2003-02-10 21:17:37 +00:00
Eric Kohl
51806a9cd8 Defined HTCLOSE. Patch by Richard Campbell.
svn path=/trunk/; revision=4132
2003-02-10 15:22:23 +00:00
KJK::Hyperion
bc3ba178e3 New utility tickcount: displays the kernel tick count in human readable format. Sample output:
3 days, 11 hours, 13 minutes, 27 seconds and 943 milliseconds

svn path=/trunk/; revision=4131
2003-02-09 21:17:21 +00:00
KJK::Hyperion
38078e6603 Some more fixes to tchar.h
svn path=/trunk/; revision=4130
2003-02-09 21:15:29 +00:00
Eric Kohl
8ce89c167c Simplified key deletion.
Added workaround to prevent BSOD on missing hives.

svn path=/trunk/; revision=4129
2003-02-09 19:55:40 +00:00
Eric Kohl
cc025a380a Disabled unimplemented tests
svn path=/trunk/; revision=4128
2003-02-09 19:11:51 +00:00
Eric Kohl
2c649ff694 Install hivetest.
svn path=/trunk/; revision=4127
2003-02-09 18:28:16 +00:00
Eric Kohl
e1bae36982 Added hivetest (modified regtest).
Replaced direct calls to make by $(MAKE).

svn path=/trunk/; revision=4126
2003-02-09 18:27:29 +00:00
Eric Kohl
4363c6ef6f Added hivetest (modified regtest).
svn path=/trunk/; revision=4125
2003-02-09 18:26:36 +00:00
Hartmut Birr
ee641bec75 Removed the fix for flushing modified cache segments in NtShutdownSystem.
svn path=/trunk/; revision=4124
2003-02-09 18:04:54 +00:00
Hartmut Birr
965149e8db Implemented IRP_MJ_FLUSH_BUFFERS.
Added cache flushing at shutdown.

svn path=/trunk/; revision=4123
2003-02-09 18:02:56 +00:00
Eric Kohl
8a23cc7a5b Added hive flushing.
- Only keys are supported (create / delete).
- No log-file support yet.
- Still a little buggy.

svn path=/trunk/; revision=4122
2003-02-09 11:57:14 +00:00
Nedko Arnaudov
652669005d Uncommented dependency file generating rule.
$(EXE_POSTFIX) use instead of ".exe".

svn path=/trunk/; revision=4121
2003-02-09 02:18:10 +00:00
Nedko Arnaudov
747e565cb0 Reference to web site at geocities removed (site is dropped).
svn path=/trunk/; revision=4120
2003-02-09 02:15:23 +00:00
Nedko Arnaudov
3cf6c316e7 Some minor documentation at last.
svn path=/trunk/; revision=4119
2003-02-09 02:13:27 +00:00
Eric Kohl
541a44a00e Fixed a bug in RtlFindSetBits().
svn path=/trunk/; revision=4118
2003-02-08 20:59:50 +00:00
Eric Kohl
0be3b55ba5 Copy file dates of source file too.
Get default install directory from txtsetup.sif.

svn path=/trunk/; revision=4116
2003-02-08 00:19:32 +00:00
Nedko Arnaudov
3fad983cf2 *** empty log message ***
svn path=/trunk/; revision=4115
2003-02-05 03:18:57 +00:00
KJK::Hyperion
325856dad9 Small fix to tchar.h
svn path=/trunk/; revision=4114
2003-02-04 01:13:26 +00:00
Gé van Geldorp
38535d7610 Fix by Royce3 to make _tolower() and _toupper() behave like their
MS counterparts

svn path=/trunk/; revision=4113
2003-02-03 17:05:19 +00:00
Gé van Geldorp
0f7e47f8bd Fix by Royce3
svn path=/trunk/; revision=4112
2003-02-03 16:59:27 +00:00
Eric Kohl
a9b14e9d16 Implemented CancelIo() and SetThreadIdealProcessor().
svn path=/trunk/; revision=4111
2003-02-03 14:20:24 +00:00
Gé van Geldorp
5bd96088c4 Set page protection for images having section alignment < page size
svn path=/trunk/; revision=4110
2003-02-03 11:52:46 +00:00
Gé van Geldorp
f5f297382d Set lpcbData (data length) correctly
svn path=/trunk/; revision=4109
2003-02-02 22:40:36 +00:00
Gé van Geldorp
45ce03c95f Make starting of SERVICES.EXE dependent on registry key
svn path=/trunk/; revision=4108
2003-02-02 22:38:54 +00:00
KJK::Hyperion
dc2da3fbac Cleaning up victims of stricter warning checking...
svn path=/trunk/; revision=4107
2003-02-02 19:27:17 +00:00
KJK::Hyperion
a9d96a9cfc Finally solved some advapi32 nonsense:
- advapi32 doesn't import any more from itself
 - smarter stubbing (look at the files modified in this commit)

svn path=/trunk/; revision=4106
2003-02-02 19:24:44 +00:00
KJK::Hyperion
2eabc8e38d Various makefile fixes:
- don't link crt0 and msvcrt by default into system DLLs
 - strict warning checking: all warnings displayed, and treated as errors

svn path=/trunk/; revision=4105
2003-02-02 19:24:16 +00:00
KJK::Hyperion
ec3fc77a5f Don't link crt0 and msvcrt into system DLLs
svn path=/trunk/; revision=4104
2003-02-02 17:36:16 +00:00
KJK::Hyperion
29981bcab8 Reimplemented LoadStringA
Implemented LoadStringW

svn path=/trunk/; revision=4103
2003-02-02 17:35:30 +00:00
Eric Kohl
670b6c8678 Fixed compiler warnings.
svn path=/trunk/; revision=4102
2003-02-02 17:21:06 +00:00
Eric Kohl
ffebe8dee1 Implemented QueryPerformanceCounter() and QueryPerformanceFrequency().
svn path=/trunk/; revision=4101
2003-02-02 16:57:49 +00:00
Eric Kohl
74bc05988d Implemented NtQueryPerformanceCounter().
svn path=/trunk/; revision=4100
2003-02-02 16:55:56 +00:00
Hartmut Birr
f979d1b237 Check the length of the gap if this starts at the begin or end of the area in MmFindGap.
svn path=/trunk/; revision=4099
2003-02-02 08:55:51 +00:00
Hartmut Birr
f0fd058aef Fixed a call to ZwFreeVirtualMemory.
svn path=/trunk/; revision=4098
2003-02-02 08:53:32 +00:00
KJK::Hyperion
26c473a88d OSVERSIONINFO and OSVERSIONINFOEX properly declared
Corrected some PEB fields

svn path=/trunk/; revision=4096
2003-02-01 20:00:26 +00:00
KJK::Hyperion
035dcd8224 GetVersion, GetVersionExA and GetVersionExW reimplemented correctly (almost)
svn path=/trunk/; revision=4095
2003-02-01 19:58:17 +00:00
Jason Filby
c2e49604ca ReactOS 0.1.0
svn path=/trunk/; revision=4093
2003-02-01 15:34:35 +00:00
Hartmut Birr
f6e1dcfb06 Fixed a wrong DPRINT.
svn path=/trunk/; revision=4091
2003-01-31 21:49:11 +00:00
Eric Kohl
ef148f5d2b Renamed misleading 'BootBackupSector' to 'FsInfoSector'.
svn path=/trunk/; revision=4089
2003-01-31 15:55:18 +00:00
Brian Palmer
8ae622059e Updated freeldr.ini to work with latest .ini file changes.
svn path=/trunk/; revision=4088
2003-01-31 02:44:32 +00:00
Eric Kohl
6c8aa0f44c Added write cache flushing (untested).
svn path=/trunk/; revision=4087
2003-01-30 22:09:15 +00:00
Hartmut Birr
ec65b164ca Increase the write back count in CcRosFlushDirtyPages
according to the dirty page count from cache manager.

svn path=/trunk/; revision=4086
2003-01-30 18:30:53 +00:00
Hartmut Birr
945450876a Write back dirty pages from cache manager at shutdown.
svn path=/trunk/; revision=4085
2003-01-30 18:28:10 +00:00
Eric Kohl
79baa4d74c Added more install files. Patch by Hartmut Birr.
svn path=/trunk/; revision=4084
2003-01-30 17:38:30 +00:00
Eric Kohl
14f750504e Distinguish between ini-files and inf/sif-files. Patch by Hartmut Birr.
svn path=/trunk/; revision=4083
2003-01-30 17:37:13 +00:00
Eric Kohl
155e4760a8 Added some more files to the boot-cd.
Fixed bug in txtsetup.sif.

svn path=/trunk/; revision=4082
2003-01-30 14:45:51 +00:00
Eric Kohl
6002d83db8 - Added error messages
- Added support for multiple installations

Please wait until the Disk-LED stopps flashing or your installation will be corrupted. :-/

svn path=/trunk/; revision=4081
2003-01-30 14:41:45 +00:00
Hartmut Birr
40e995eed2 -Using DataBuffer and DataTransferLength from DeviceExtension on read/write requests.
-Check if there is a device attached to the ide channel in AtapiFindDevice.

svn path=/trunk/; revision=4080
2003-01-28 17:34:20 +00:00
Hartmut Birr
596dfc3682 -Do not modify the buffer and length field within the srb for read/write retries.
svn path=/trunk/; revision=4079
2003-01-28 17:33:18 +00:00
Eric Kohl
4263b27dfb Added bootsector installation and boot.ini manipulation.
svn path=/trunk/; revision=4078
2003-01-28 17:29:22 +00:00
Hartmut Birr
3c193e4b74 - Check the returned status after calls to NextCluster/OffsetToCluster
to detect a full disk.
- Call NextCluster with the correct parameters (FirstCluster/NextCluster).
- If the size for a file would be reduced, free first the cache segments
  and as second the clusters within the fat.

svn path=/trunk/; revision=4077
2003-01-28 16:48:03 +00:00
Robert Dickenson
9cac22fb79 minor update.
svn path=/trunk/; revision=4076
2003-01-27 15:12:12 +00:00
Robert Dickenson
6c08d81780 backdoor macro fixed.
svn path=/trunk/; revision=4075
2003-01-27 14:49:18 +00:00
Eugene Ingerman
2e3e5c7bd3 Implemented a couple of stubbed functions. Added several pointer checks.
svn path=/trunk/; revision=4074
2003-01-25 23:09:40 +00:00
Eugene Ingerman
6a14e674e4 Minor bug fix.
svn path=/trunk/; revision=4073
2003-01-25 23:06:32 +00:00
Eugene Ingerman
9715d6594d Minor changes to palette code.
svn path=/trunk/; revision=4072
2003-01-25 23:01:24 +00:00
Eugene Ingerman
d4e882e816 Fixed save/restore screen area bug. This bug showed up as a black rectangle on the vertical scrollbar in winhello test.
svn path=/trunk/; revision=4071
2003-01-25 22:53:12 +00:00
Hartmut Birr
4bf9e37598 -Added some file locking improvements.
svn path=/trunk/; revision=4070
2003-01-25 18:53:27 +00:00
Hartmut Birr
eb70f5ed97 - Reverted my latest changes to fix the handling of errors/retries.
- Set the correct data buffer on retries.

svn path=/trunk/; revision=4069
2003-01-25 16:19:06 +00:00
Hartmut Birr
1c7ac901e2 -IoCallDriver didn't set DeviceObject member in next stack location.
-IofCompleteRequest: fixed broken completion routine handling
(Thanks to Gunnar Andr� Dalsnes)

svn path=/trunk/; revision=4068
2003-01-25 16:16:54 +00:00
Hartmut Birr
5d6425550e -IoCancelIrp fixed/improved (Thanks to Gunnar Andr� Dalsnes).
svn path=/trunk/; revision=4067
2003-01-25 16:15:33 +00:00
Hartmut Birr
8b9d426c26 -Added some irp stack macros (IoSetPreviousIrpStackLocation, IoGetPreviousIrpStackLocation, IoRetardIrpStackLocation). (Thanks to Gunnar Andr� Dalsnes)
svn path=/trunk/; revision=4066
2003-01-25 16:01:49 +00:00
Hartmut Birr
4b68ac00e4 -Implemented vfat file locking. (Thanks to Gunnar Andr� Dalsnes)
svn path=/trunk/; revision=4065
2003-01-25 15:55:08 +00:00
Hartmut Birr
ca34b94db6 -Added some file locking improvements. (Thanks to Gunnar Andr� Dalsnes)
svn path=/trunk/; revision=4064
2003-01-25 15:52:43 +00:00
Hartmut Birr
1fb967f911 -Added file locking test application. (Thanks to Gunnar Andr� Dalsnes)
svn path=/trunk/; revision=4063
2003-01-25 15:46:52 +00:00
Eugene Ingerman
2f26431f71 Fixed: locking GDI objects twice when running wm_paint test.
svn path=/trunk/; revision=4062
2003-01-24 23:25:34 +00:00
Jason Filby
4b0f9d9631 Scrollbar improvements
svn path=/trunk/; revision=4061
2003-01-24 22:42:15 +00:00
Steven Edwards
d3190c9220 Turned off SEH in test
svn path=/trunk/; revision=4060
2003-01-24 19:48:13 +00:00
Steven Edwards
8dc97ce4a4 Added WM_PAINT test from the Windows2000 graphics API blackbook,
used with permission of author under public domain license.

svn path=/trunk/; revision=4059
2003-01-24 19:45:57 +00:00
Eric Kohl
d51c4061d7 Fixed size of BootBackup in the FAT32 bootsector.
svn path=/trunk/; revision=4058
2003-01-24 13:42:43 +00:00
Eric Kohl
1ce736a133 Changes in v1.8.2 (1/24/2003) (ekohl)
- Relaxed check for Int13-Extension support.
  Some BIOSes have a strange opinion about what is supported. :-/

svn path=/trunk/; revision=4057
2003-01-24 11:25:56 +00:00
Eugene Ingerman
9a5403580f Fixed a shameful bug. Color translation should work now.
svn path=/trunk/; revision=4056
2003-01-24 09:11:03 +00:00
Gé van Geldorp
fe5caa6437 Retrieve startup shell from registry
svn path=/trunk/; revision=4055
2003-01-23 00:16:47 +00:00
Gé van Geldorp
cd5b2167bd Make cmd.exe usable as startup shell
svn path=/trunk/; revision=4054
2003-01-23 00:15:10 +00:00
Steven Edwards
24ed00435b Added more stubbs for bochs
svn path=/trunk/; revision=4053
2003-01-22 17:52:14 +00:00
Eric Kohl
834dbc5fd5 Fixed some warnings.
Added missing stubs.
Implemented GetThreadPriotityBoost() and SetThreadPriorityBoost().

svn path=/trunk/; revision=4052
2003-01-22 02:24:36 +00:00
Robert Dickenson
1eac255e7c Changed define _OLE2NLS_IN_BUILD_ to reactivate various stubs including GetACP.
svn path=/trunk/; revision=4050
2003-01-21 20:50:51 +00:00
Gé van Geldorp
382a976b49 Use fclose() on FILE* object
svn path=/trunk/; revision=4049
2003-01-21 17:56:10 +00:00
Eric Kohl
e1cf009871 Changes in v1.8.1 (1/20/2003) (ekohl)
- Fixed the ISO filesystem detection code.
- Removed IsSetupLdr.

svn path=/trunk/; revision=4047
2003-01-20 18:39:53 +00:00
Eric Kohl
3960f23e28 Copy second sector of the fat32 bootsector instead of the fat(12/16) bootsector.
Fixed several compiler warnings.

svn path=/trunk/; revision=4046
2003-01-19 17:01:38 +00:00
Hartmut Birr
ac0965daf7 Added special handling for shift value 32.
svn path=/trunk/; revision=4045
2003-01-19 01:49:10 +00:00
Hartmut Birr
25f4f4f91c Attache the process if we are running in the context of an other process (in KdbFreeSymbols).
svn path=/trunk/; revision=4044
2003-01-19 01:46:33 +00:00
Gé van Geldorp
14fc3556c8 Silence some debug messages
svn path=/trunk/; revision=4043
2003-01-19 01:13:04 +00:00
Eugene Ingerman
15128f6053 Removed debug output.
svn path=/trunk/; revision=4042
2003-01-19 01:07:46 +00:00
Gé van Geldorp
31036dbb90 Honour FILE_OVERWRITE and FILE_OVERWRITE_IF (truncate existing file)
svn path=/trunk/; revision=4041
2003-01-19 01:06:45 +00:00
Gé van Geldorp
96fdaea58f Fix truncation to 0 bytes
svn path=/trunk/; revision=4040
2003-01-19 01:06:09 +00:00
Gé van Geldorp
10d48ac01e Handle textmode translation where CR is at the end of a request and the LF is
at the beginning of the next request

svn path=/trunk/; revision=4039
2003-01-19 01:05:03 +00:00
Brian Palmer
59f1842f56 Changes in v1.8 (1/18/2003) (brianp)
- Added F8 options menu
- Added custom Boot functionality
- Moved all OS= settings from [FreeLoader] section to [Operating Systems] section.
- Removed MessageLine= setting. MessageBox= now accepts "\n" as an escape character for newlines.
- Added descriptions for disk error codes returned by the BIOS.
- Device names like "fd0" and "hd0" and "hd1" as well as BIOS drive numbers can now be used as BootDrive= settings.

svn path=/trunk/; revision=4038
2003-01-19 01:04:01 +00:00
Eugene Ingerman
a26dfde014 Made GDI object locking exclusive. Added functions for locking multiple objects. Added comments.
svn path=/trunk/; revision=4037
2003-01-19 01:01:21 +00:00
Eugene Ingerman
898f490858 Some cleanup.
svn path=/trunk/; revision=4036
2003-01-19 01:01:00 +00:00
Eugene Ingerman
58c9054f3f Made GDI object locking exclusive. Added functions for locking multiple objects.
svn path=/trunk/; revision=4035
2003-01-18 20:53:57 +00:00
Eugene Ingerman
736ff1ac84 Fixed functions where GDI objects were locked but not released.
svn path=/trunk/; revision=4034
2003-01-18 20:47:32 +00:00
Eugene Ingerman
b8049283dc Don't compute absolute values after squaring.
svn path=/trunk/; revision=4033
2003-01-18 20:44:34 +00:00
Rex Jolliff
3b71d9191e a test
svn path=/trunk/; revision=4032
2003-01-18 20:26:20 +00:00
Robert Dickenson
d55087f86e Hope I fixed the broken issue.
svn path=/trunk/; revision=4031
2003-01-18 15:55:07 +00:00
Brian Palmer
4fb2283421 Changes in v1.8 (1/18/2003) (brianp)
- Added F8 options menu
- Added custom Boot functionality
- Moved all OS= settings from [FreeLoader] section to [Operating Systems] section.
- Removed MessageLine= setting. MessageBox= now accepts "\n" as an escape character for newlines.
- Added descriptions for disk error codes returned by the BIOS.
- Device names like "fd0" and "hd0" and "hd1" as well as BIOS drive numbers can now be used as BootDrive= settings.

svn path=/trunk/; revision=4030
2003-01-18 10:21:23 +00:00
Marty Dill
47333299bc Fixed a few memory leaks. Minor cleanup.
svn path=/trunk/; revision=4029
2003-01-18 00:10:59 +00:00
guido
586bc4dd7c ignore rtouch
svn path=/trunk/; revision=4028
2003-01-18 00:10:36 +00:00
Eric Kohl
52aba34f15 Dump some file attributes (file name, volume name, etc.)
Fixed infinite loop in a 'dir' command.

svn path=/trunk/; revision=4027
2003-01-17 19:57:31 +00:00
guido
3adeec8d80 fix compiler warning
svn path=/trunk/; revision=4026
2003-01-17 19:26:14 +00:00
guido
d0d1b840ca make it compile on linux too
svn path=/trunk/; revision=4025
2003-01-17 19:06:15 +00:00
Eric Kohl
e5057ddea7 Dump some file attributes (file name, volume name, etc.)
Fixed infinite loop in a 'dir' command.

svn path=/trunk/; revision=4024
2003-01-17 18:51:13 +00:00
Gé van Geldorp
08a01c4da8 Correctly expand wildcards in other directories
svn path=/trunk/; revision=4023
2003-01-17 18:04:08 +00:00
Eric Kohl
5dc512f7c3 Prepared bootloader installation.
svn path=/trunk/; revision=4022
2003-01-17 13:18:15 +00:00
Eric Kohl
fec5d8fcaf Removed unnecessary includes.
svn path=/trunk/; revision=4021
2003-01-17 13:09:43 +00:00
Eric Kohl
4e7b1eb14b ntddndis.h must include OID definitions.
svn path=/trunk/; revision=4020
2003-01-17 13:04:55 +00:00
Eric Kohl
0349fbade9 Fixed a few STDCALL issues and other warnings.
svn path=/trunk/; revision=4019
2003-01-17 13:03:16 +00:00
Gé van Geldorp
3ade7829d0 * Move (optional) wildcard expansion to split()
* Only expand arguments actually containing wildcard characters
  (to prevent expanding directory names to all files within that directory)

svn path=/trunk/; revision=4018
2003-01-17 00:31:33 +00:00
Gé van Geldorp
1bfce04639 When an empty filename is passed in directory search, find all (*) entries, not
the current directory (.)

svn path=/trunk/; revision=4017
2003-01-16 22:02:24 +00:00
Jason Filby
bf924ece94 New SystemState enumeration
svn path=/trunk/; revision=4016
2003-01-16 20:05:34 +00:00
Casper Hornstrup
50e4ffb8e8 2003-01-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/dbg/profile.c (KdbProfilerThreadMain): Make STDCALL.

svn path=/trunk/; revision=4015
2003-01-16 19:51:20 +00:00
Eric Kohl
96d8f03765 Removed outdated and duplicate bugcode definition.
svn path=/trunk/; revision=4014
2003-01-16 17:56:00 +00:00
Eric Kohl
308b132b5d Added UDF filesystem recognizer (still incomplete).
Fixed several memory leaks.

svn path=/trunk/; revision=4013
2003-01-16 11:58:15 +00:00
guido
191a1899fc ignore *.d
svn path=/trunk/; revision=4012
2003-01-15 23:42:11 +00:00
Casper Hornstrup
36aa98343d 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/tcpip/makefile (TCP_OBJECTS): Add transport/tcp/tcpcore.o,
	transport/tcp/tcp_input.o, transport/tcp/tcp_ipv4.o,
	transport/tcp/tcp_output.o, and transport/tcp/tcp_timer.o.
	* drivers/net/tcpip/transport/tcp/tcp.c (TCPStartup): Call tcp_init().
	* drivers/net/tcpip/include/linux.h: New file.
	* drivers/net/tcpip/include/tcpcore.h: Ditto.
	* drivers/net/tcpip/include/tcpdef.h: Ditto.
	* drivers/net/tcpip/transport/tcp/tcp_input.c: Ditto.
	* drivers/net/tcpip/transport/tcp/tcp_ipv4.c: Ditto.
	* drivers/net/tcpip/transport/tcp/tcp_output.c: Ditto.
	* drivers/net/tcpip/transport/tcp/tcp_timer.c: Ditto.
	* drivers/net/tcpip/transport/tcp/tcpcore.c: Ditto.

svn path=/trunk/; revision=4011
2003-01-15 21:57:31 +00:00
Casper Hornstrup
fd6f0e5b04 *** empty log message ***
svn path=/trunk/; revision=4010
2003-01-15 21:25:29 +00:00
Casper Hornstrup
910f281f6e 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/kernel32/k32.h: New file.
	* lib/kernel32/makefile (TARGET_CFLAGS): Add -I./.
	(TARGET_PCH): Set to k32.h.
	* lib/kernel32/except/except.c: Use <k32.h>.
	* lib/kernel32/file/backup.c: Ditto.
	* lib/kernel32/file/cnotify.c: Ditto.
	* lib/kernel32/file/copy.c: Ditto.
	* lib/kernel32/file/create.c: Ditto.
	* lib/kernel32/file/curdir.c: Ditto.
	* lib/kernel32/file/delete.c: Ditto.
	* lib/kernel32/file/deviceio.c: Ditto.
	* lib/kernel32/file/dir.c: Ditto.
	* lib/kernel32/file/dosdev.c: Ditto.
	* lib/kernel32/file/file.c: Ditto.
	* lib/kernel32/file/find.c: Ditto.
	* lib/kernel32/file/iocompl.c: Ditto.
	* lib/kernel32/file/lfile.c: Ditto.
	* lib/kernel32/file/lock.c: Ditto.
	* lib/kernel32/file/mailslot.c: Ditto.
	* lib/kernel32/file/move.c: Ditto.
	* lib/kernel32/file/npipe.c: Ditto.
	* lib/kernel32/file/pipe.c: Ditto.
	* lib/kernel32/file/rw.c: Ditto.
	* lib/kernel32/file/tape.c: Ditto.
	* lib/kernel32/file/volume.c: Ditto.
	* lib/kernel32/mem/global.c: Ditto.
	* lib/kernel32/mem/heap.c: Ditto.
	* lib/kernel32/mem/isbad.c: Ditto.
	* lib/kernel32/mem/local.c: Ditto.
	* lib/kernel32/mem/procmem.c: Ditto.
	* lib/kernel32/mem/section.c: Ditto.
	* lib/kernel32/mem/virtual.c: Ditto.
	* lib/kernel32/misc/atom.c: Ditto.
	* lib/kernel32/misc/comm.c: Ditto.
	* lib/kernel32/misc/console.c: Ditto.
	* lib/kernel32/misc/debug.c: Ditto.
	* lib/kernel32/misc/dllmain.c: Ditto.
	* lib/kernel32/misc/env.c: Ditto.
	* lib/kernel32/misc/error.c: Ditto.
	* lib/kernel32/misc/handle.c: Ditto.
	* lib/kernel32/misc/ldr.c: Ditto.
	* lib/kernel32/misc/profile.c: Ditto.
	* lib/kernel32/misc/res.c: Ditto.
	* lib/kernel32/misc/stubs.c: Ditto.
	* lib/kernel32/misc/sysinfo.c: Ditto.
	* lib/kernel32/misc/time.c: Ditto.
	* lib/kernel32/process/cmdline.c: Ditto.
	* lib/kernel32/process/create.c: Ditto.
	* lib/kernel32/process/proc.c: Ditto.
	* lib/kernel32/process/session.c: Ditto.
	* lib/kernel32/string/lstring.c: Ditto.
	* lib/kernel32/synch/critical.c: Ditto.
	* lib/kernel32/synch/event.c: Ditto.
	* lib/kernel32/synch/intrlck.c: Ditto.
	* lib/kernel32/synch/mutex.c: Ditto.
	* lib/kernel32/synch/sem.c: Ditto.
	* lib/kernel32/synch/timer.c: Ditto.
	* lib/kernel32/synch/wait.c: Ditto.
	* lib/kernel32/thread/fiber.c: Ditto.
	* lib/kernel32/thread/thread.c: Ditto.
	* lib/kernel32/thread/tls.c: Ditto.

svn path=/trunk/; revision=4009
2003-01-15 21:24:36 +00:00
Casper Hornstrup
76b1705795 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/testsets/Makefile (TEST_SETS): Remove ldr.
	* include/msvcrt/ctype.h (towupper): Make returntype wchar_t.

svn path=/trunk/; revision=4008
2003-01-15 21:07:18 +00:00
Casper Hornstrup
1c52b61e7d 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/rtouch.c: Include <sys/utime.h>, not <utime.h>.

svn path=/trunk/; revision=4007
2003-01-15 20:32:35 +00:00
Casper Hornstrup
f63e1913da 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/rtouch.c: New file.
	* rules.mak (ROS_USE_PCH): Default to no.
	(RTOUCH): Define.
	* tools/Makefile: Add rtouch utility.
	* tools/helper.mk: Support precompiled headers.

svn path=/trunk/; revision=4006
2003-01-15 20:18:12 +00:00
Robert Dickenson
8b09e17d3f Required for some wine libs and now rosapps to build with ros includes in preference to mingw's
svn path=/trunk/; revision=4005
2003-01-15 20:17:50 +00:00
Robert Dickenson
b2a576cd5f Pulling in wstring support functions from wine, need to either bring in wctype_table or access the kernel32 nls files??? TODO:
svn path=/trunk/; revision=4004
2003-01-15 20:12:27 +00:00
Robert Dickenson
9ebba084e6 Split out separate makefiles for apps/tests apps/testsets & apps/utils.
svn path=/trunk/; revision=4003
2003-01-15 20:09:52 +00:00
Robert Dickenson
e6a193806c Mainly standardisation of makefiles. Added some exports to core libs for wine dependancies.
svn path=/trunk/; revision=4002
2003-01-15 20:05:53 +00:00
Casper Hornstrup
eb3b9049a9 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/dbg/profile.c: New file.
	* ntoskrnl/Makefile (OBJECTS_KDBG): Add dbg/profile.o.
	* ntoskrnl/dbg/kdb.h: Define NTOS_MODE_KERNEL. Include <ntos.h>.
	(LdrGetAddressInformation, KdbInitProfiling, KdbInitProfiling2,
	KdbDisableProfiling, KdbEnableProfiling, KdbProfileInterrupt) Prototype.
	* ntoskrnl/kd/kdebug.c (KdInitSystem): Add /PROFILE option if KDBG=1.
	* ntoskrnl/ke/main.c (ExpInitializeExecutive): Call KdbInitProfiling2()
	if KDBG=1.
	* ntoskrnl/ke/i386/irq.c: Include <../dbg/kdb.h> if KDBG=1.
	(KiInterruptDispatch): Call KdbProfileInterrupt() on timer interrupt
	if KDBG=1.

svn path=/trunk/; revision=4001
2003-01-15 19:58:07 +00:00
Robert Dickenson
92dec86909 Mainly standardisation of makefiles, now support make install rules and use ros headers...
svn path=/trunk/; revision=4000
2003-01-15 19:55:29 +00:00
Casper Hornstrup
f811f37004 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/fs/vfat/create.c (VfatSupersedeFile): Only notify cache manager
	about change in file size if caching is initiated on the file stream.

svn path=/trunk/; revision=3999
2003-01-15 19:53:49 +00:00
Hartmut Birr
594558c6e2 Fixed the corrupted screen after a console switching with ALT+TAB.
svn path=/trunk/; revision=3998
2003-01-15 00:36:10 +00:00
Gé van Geldorp
97bb8934e2 Include error code in diagnostic and exit on error
svn path=/trunk/; revision=3997
2003-01-15 00:17:12 +00:00
guido
0319671dea just fixed a few warnings
svn path=/trunk/; revision=3996
2003-01-14 18:51:12 +00:00
Hartmut Birr
6f63730de8 Fixed low memory mapping.
svn path=/trunk/; revision=3995
2003-01-13 01:11:12 +00:00
Hartmut Birr
2cc8694271 Fixed UINT8/PUINT8.
svn path=/trunk/; revision=3994
2003-01-13 00:50:37 +00:00
Robert Dickenson
e9ba047848 path to root correction.
svn path=/trunk/; revision=3993
2003-01-12 02:03:06 +00:00
Robert Dickenson
87c1e63ebe Added new targets.
svn path=/trunk/; revision=3992
2003-01-12 02:02:17 +00:00
Robert Dickenson
329c896e1f Updates to the VDM support. Improvemnts to the new wine-debug-channels supprt.
svn path=/trunk/; revision=3991
2003-01-12 01:54:40 +00:00
Gé van Geldorp
1028fc6755 getc must return unsigned chars, cast to int
svn path=/trunk/; revision=3990
2003-01-11 22:40:24 +00:00
Casper Hornstrup
a437c36e7f 2003-01-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
* boot.bat: Use DOS end-of-line characters.

svn path=/trunk/; revision=3989
2003-01-11 17:30:34 +00:00
Hartmut Birr
6dac0c12b1 Reduced the size of the copy buffer.
svn path=/trunk/; revision=3988
2003-01-11 16:03:55 +00:00
Hartmut Birr
99a3325875 Removed FCB_UPDATE_ENTRY.
svn path=/trunk/; revision=3987
2003-01-11 16:02:29 +00:00
Hartmut Birr
0f02fa7c0d Call VfatUpdateEntry on each write operation.
svn path=/trunk/; revision=3986
2003-01-11 16:01:28 +00:00
Hartmut Birr
3ce30c75e1 Inform/query the cache/memory manager if a file would be deleted.
svn path=/trunk/; revision=3985
2003-01-11 16:00:16 +00:00
Hartmut Birr
3e3f697064 Store a pointer to the parent in the fcb structure and
reference/dereference the parent fcb on create/destroy.

svn path=/trunk/; revision=3984
2003-01-11 15:59:07 +00:00
Hartmut Birr
a2aa04440b Reduced some overhead in VfatUpdateEntry.
svn path=/trunk/; revision=3983
2003-01-11 15:57:55 +00:00
Hartmut Birr
7a16a8cbe7 Removed the call to VfatUpdateEntry.
Executed VfatClose always synchronous.

svn path=/trunk/; revision=3982
2003-01-11 15:56:43 +00:00
Hartmut Birr
189d9d92c3 Removed the call to VfatUpdateEntry.
svn path=/trunk/; revision=3981
2003-01-11 15:52:54 +00:00
Hartmut Birr
543fd98805 Used a hash table for storing/searching of process data pointers.
Unmap the connected view in CsrFreeProcessData.
Set the correct reply status in CsrCreateProcess.

svn path=/trunk/; revision=3980
2003-01-11 15:51:48 +00:00
Hartmut Birr
dfbf98b1b0 Fixed the check for the correct count of pagefiles.
svn path=/trunk/; revision=3979
2003-01-11 15:49:33 +00:00
Hartmut Birr
aa18c0d5d4 Ended the searching for a free block if it was found one.
svn path=/trunk/; revision=3978
2003-01-11 15:48:33 +00:00
Hartmut Birr
779329a8ee Disabled the call to MmWriteDirtyPages. MmWriteDirtyPages doesn't work correctly.
svn path=/trunk/; revision=3977
2003-01-11 15:47:14 +00:00
Hartmut Birr
9a1546a675 Signaled the event of pageop at return if the function have previous wait at this event.
svn path=/trunk/; revision=3976
2003-01-11 15:45:55 +00:00
Hartmut Birr
680b25b598 Did not dereference the connected port if the function returns success.
svn path=/trunk/; revision=3975
2003-01-11 15:33:49 +00:00
Hartmut Birr
b99cb5b1aa Fixed a comment.
svn path=/trunk/; revision=3974
2003-01-11 15:32:40 +00:00
Hartmut Birr
be6d0d37cd Signaled the event of pageop at return if the function have previous wait at this event.
Freed the section segments for a pagefile mapping in MmpDeleteSection.
Dereferenced the section object at the end of MmCreatePageFileSection.
Implemented MmFlushImageSection (not complete).

svn path=/trunk/; revision=3973
2003-01-11 15:31:05 +00:00
Hartmut Birr
14c1929fc2 Used lookasidelists for rmap's.
svn path=/trunk/; revision=3972
2003-01-11 15:28:18 +00:00
Hartmut Birr
ac22af2d68 Used lookasidelists for pageop's.
svn path=/trunk/; revision=3971
2003-01-11 15:26:59 +00:00
Hartmut Birr
e177cc849d Used lookasidelists for some memory allocations.
Implemented a delayed remove/close function for file objects.
This holds files for section views (exe's and dll's) longer
within the cache.

svn path=/trunk/; revision=3970
2003-01-11 15:24:38 +00:00
Hartmut Birr
7a00c6be46 Used lookasidelists for ibcb's.
Enabled caching of directories and fat segments.

svn path=/trunk/; revision=3969
2003-01-11 15:22:31 +00:00
Hartmut Birr
a0e6246535 Moved all definitions for internal structures and functions to cc.h.
svn path=/trunk/; revision=3968
2003-01-11 15:21:09 +00:00
Gé van Geldorp
ec67f794e9 Temporary fix to allow build to continue(generated file, shouldn't be in CVS)
svn path=/trunk/; revision=3967
2003-01-10 20:02:50 +00:00
Robert Dickenson
f821d1d7cc Changes to included libraries in build.
svn path=/trunk/; revision=3966
2003-01-08 19:56:26 +00:00
Robert Dickenson
d606d9479f New name for packet capture library network driver, packet driver to be deprecated.
svn path=/trunk/; revision=3965
2003-01-08 19:55:02 +00:00
Robert Dickenson
cfc75012b1 New library to export the wine debug channel support functions.
svn path=/trunk/; revision=3964
2003-01-08 19:52:22 +00:00
Robert Dickenson
f81a1de259 Moved wine debug channel exports to new library.
svn path=/trunk/; revision=3963
2003-01-08 19:50:39 +00:00
Robert Dickenson
1af5429d2b And that wraps up our broadcast for this evening.
svn path=/trunk/; revision=3961
2003-01-07 18:22:54 +00:00
Robert Dickenson
9c58563e7b Updates to accomodate changes and additions with the various sub-modules.
svn path=/trunk/; revision=3960
2003-01-07 18:20:34 +00:00
Robert Dickenson
158847adad temporarily removed regexpl due to C++ dependance problems.
svn path=/trunk/; revision=3959
2003-01-07 18:16:44 +00:00
Robert Dickenson
34f1644a51 Updated and removed temporarily regexpl due to C++ problems.
svn path=/trunk/; revision=3958
2003-01-07 18:14:30 +00:00
Robert Dickenson
b30bc31e1f CVS housekeeping.
svn path=/trunk/; revision=3957
2003-01-07 18:10:30 +00:00
Robert Dickenson
299dc7ee24 Added clipboard and common dialog references as well as build improvements.
svn path=/trunk/; revision=3956
2003-01-07 18:06:16 +00:00
Robert Dickenson
d73cc06799 Temporary fork of candidate base of potententially very useful development tool for ros.
svn path=/trunk/; revision=3955
2003-01-07 17:59:20 +00:00
Robert Dickenson
b8573aace5 Added _alldiv,_allmul,_allrem,_allshl,_allshr,_aulldiv,_aullrem,_aullshr stubs and exported them.
svn path=/trunk/; revision=3954
2003-01-07 17:48:12 +00:00
Robert Dickenson
5def2455d3 Added rules for building 'proglib' targets since nothing seemed to use this target already and it didn't work for csrss otherwise.
svn path=/trunk/; revision=3953
2003-01-07 17:39:58 +00:00
Robert Dickenson
839ce7a195 Changed from target type 'program' to 'proglib' and exported CsrServerInitialization for OS/2 subsystem linkage.
svn path=/trunk/; revision=3952
2003-01-07 17:37:22 +00:00
Robert Dickenson
2f4bd108e7 Turned back off and modified some other debug noise.
svn path=/trunk/; revision=3951
2003-01-07 17:35:56 +00:00
Robert Dickenson
b4ed26f8da Added some some missing exports for wine module linkage.
Shutdown was a mess from *nix newlines.

svn path=/trunk/; revision=3950
2003-01-07 17:32:59 +00:00
Robert Dickenson
ae2157bade Added some some missing exports for wine module linkage.
svn path=/trunk/; revision=3949
2003-01-07 17:30:33 +00:00
Robert Dickenson
0ffa768455 Added support for lauching VDM on dos image load.
Depends phase in makefile for processing with wmc.
Included message table resources section.
Added some some missing exports for wine module linkage.

svn path=/trunk/; revision=3948
2003-01-07 17:29:09 +00:00
Robert Dickenson
3f13766f16 added install batch similar to that provided in /reactos. Removed deprecated Makefile.
svn path=/trunk/; revision=3947
2003-01-07 16:24:45 +00:00
Robert Dickenson
a6d6844e8a Performed housekeeping to get the subsystem building. Introduced ros makefile 'standards' throughout.
Is anybody doing any work on the OS/2 support?

svn path=/trunk/; revision=3946
2003-01-07 16:23:12 +00:00
Robert Dickenson
a8e38f8c30 housekeeping files...
svn path=/trunk/; revision=3945
2003-01-05 19:32:32 +00:00
Robert Dickenson
8efeab6149 Include a define for a Macro having being defined, temporary fix to avoid conflict with posix+ headers.
svn path=/trunk/; revision=3944
2003-01-05 19:23:20 +00:00
Robert Dickenson
176e744766 Trivial update to trace message plus the usual housekeeping...
svn path=/trunk/; revision=3943
2003-01-05 19:18:44 +00:00
Robert Dickenson
add8773a9b Added a new phase to the build cycle, make depends, in order to get certain dependancies built first.
This includes but is not limited to global error code headers generated from message scripts via wmc.

svn path=/trunk/; revision=3942
2003-01-05 19:17:16 +00:00
Robert Dickenson
9b802163c5 Updated global ReactOS makefile to incorporate new wine and posix etc sub-targets with the defacto standard make style.
svn path=/trunk/; revision=3941
2003-01-05 19:15:10 +00:00
Robert Dickenson
3028effd84 doing some maintenance on the posix build system, getting in sync with reactos base.
svn path=/trunk/; revision=3940
2003-01-05 18:29:41 +00:00
Robert Dickenson
0ab5c4ecee doing some maintenance on the posix build system, getting in sync with reactos base.
svn path=/trunk/; revision=3939
2003-01-05 18:10:27 +00:00
Robert Dickenson
bc87211c3f housekeeping files...
svn path=/trunk/; revision=3938
2003-01-05 17:54:20 +00:00
Robert Dickenson
d110568a5c created stubs for the rest of the functions listed in mingw's tlhelp.h and exported them.
svn path=/trunk/; revision=3937
2003-01-05 14:32:32 +00:00
Robert Dickenson
c374e4ed3e Created test program for loading libraries in various ways.
svn path=/trunk/; revision=3936
2003-01-05 14:17:42 +00:00
Robert Dickenson
b9113d3fae Moved the beginnings of some toolhelp exports to their own module.
svn path=/trunk/; revision=3935
2003-01-05 10:07:08 +00:00
Robert Dickenson
661896dfde ps did not require a lot from C++, so now it doesn't require it at all.
svn path=/trunk/; revision=3934
2003-01-04 18:36:28 +00:00
Robert Dickenson
7a48c7fcf2 exported stubs for Process32First, Process32Next and CreateToolhelp32Snapshot created.
svn path=/trunk/; revision=3933
2003-01-04 18:33:18 +00:00
Robert Dickenson
7c22eaa402 reference to mingw's libth32.a added so the thing compiles *and* links.
svn path=/trunk/; revision=3932
2003-01-04 17:45:49 +00:00
Emanuele Aliberti
14759bdf75 Copyright years updated to 2003.
svn path=/trunk/; revision=3931
2003-01-04 15:24:12 +00:00
Emanuele Aliberti
3d07c7ba00 Eugene Ingerman, Guido de Jong, Jurgen van Gael, Marty Dill, and Ge van Geldorp added to the list of ROS coders.
svn path=/trunk/; revision=3930
2003-01-04 15:21:18 +00:00
Hartmut Birr
267074bb2e Fixed handling of large FAT32 partitions.
svn path=/trunk/; revision=3928
2003-01-04 02:07:18 +00:00
Gé van Geldorp
0a4d96cc81 Handle FAT32 partitions larger than 4GB
svn path=/trunk/; revision=3927
2003-01-03 23:58:31 +00:00
guido
85c1893693 fix some warnings
----------------------------------------------------------------------

svn path=/trunk/; revision=3926
2003-01-03 00:28:07 +00:00
Casper Hornstrup
31fe11951c 2003-01-02 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/ke/timer.c (KeExpireTimers): Avoid signed/unsigned comparison
	warning.
	* lib/user32/controls/scrollbar.c (SCROLL_DrawScrollBar): Put a statement
	at end.

svn path=/trunk/; revision=3925
2003-01-02 23:37:28 +00:00
Hartmut Birr
a39bff34c3 Set the hidden sector value from boot sector with the correct partition offset.
svn path=/trunk/; revision=3924
2003-01-02 21:43:52 +00:00
Hartmut Birr
8c7e8c4bbc Recalculate the partition value for freeldr. Freeldr uses a different partition numbering like linux.
svn path=/trunk/; revision=3923
2003-01-02 21:42:56 +00:00
Hartmut Birr
efc518af7b Fixed the access to the region list in MmAlterRegion.
svn path=/trunk/; revision=3922
2003-01-02 16:41:56 +00:00
Hartmut Birr
4af2b6bcb7 Splited HalEndSystemInterrupt in two functions. HalEndSystemInterrupt,
HalpLowerIrql and HalpExecuteIrqs was called recursively.

svn path=/trunk/; revision=3921
2003-01-02 16:07:49 +00:00
Hartmut Birr
e7cbcafe30 Moved the call to HalEndSystemInterrupt to the end of KiInterruptDispatch.
svn path=/trunk/; revision=3920
2003-01-02 16:06:49 +00:00
Hartmut Birr
7d15711868 Fixed a buffer overflow in wcsncpy.
svn path=/trunk/; revision=3919
2003-01-02 16:05:50 +00:00
Hartmut Birr
0b2f407fd4 Added a missing call to VfatCloseFile.
svn path=/trunk/; revision=3918
2003-01-02 16:04:31 +00:00
Hartmut Birr
b3f5d3a6f8 Added a terminating 0 in vfatGetFCBForFile. Vfat has used the buggy implementation of wcsncpy.
svn path=/trunk/; revision=3917
2003-01-02 16:03:56 +00:00
Hartmut Birr
c937cd4933 Fixed the handling for errors/retries.
svn path=/trunk/; revision=3916
2003-01-02 16:03:04 +00:00
Hartmut Birr
f9725d0888 Check if a uncached read is sector aligned, fail if is not.
svn path=/trunk/; revision=3915
2003-01-02 16:02:02 +00:00
Hartmut Birr
5d8ab9ff70 Uninitialize the file cache only if it was initialized.
svn path=/trunk/; revision=3914
2003-01-02 16:01:21 +00:00
Robert Dickenson
5b2709d12e added missing sub-dir to clean rule.
svn path=/trunk/; revision=3913
2003-01-01 11:18:06 +00:00
Robert Dickenson
e5b16f9408 Updates to test program.
svn path=/trunk/; revision=3912
2003-01-01 11:16:18 +00:00
Robert Dickenson
617e618fda Minor mods.
svn path=/trunk/; revision=3911
2003-01-01 11:11:49 +00:00
Robert Dickenson
980c3dbb9a Changes to all definitions involving wchar_t. The unsigned short type caused g++ to fail.
svn path=/trunk/; revision=3910
2003-01-01 06:19:37 +00:00
Robert Dickenson
4d245b3040 updates to the sc utility.
svn path=/trunk/; revision=3909
2002-12-28 16:19:22 +00:00
Robert Dickenson
239ec2591c added a default test ip address, i'm sure i've done this before...
svn path=/trunk/; revision=3908
2002-12-28 16:12:04 +00:00
Robert Dickenson
79a36072ff added new targets - does anybody else use these?
perhaps I should try make install some time...

svn path=/trunk/; revision=3907
2002-12-28 16:10:03 +00:00
Robert Dickenson
c7e92bc001 added new targets and some macros.
svn path=/trunk/; revision=3906
2002-12-28 16:07:59 +00:00
Robert Dickenson
d4e546fc84 moved all wine targets to makefile in wine dir
svn path=/trunk/; revision=3905
2002-12-28 16:06:11 +00:00
Gé van Geldorp
fab451963b Added apps\tests\copymove
svn path=/trunk/; revision=3904
2002-12-27 23:56:03 +00:00
Gé van Geldorp
92dee16101 Tests for MoveFile and related routines
svn path=/trunk/; revision=3903
2002-12-27 23:54:33 +00:00
Gé van Geldorp
133a166af6 Improved file attribute and file time handling
svn path=/trunk/; revision=3902
2002-12-27 23:50:21 +00:00
Robert Dickenson
d2d897b1c4 something going spooky with CVS, trying to get this file in...
svn path=/trunk/; revision=3901
2002-12-27 14:53:06 +00:00
Robert Dickenson
3288c0e0d5 Include test for truncating files, which currently doesn't work.
svn path=/trunk/; revision=3900
2002-12-27 14:44:01 +00:00
Robert Dickenson
bb2e6e63b8 Progress with opening and closing handles to SCM.
svn path=/trunk/; revision=3899
2002-12-27 14:40:03 +00:00
Robert Dickenson
70544cdae0 First draft of a ScmNamedPipeListenerThread implementation.
Some debug noise from winlogon and as always edited an ignore file.

svn path=/trunk/; revision=3898
2002-12-27 13:54:28 +00:00
Robert Dickenson
e464b1cd43 rename target from sh.exe to baresh.exe to avoid namespace conflict.
svn path=/trunk/; revision=3897
2002-12-26 18:28:25 +00:00
Robert Dickenson
c36596ece0 Keep the posix module buildable, and add some CVS sugar for easier scanning.
svn path=/trunk/; revision=3896
2002-12-26 18:14:38 +00:00
Robert Dickenson
2ed726833f Changed THREAD_STATE_RUNNABLE to THREAD_STATE_READY however PsDispatchThread() is still inaccessible.
svn path=/trunk/; revision=3895
2002-12-26 17:36:12 +00:00
Robert Dickenson
0edbb923d6 Perl5.8 requires the pointer to i/o table to be exported, and layed out correctly...
svn path=/trunk/; revision=3894
2002-12-26 17:26:41 +00:00
Robert Dickenson
b9d3e630ef Unix extra lines cleaned up.
svn path=/trunk/; revision=3893
2002-12-26 17:23:27 +00:00
Robert Dickenson
8e885e0492 Started to port some of the support for IsCharAlphaNumeric et al from wine.
svn path=/trunk/; revision=3892
2002-12-26 17:21:27 +00:00
Robert Dickenson
6cf975887d More sugar for CVS...
svn path=/trunk/; revision=3891
2002-12-26 17:16:13 +00:00
Robert Dickenson
df6e777080 Added new Service Control utitlity.
svn path=/trunk/; revision=3890
2002-12-26 17:04:46 +00:00
Gé van Geldorp
ccf4643b4c Fix sector size for AT LBA drives at 512 bytes
svn path=/trunk/; revision=3889
2002-12-22 11:38:41 +00:00
Gé van Geldorp
67cf4a374e Fixed typo, Edi was not restored
svn path=/trunk/; revision=3888
2002-12-22 11:35:15 +00:00
Gé van Geldorp
7140e3951d Volume label doesn't always have the ARCHIVE bit set
svn path=/trunk/; revision=3887
2002-12-22 11:26:01 +00:00
Jason Filby
2f3111335f Oops! Commented out offending line
svn path=/trunk/; revision=3886
2002-12-22 10:50:04 +00:00
Jason Filby
69ccaa8434 Scrollbar improvements
svn path=/trunk/; revision=3885
2002-12-21 19:25:41 +00:00
Eric Kohl
afe60dcdbf Add bootsectors and FREELDR.SYS to bootcd.
svn path=/trunk/; revision=3884
2002-12-21 14:54:47 +00:00
Robert Dickenson
05a8cab618 Revisted the packet capture driver and updated with fixes in latest 3.0a4 release.
Seems I'll need to do some work on the SCM before this'll be running for me.

svn path=/trunk/; revision=3883
2002-12-21 04:46:09 +00:00
Hartmut Birr
5f09dd1402 Replaced some calls to DbgPrint with the DPRINT macro.
svn path=/trunk/; revision=3882
2002-12-16 23:23:21 +00:00
Hartmut Birr
2774a7c60b Unmap the low memory in SMP mode in MmInit3.
svn path=/trunk/; revision=3881
2002-12-16 22:59:44 +00:00
Hartmut Birr
5b1b2a4860 Fixed Exfi386InterlockedExchangeUlong and InterlockedExchange.
svn path=/trunk/; revision=3880
2002-12-16 22:56:30 +00:00
Casper Hornstrup
3aa9d2d9ba 2002-12-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/fs/vfat/cleanup.c (VfatCleanupFile): Only uninitialize caching
	when initialized.
	* drivers/fs/vfat/fcb.c (vfatReleaseFCB): Ditto.
	* lib/kernel32/mem/section.c (CreateFileMappingW): Pass NULL as
	MaximumSize to NtCreateSection if dwMaximumSizeHigh and dwMaximumSizeLow
	are both 0.
	* ntoskrnl/cc/pin.c (CcMapData): Assert if Bcb is NULL.
	* ntoskrnl/cc/view.c (CcRosReleaseCacheSegment, CcRosLookupCacheSegment,
	CcRosMarkDirtyCacheSegment, CcRosUnmapCacheSegment,
	CcRosCreateCacheSegment, CcRosGetCacheSegmentChain,
	CcRosGetCacheSegment, CcRosRequestCacheSegment, CcFlushCache,
	CcRosDeleteFileCache, CcRosReferenceCache, CcRosDereferenceCache,
	CcRosReleaseFileCache, CcGetFileObjectFromSectionPtrs): Ditto.
	* ntoskrnl/mm/section.c (MiReadPage): Assert if Fcb->Bcb is NULL.
	(MmCreateDataFileSection): Make sure caching is initialized for the file
	stream.

svn path=/trunk/; revision=3879
2002-12-15 17:01:52 +00:00
Eric Kohl
d774049979 Use lookaside list to allocate SRBs.
svn path=/trunk/; revision=3878
2002-12-15 14:34:43 +00:00
Robert Dickenson
35ccf47588 created kernel32.mc message file which generates errcodes.rc, MSG00409.bin and /include/reactos/errcodes.h
need to figure out how to get these to build automatically at the dependancy stage before including the output rc into kernel32 resources.

svn path=/trunk/; revision=3877
2002-12-15 06:34:43 +00:00
Steven Edwards
dd8087fdde Apply'd hartmut sector size patch for VMware.
Please report if you have problems on your platform

svn path=/trunk/; revision=3876
2002-12-15 00:23:31 +00:00
Steven Edwards
9894d327a4 Added more stubs for bochs.
svn path=/trunk/; revision=3875
2002-12-14 17:36:51 +00:00
Robert Dickenson
218703bf94 Updated test program.
Successfully reads and writes short test buffer using stream I/O, both A and W versions.
Tests for correct handling of /r/n in text modes however nothing as yet for multi-bytes.
If you rebuild me watch out for the dependacy _tfileio.c which doesn't have an entry in the makefile.

svn path=/trunk/; revision=3874
2002-12-14 14:42:01 +00:00
Eric Kohl
4e2f492dc0 Fixed data overrun upon read commands.
svn path=/trunk/; revision=3873
2002-12-13 19:35:12 +00:00
Eric Kohl
34056f0e1c Don't build ide.sys any longer.
svn path=/trunk/; revision=3872
2002-12-12 17:04:01 +00:00
Robert Dickenson
30b8d5cc45 Fixed "kernel32_test codepage" conformance test:
C:\reactos\bin>kernel32_test codepage
codepage: 2 tests executed, 0 marked as todo, 0 failures.
Plus a bit of cvsignoring and #ifdef's in stubs for trying to build with the ole2nls module.

svn path=/trunk/; revision=3871
2002-12-12 04:53:23 +00:00
Robert Dickenson
785d4e6698 KdDebuggerEnable -> KdDebuggerEnabled
svn path=/trunk/; revision=3870
2002-12-11 04:39:20 +00:00
Hartmut Birr
a7be665092 Removed dependancy tracking.
svn path=/trunk/; revision=3869
2002-12-10 19:09:26 +00:00
Steven Edwards
1ff8dc116a Linking not hosed now. Fixed via import of -lstdc++.
svn path=/trunk/; revision=3868
2002-12-10 17:03:03 +00:00
Steven Edwards
e4493af78d Fixed makefile for cabman. Linking is still hosed.
svn path=/trunk/; revision=3867
2002-12-10 17:01:16 +00:00
Eric Kohl
1ff210919e Added the Promise Ultra100 (PDC20267) controller to the list of supported atapi controllers.
svn path=/trunk/; revision=3866
2002-12-10 12:18:33 +00:00
Robert Dickenson
c43641f102 Put things back how they work for others until I work it out properly.
svn path=/trunk/; revision=3865
2002-12-10 09:31:30 +00:00
Eric Kohl
f51d9f66a6 Replaced bios error codes by valid status codes.
svn path=/trunk/; revision=3864
2002-12-09 23:15:57 +00:00
Eric Kohl
e1ed68fe85 Implemented ScsiPortGetDeviceBase() and ScsiPortFreeDeviceBase().
svn path=/trunk/; revision=3863
2002-12-09 23:14:04 +00:00
Eric Kohl
2b0a6b6d38 Fixed buggy system hive identification.
svn path=/trunk/; revision=3862
2002-12-09 23:09:25 +00:00
Hartmut Birr
8f1bfbccb6 Fixed some bugs in the wait functions.
svn path=/trunk/; revision=3861
2002-12-09 20:16:42 +00:00
Hartmut Birr
e1b39fac3c Protected the access to system_time with a spinlock.
svn path=/trunk/; revision=3860
2002-12-09 20:15:25 +00:00
Hartmut Birr
d008835685 Fixed the setting of the real time clock.
svn path=/trunk/; revision=3859
2002-12-09 20:13:12 +00:00
Hartmut Birr
cd35c38aa0 Added ntdll.a to TARGET_SDKLIBS. Ntdll.a is needed to import DbgPrint for DPRINT macros.
svn path=/trunk/; revision=3858
2002-12-09 20:11:56 +00:00
Hartmut Birr
14d77e9c63 Added -D_MSVCRT_LIB_ to TARGET_CFLAGS and ntdll.a to TARGET_SDKLIBS.
Ntdll.a is needed to import DbgPrint for DPRINT macros.

svn path=/trunk/; revision=3857
2002-12-09 20:09:24 +00:00
Hartmut Birr
c8662b4cab Disabled the definition of DbgPrint for __GNUC__. DbgPrint is imported from ntdll.dll.
svn path=/trunk/; revision=3856
2002-12-09 20:07:46 +00:00
Hartmut Birr
1fa5ceab79 Fixed the initializing of the C runtime handles.
svn path=/trunk/; revision=3855
2002-12-09 20:06:24 +00:00
Hartmut Birr
1cd89b296e Added support for shared interrupts (tested with a promise ultra100tx2 controller).
Added support for the Promise utra100tx2 controller.
Used multiple sector commands and 32bit IO only if the disk does support this.

svn path=/trunk/; revision=3854
2002-12-09 20:04:44 +00:00
Hartmut Birr
4db7fe648e Added more debug messages.
Register interrupts with hal and allow shared interrupts.

svn path=/trunk/; revision=3853
2002-12-09 20:01:14 +00:00
Hartmut Birr
39a9c0a865 Register interrupts with hal.
svn path=/trunk/; revision=3852
2002-12-09 19:57:56 +00:00
Hartmut Birr
a7ee619591 Enable/Disable the irq in KeConnectInterrupt/KeDisconnectInterrupt.
Call each registered interrupt in KiInterruptDispatch2 (only for UP).

svn path=/trunk/; revision=3851
2002-12-09 19:53:44 +00:00
Hartmut Birr
c657e69cc6 Fixed handling for level triggered interrupts.
svn path=/trunk/; revision=3850
2002-12-09 19:51:16 +00:00
Hartmut Birr
4386afd7cb Protected the cmos ports with a spinlock.
svn path=/trunk/; revision=3849
2002-12-09 19:47:22 +00:00
Hartmut Birr
89fd93f5c7 Fixed the calculation of the irql.
svn path=/trunk/; revision=3848
2002-12-09 19:46:39 +00:00
Hartmut Birr
bb6414ddad Fixed the addressing of pci device and function numbers.
Protected the pci ports with a spinlock.
Fixed the calculation of the irql.
Added HalpTranslatePciAddress.

svn path=/trunk/; revision=3847
2002-12-09 19:45:55 +00:00
Hartmut Birr
24941bbcb3 Added HalpGetIsaInterruptVector.
svn path=/trunk/; revision=3846
2002-12-09 19:44:44 +00:00
Robert Dickenson
167268f4b3 Commented out reference to VECTOR2IRQ in order to get MP config building.
svn path=/trunk/; revision=3845
2002-12-09 18:44:05 +00:00
Robert Dickenson
74075d4ed5 Commented out call to PsDispatchThread(THREAD_STATE_RUNNABLE) in order to get MP config building.
svn path=/trunk/; revision=3844
2002-12-09 18:42:41 +00:00
Robert Dickenson
58d9c81bdc Added a dummy copy of KiInterruptDispatch2 and removed reference to KeGetCurrentThread()->LastEip in order to get MP config building.
svn path=/trunk/; revision=3843
2002-12-09 18:40:45 +00:00
Robert Dickenson
5118ff8a48 Still... having problems with auto-depends on when running building Windows.
DEPENDS_PATH := $(PATH_TO_TOP)/tools/
Seems to need a trailing / on the other option as well???
I can't explain what's going on here, so I'm trying to fix it by trial and error.
Once again, please let me know if it breaks things for others.

svn path=/trunk/; revision=3842
2002-12-09 17:26:00 +00:00
Robert Dickenson
8d49e96dcf Still having problems with auto-depends on when running building Windows.
Cannot see how or when this problem was introduced, just suddenly stopped working the other day...
Appending the final \ seems to get it fixed again.
DEPENDS_PATH := $(subst /,\,$(PATH_TO_TOP))\tools\
Please let me know if it breaks things for others.

svn path=/trunk/; revision=3841
2002-12-09 17:03:09 +00:00
Robert Dickenson
719e18bbee Added some more libraries which now build to the WINE_DLLS section.
svn path=/trunk/; revision=3840
2002-12-09 15:38:18 +00:00
Robert Dickenson
1a95510552 Rollback removal of auto-dependancy checking.
Another version of make had made it's way in front of my path )^;

svn path=/trunk/; revision=3839
2002-12-09 15:18:11 +00:00
Eric Kohl
029fe88aa3 Fixed a bug which created new registry hives in the wrong directory.
svn path=/trunk/; revision=3838
2002-12-08 18:54:45 +00:00
Robert Dickenson
f2a2cbc0d9 minor format modifications to reduce diffs with latest wine sources to simplify updating.
mainly just updated with LGPL license in headers.

svn path=/trunk/; revision=3837
2002-12-08 16:26:52 +00:00
Robert Dickenson
5e2ff077e8 minor format modifications to reduce diffs with duplicates elsewhere in tree.
comment out depends rule in makefile since it doesn't work when building on windows.

svn path=/trunk/; revision=3836
2002-12-08 16:23:33 +00:00
Robert Dickenson
dd12442072 typos, reduce mingw header diffs, extra includes.
svn path=/trunk/; revision=3835
2002-12-08 16:18:30 +00:00
Robert Dickenson
a49981697a Fix for wide character streams.
svn path=/trunk/; revision=3834
2002-12-08 16:14:28 +00:00
Robert Dickenson
91616f730f Adding support for resource based error message table
svn path=/trunk/; revision=3833
2002-12-08 16:07:18 +00:00
Robert Dickenson
61bb7ba7ad Split out the resource functions for finer control of debug output.
svn path=/trunk/; revision=3832
2002-12-08 15:57:40 +00:00
Eric Kohl
688e9b05d9 Ouch!
svn path=/trunk/; revision=3831
2002-12-07 15:43:29 +00:00
Eric Kohl
822d5e3d78 Call CmInit2() only if the system hive was imported.
svn path=/trunk/; revision=3830
2002-12-07 14:47:10 +00:00
Eric Kohl
1a57936f09 Added progress bar to file copy page.
svn path=/trunk/; revision=3828
2002-12-06 21:39:04 +00:00
Eric Kohl
72136233fb Fixed warnings.
svn path=/trunk/; revision=3827
2002-12-06 17:33:16 +00:00
Eric Kohl
5c0db541d3 Fixed a typo.
svn path=/trunk/; revision=3826
2002-12-06 17:31:33 +00:00
Robert Dickenson
accbf7c896 In search of meaningful error messages and some housekeeping on the stubs file.
svn path=/trunk/; revision=3825
2002-12-06 13:14:14 +00:00
Brian Palmer
0853d8cf3d Changes in v1.7.12 (12/05/2002) (brianp)
- Minor tweak to UI code to allow description
  text to be displayed along with the progress
  bar.

svn path=/trunk/; revision=3824
2002-12-06 04:43:02 +00:00
Brian Palmer
f54c214e8e Changes in v1.7.11 (12/05/2002) (brianp)
- Added memory map count to GetBiosMemoryMap() so that
  it doesn't just assume the size of the array.
- Fix so that we use the continuation value that
  the BIOS returns.

svn path=/trunk/; revision=3823
2002-12-06 04:00:41 +00:00
Robert Dickenson
f1592aa69f Improved unicode fileio support.
svn path=/trunk/; revision=3822
2002-12-05 15:31:26 +00:00
Eric Kohl
2aacb78c3e Removed some error-prone bit-fiddling.
svn path=/trunk/; revision=3821
2002-12-04 20:39:03 +00:00
Eric Kohl
e51ba71a9b Fixed a typo.
svn path=/trunk/; revision=3820
2002-12-04 20:36:22 +00:00
Eric Kohl
b4d4bdf465 Added bus- and target-specific data to the device map.
svn path=/trunk/; revision=3819
2002-12-03 23:57:05 +00:00
Hartmut Birr
e3a1b88d60 Added support for the lower case flags of 8.3 names.
Fixed a bug that will corrupt directories if ros creates 8.3 names without a long name.

svn path=/trunk/; revision=3818
2002-12-03 01:14:49 +00:00
Eric Kohl
c00bebf1f2 Implemented SetThreadAffinityMask().
Fixed some *nix line breaks.

svn path=/trunk/; revision=3817
2002-12-02 21:28:40 +00:00
Eric Kohl
a378416e55 Implemented deferred hive synchronization. It doesn't sync yet.
svn path=/trunk/; revision=3816
2002-12-02 18:52:44 +00:00
Robert Dickenson
0416e5796f updated wine target section.
svn path=/trunk/; revision=3815
2002-12-02 18:40:33 +00:00
Eric Kohl
13c33450ed Fixed NtQueryValueKey() wrt packed value names.
svn path=/trunk/; revision=3814
2002-12-01 19:18:16 +00:00
Eric Kohl
21ad71423a Fixed a display bug in test 1.
svn path=/trunk/; revision=3813
2002-12-01 19:16:26 +00:00
Robert Dickenson
64c768602f Temporarily remove last few wine build targets that need some more work.
svn path=/trunk/; revision=3812
2002-11-30 19:12:51 +00:00
Eric Kohl
d608e437c9 Implemented packing of value names
svn path=/trunk/; revision=3811
2002-11-30 14:46:27 +00:00
Robert Dickenson
4bad5b8b2f Split out a few variable differences between libraries.
svn path=/trunk/; revision=3810
2002-11-29 16:00:21 +00:00
Robert Dickenson
1b135b8732 Further reduced differences and include all identical msvcrt targets in crtdll makefile.
svn path=/trunk/; revision=3809
2002-11-29 15:59:05 +00:00
Robert Dickenson
b5cd7d30a0 Updating include path in files previously missed.
svn path=/trunk/; revision=3808
2002-11-29 12:27:50 +00:00
Robert Dickenson
2ebbba0d7d Updating files somehow confused by CVS.
Old tree cvs reports up-to-date.
New tree - different ???
more to come...

svn path=/trunk/; revision=3807
2002-11-29 11:26:58 +00:00
Eric Kohl
5f25774f6e Added driver name to the partition list
svn path=/trunk/; revision=3806
2002-11-28 19:20:38 +00:00
Eric Kohl
4603c2ef5a Build the hardware device map for each SCSI port.
Bus or device specific information is not implemented yet.

svn path=/trunk/; revision=3805
2002-11-28 16:07:04 +00:00
Robert Dickenson
630e12009d Thank-you to Eugene for pointing out that I missed a required change
I:\Dev\reactos\reactos\apps\utils\net\roshttpd\include\socket.h
           8 : #include <crtdll/stdio.h>
Fixed to now include <msvcrt/....> instead which is now common to both the ntdll and msvcrt dll's

svn path=/trunk/; revision=3804
2002-11-28 12:21:02 +00:00
Hartmut Birr
ac08a1048a Added a missing increment operator.
svn path=/trunk/; revision=3803
2002-11-27 21:00:49 +00:00
Hartmut Birr
99b937362d Fixed the return value in ferror.
svn path=/trunk/; revision=3802
2002-11-27 20:56:28 +00:00
Hartmut Birr
d4386d7b53 Free the user stack in PsReapThreads.
svn path=/trunk/; revision=3801
2002-11-27 20:54:37 +00:00
Hartmut Birr
56964fad03 Do only for process handles detach/attach the process. Some handles
needs the correct process on close/delete. Only for process handles
is it possible that ObCloseAllHandles is called recursively.

svn path=/trunk/; revision=3800
2002-11-27 20:52:29 +00:00
Hartmut Birr
baf7670d00 Change the type for the page fault handler from trap to interrupt gate.
Enable interrupts on page faults only if the faulting process has interrupts enabled.

svn path=/trunk/; revision=3799
2002-11-27 20:49:54 +00:00
Hartmut Birr
d6ec424dbf Fixed the definition of NTKERNELAPI.
svn path=/trunk/; revision=3798
2002-11-27 20:46:44 +00:00
Hartmut Birr
6dc09f22d2 Initialize the registers for the next call to Int386 in GetBiosMemoryMap.
svn path=/trunk/; revision=3797
2002-11-27 20:31:17 +00:00
Hartmut Birr
dd6e3b8b31 Intialize the size for the bios memory map.
svn path=/trunk/; revision=3796
2002-11-27 20:29:43 +00:00
Eric Kohl
5f973ce0cf Use a 'secret' registry value to tell ntoskrnl where to create the registry hives.
svn path=/trunk/; revision=3795
2002-11-26 15:33:06 +00:00
Eric Kohl
a76689e99c Use ERESOURCE to lock registry hives.
Keep open hives in a global list.

svn path=/trunk/; revision=3794
2002-11-26 15:31:41 +00:00
guido
56b706f3e0 fixed compiler error: removed reference to crtdll
svn path=/trunk/; revision=3793
2002-11-25 23:53:38 +00:00
guido
8d09bf7839 Changes '\' to '/' to enable x-compiling on linux.
svn path=/trunk/; revision=3792
2002-11-25 23:19:31 +00:00
Robert Dickenson
a38f0cad21 cleaned up some warnings.
svn path=/trunk/; revision=3791
2002-11-25 17:41:40 +00:00
Robert Dickenson
8a0cebc9b6 no longer depend on msvcrt/tchar.h
svn path=/trunk/; revision=3790
2002-11-25 17:38:18 +00:00
Robert Dickenson
6b09fd544c Some cleanup.
svn path=/trunk/; revision=3789
2002-11-25 15:47:52 +00:00
Jason Filby
503d6a8fec Fixes
svn path=/trunk/; revision=3788
2002-11-24 20:25:49 +00:00
Jason Filby
dfc58357af Fixes
svn path=/trunk/; revision=3787
2002-11-24 20:18:35 +00:00
Jason Filby
683e4a3c99 Initial scrollbar code
svn path=/trunk/; revision=3786
2002-11-24 20:15:37 +00:00
Robert Dickenson
e676e56f6d cleaning up the cvs views a bit and added a makefile I must have missed a while ago.
svn path=/trunk/; revision=3785
2002-11-24 19:48:56 +00:00
Robert Dickenson
5110b764c2 update registry test program.
svn path=/trunk/; revision=3784
2002-11-24 19:13:40 +00:00
Robert Dickenson
11e87876dc update test program.
svn path=/trunk/; revision=3783
2002-11-24 19:12:30 +00:00
Brian Palmer
425bbb1543 Changes in v1.7.10 (11/24/2002) (brianp)
- Added assembler versions of memcmp() memcpy() memset()
- Implemented Int386() so that real-mode interrupts can be called from C-code
- Removed unnecessary call in DbgPrint() macro (freeldr.sys is ~16k smaller now)
- 64-bit lba sector addressing for disk calls
- Re-coded biosdisk.S as i386disk.c
- Re-coded mem.S as i386mem.c
- Re-coded rtlcode.S as i386rtl.c
- Cleaned up i386trap.S so that it only saves the registers once.
- Re-coded biosvid.S as i386vid.c
- Video fade in/out
- VESA text modes supported now
- Offscreen buffering to remove flicker
- Standardized format of boot sector so that BootPartition is stored right before 0xaa55
- Prefixed all file system functions with 'Fs'

svn path=/trunk/; revision=3782
2002-11-24 19:10:06 +00:00
Robert Dickenson
787724058b Added binary and unicode file i/o support to msvcrt.
Reduced differences between crtdll and msvcrt sources

svn path=/trunk/; revision=3781
2002-11-24 18:42:26 +00:00
Robert Dickenson
5bdf3d7d22 Added a header I created a while ago when looking into irda support.
svn path=/trunk/; revision=3780
2002-11-24 18:28:38 +00:00
Robert Dickenson
cd5fad8f71 Changes to suit addition of a single macro in the types header.
svn path=/trunk/; revision=3779
2002-11-24 18:26:40 +00:00
Robert Dickenson
e80942cd98 Mainly just added some small #ifdef sections for a little portability.
svn path=/trunk/; revision=3778
2002-11-24 18:24:52 +00:00
Robert Dickenson
db2294a694 Added header to aid porting and include tchar.h here as it's the only unique thing about /include/crtdll
svn path=/trunk/; revision=3777
2002-11-24 18:14:19 +00:00
Robert Dickenson
29f20a14b6 Not sure quite how these changed seeing as they're to go shortly I just want to clear my CVS for now.
svn path=/trunk/; revision=3776
2002-11-24 18:09:57 +00:00
Robert Dickenson
1b66fde766 Result of three way diffing with include/crtdll and the winapi2 headers.
reactos/include/crtdll now unused and to be deprecated.

svn path=/trunk/; revision=3775
2002-11-24 18:06:01 +00:00
Eric Kohl
e6d113445e Added some more files to the boot cd.
Implemented file copy queue.

svn path=/trunk/; revision=3774
2002-11-23 01:55:27 +00:00
Eric Kohl
b8d0354d95 Disabled debug message.
Attempt to read beyond the end of a file must return STATUS_END_OF_FILE.

svn path=/trunk/; revision=3773
2002-11-20 21:55:25 +00:00
Jason Filby
64975d00e2 Added some missing border style definitions
svn path=/trunk/; revision=3772
2002-11-20 20:56:41 +00:00
Robert Dickenson
cc6b5ab403 Altered layout for easier comparison with msvcrt's makefile.
svn path=/trunk/; revision=3771
2002-11-19 17:16:14 +00:00
Robert Dickenson
caadfbc4fa Created new subtree for groups of related test programs.
Created application for ANSI and UNICODE stream I/O testing.

svn path=/trunk/; revision=3770
2002-11-19 13:03:29 +00:00
Robert Dickenson
7c17b26c4e Created skeleton for notepad application.
svn path=/trunk/; revision=3769
2002-11-19 12:56:47 +00:00
Eric Kohl
19a1ecf23f Disabled a debug message.
svn path=/trunk/; revision=3768
2002-11-18 22:40:32 +00:00
Eric Kohl
3788a144f4 Added PCI class and subclass definitions.
svn path=/trunk/; revision=3767
2002-11-18 22:39:02 +00:00
Robert Dickenson
8e08360d7b Fixed up the path spec and filename in the header blocks
svn path=/trunk/; revision=3766
2002-11-18 05:43:33 +00:00
Robert Dickenson
e8a0978c40 Fixed up the path spec and filename in the header blocks
svn path=/trunk/; revision=3765
2002-11-18 03:19:43 +00:00
Robert Dickenson
3cdb8f8517 *nix newlines throughout file fixed.
svn path=/trunk/; revision=3764
2002-11-17 04:10:56 +00:00
Robert Dickenson
bcccc0197d Relative include path fixed to absolute path.
svn path=/trunk/; revision=3763
2002-11-17 04:00:33 +00:00
Eric Kohl
89c5d6dd51 Revoved lots of unix line breaks.
svn path=/trunk/; revision=3762
2002-11-16 00:08:45 +00:00
Casper Hornstrup
28516f1bfb Fix compillation error.
svn path=/trunk/; revision=3761
2002-11-15 23:26:16 +00:00
Casper Hornstrup
5e586c9ecf 2002-11-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/ddk/ldrtypes.h: Move ...
	* include/ntos/ldrtypes.h: ... here.
	* include/ddk/ntddk.h: Include ldrtypes.h at new location.

svn path=/trunk/; revision=3760
2002-11-15 22:30:30 +00:00
Eric Kohl
da9ce8cff3 Removed special case of process without process parameter block for initial process (smss.exe).
svn path=/trunk/; revision=3759
2002-11-15 22:06:01 +00:00
Eric Kohl
5a6a428544 Create process parameter block for initial process (smss.exe).
svn path=/trunk/; revision=3758
2002-11-15 22:04:51 +00:00
Casper Hornstrup
7a11ad1c92 Add missing files
svn path=/trunk/; revision=3757
2002-11-15 21:59:54 +00:00
Casper Hornstrup
2c1d2fb84f Add missing files.
svn path=/trunk/; revision=3756
2002-11-15 21:56:37 +00:00
Casper Hornstrup
755fde7e59 2002-11-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/bus/acpi/ospm/osl.c (acpi_os_readable, acpi_os_writable):
	Match prototypes.
	* include/ascii.h (AbortSystemShutdownA): Correct prototype.
	* include/debug.h (assert): Wrap in #ifndef assert.
	* include/funcs.h (AbortSystemShutdown): Remove duplicate prototype.
	* include/ddk/rtltypes.h: Move ...
	* include/ntos/rtltypes.h: ... here.
	* include/ddk/rtl.h: Move ...
	* include/ntos/rtl.h: ... here.
	* include/ddk/zwtypes.h: Move ...
	* include/ntos/zwtypes.h: ... here.
	* include/ddk/zw.h: Move ...
	* include/ntos/zw.h: ... here.
	| include/ddk/cmfuncs.h: Remove file; Move NtCreateKey to ntos/zw.h.
	* include/ntos.h: #include ntos/rtltypes.h, ntos/rtl.h, ntos/zwtypes.h,
	and ntos/zw.h.
	* include/unicode.h: (AbortSystemShutdownW): Correct prototype.
	* include/ddk/ntddk.h: Include headers at new location; Don't include
	removed files.
	* include/defines.h: Wrap definitions in w32api in #ifndef __USE_W32API.
	* include/ntos/zwtypes.h: Ditto.
	* include/napi/lpc.h: Ditto.
	* include/napi/shared_data.h: Ditto.
	* include/napi/teb.h: Ditto.
	* include/napi/types.h: Ditto.
	* include/ntdll/ldr.h: Ditto.
	* include/ntdll/rtl.h: Ditto.
	* include/ntos/console.h: Ditto.
	* include/ntos/disk.h: Ditto.
	* include/ntos/except.h: Ditto.
	* include/ntos/file.h: Ditto.
	* include/ntos/gditypes.h: Ditto.
	* include/ntos/heap.h: Ditto.
	* include/ntos/keyboard.h: Ditto.
	* include/ntos/mm.h: Ditto.
	* include/ntos/ntdef.h: Ditto.
	* include/ntos/ps.h: Ditto.
	* include/ntos/registry.h: Ditto.
	* include/ntos/security.h: Ditto.
	* include/ntos/synch.h: Ditto.
	* include/ntos/time.h: Ditto.
	* include/ntos/types.h: Ditto.
	* include/ntos/port.h: Ditto.
	* lib/advapi32/misc/shutdown.c (AbortSystemShutdownW,
	AbortSystemShutdownA): Correct prototype.
	* lib/advapi32/reg/reg.c: #include ntos.h.
	* lib/advapi32/sec/misc.c: Ditto.
	* lib/advapi32/sec/sid.c: Ditto.
	* lib/advapi32/service/sctrl.c: Ditto.
	* lib/advapi32/token/token.c: Ditto.
	* lib/kernel32/misc/dllmain.c: Ditto.
	* ntoskrnl/ex/napi.c: Ditto.
	* ntoskrnl/rtl/i386/exception.c: Ditto.
	* lib/advapi32/sec/ac.c: Ditto.
	(FindFirstFreeAce, GetAce): Change PACE* to PACE_HEADER*.
	* lib/advapi32/service/scm.c (EnumServicesStatusExA,
	EnumServicesStatusExW, QueryServiceStatusEx): Correct prototype.
	* lib/ntdll/rtl/ppb.c (RtlDestroyProcessParameters): Match prototype.
	* ntoskrnl/dbg/errinfo.c (DbgGetErrorText): Use %08x, not %08lx.
	* ntoskrnl/io/arcname.c (IoCreateSystemRootLink): Use %u, not %lu.
	* ntoskrnl/ke/main.c (ExpInitializeExecutive): Ditto.
	* (_main): Use %d, not %ld.
	* ntoskrnl/include/internal/i386/ke.h: Add #pragma GCC system_header.
	* include/ddk/ntdef.h (NTSYSAPI, NTAPI, NTKERNELAPI): Define to STDCALL;
	Check if already defined.
	* include/base.h (STDCALL, CDECL, CALLBACK, PASCAL): Move to ntos/types.h.

svn path=/trunk/; revision=3755
2002-11-14 18:21:07 +00:00
Casper Hornstrup
d9e3082d1f 2002-11-13 Rick Gaiser <RickG81@Wanadoo.nl>
* drivers/bus/isapnp/isapnp.c (FindNextReadPort): Increment Port before
	checking wether port address is in NE2000 address space range and returning
	port address value.

svn path=/trunk/; revision=3754
2002-11-13 21:57:47 +00:00
Eric Kohl
58cbfb764a * Added ini file suport (Thanks to Royce Mitchell!)
* Improved the partition list.
* Use information from txtsetup.sif to create directories.
* Added basic error handling.

svn path=/trunk/; revision=3753
2002-11-13 18:25:18 +00:00
Robert Dickenson
d4293289b3 Just getting in sync with removal of obsolete #pragma directive.
New work soon to come. Having a bad time with heap corruption
when attempting to import massive reg scripts into the ROS registry.

svn path=/trunk/; revision=3752
2002-11-13 12:08:26 +00:00
Robert Dickenson
e2d799f080 Commit of the rest of Gunnars file locking patch.
svn path=/trunk/; revision=3751
2002-11-13 06:01:12 +00:00
Robert Dickenson
84831891ce added #ifdef around headers to support test build. Modified debug messages.
svn path=/trunk/; revision=3750
2002-11-13 05:18:03 +00:00
Eric Kohl
3a8df0d499 Added setup information file txtsetup.sif.
svn path=/trunk/; revision=3749
2002-11-12 19:17:21 +00:00
Eric Kohl
eb1c9c77ee Reworked initial process loader.
Crash the system if the initial process fails within 5 seconds.

svn path=/trunk/; revision=3748
2002-11-12 19:12:34 +00:00
Steven Edwards
2f04a917bb Relicensed as LGPL and Released back to the WINE project as per
Rob's Approvial.

svn path=/trunk/; revision=3747
2002-11-12 15:25:15 +00:00
Marty Dill
49c384301b Implemented ReadConsoleOutputA() and WriteConsoleInputA().
svn path=/trunk/; revision=3746
2002-11-12 00:48:26 +00:00
Marty Dill
13aca9ca62 Added missing exports for a few console functions.
svn path=/trunk/; revision=3745
2002-11-12 00:46:02 +00:00
Marty Dill
4f2f3061db CreateDirectoryExW: Fail gracefully if directory name is null/empty.
svn path=/trunk/; revision=3744
2002-11-12 00:45:16 +00:00
Hartmut Birr
62765739e2 * Changed the access to the bitmap from BYTE to ULONG for speeding up.
svn path=/trunk/; revision=3743
2002-11-11 22:53:26 +00:00
Hartmut Birr
7c80de2804 * Do not exit if GetConsoleScreenBufferInfo fails. GetConsoleScreenBufferInfo fails
if the given handle is redirected to a file or pipe. This stops windres from working.

svn path=/trunk/; revision=3742
2002-11-11 21:53:25 +00:00
Hartmut Birr
153843d464 * Implemented multiple sector commands for reading and writing (only for disks).
* Implemented 32 bit access for I/O (only for disks).
* Both options can be desabled by undefining ENABLE_MULTIMODE and ENABLE_32BIT.

svn path=/trunk/; revision=3741
2002-11-11 21:51:33 +00:00
Hartmut Birr
62eac3dcff * Used look aside lists to allocate memory for VFATFCB, VFATCCB and VFAT_IRP_CONTEXT.
* Removed IsLastEntry, IsVolEntry, IsDeletedEntry, vfat_wstrlen, vfatGrabFCB,
  vfat_initstr, vfat_wcsncat, vfat_wcsncpy, vfat_movestr, wstrcmpi and replaced
  this functions with existing equivalents or functions from ntoskrnl.
* Merged GetEntryName into vfatGetNextDirEntry for reducing some overhead.
* Implemented a file name cache to speed up the searching for existing fcb.
* Removed some calls to FsdDosDateTimeToFileTime.
* Moved the call to CcZeroData behind the initializing of the cache (in VfatWrite).
* Using existing fcbs in FindFile if there is no '*?' within the search name.

svn path=/trunk/; revision=3740
2002-11-11 21:49:18 +00:00
Casper Hornstrup
4ba36f62e4 2002-11-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/bus/acpi/include/acpi.h: Include platform/types.h.
	* drivers/bus/acpi/include/actypes.h: (UINT8, BOOLEAN, UCHAR, UINT16,
	INT32, UINT32, UINT64): Disable, use the OS defined types instead.
	* drivers/bus/acpi/include/platform/types.h: Remove all types,
	include ntos.h instead.
	* drivers/bus/acpi/ospm/include/acpisys.h: Don't include
	platform/types.h.

svn path=/trunk/; revision=3739
2002-11-10 19:24:01 +00:00
Casper Hornstrup
d8acda7c3e 2002-11-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/defines.h: Fix warnings when bulding with gcc 3.3.
	* include/ddk/status.h: Ditto.
	* include/freetype/internal/ftdebug.h: Ditto.
	* include/net/ndis.h: Ditto.
	* lib/msafd/misc/helpers.c: Ditto.
	* lib/user32/windows/defwnd.c: Ditto.
	* lib/user32/windows/window.c: Ditto.
	* ntoskrnl/cm/ntfunc.c: Ditto.
	* ntoskrnl/cm/regfile.c: Ditto.
	* ntoskrnl/cm/regobj.c: Ditto.
	* ntoskrnl/dbg/errinfo.c: Ditto.
	* ntoskrnl/ex/hashtab.c: Ditto.
	* ntoskrnl/include/internal/mm.h: Ditto.
	* ntoskrnl/io/irp.c: Ditto.
	* ntoskrnl/kd/gdbstub.c: Ditto.
	* ntoskrnl/ke/queue.c: Ditto.
	* ntoskrnl/ke/sem.c: Ditto.
	* ntoskrnl/ldr/resource.c: Ditto.
	* ntoskrnl/mm/balance.c: Ditto.
	* ntoskrnl/mm/freelist.c: Ditto.
	* ntoskrnl/mm/mdl.c: Ditto.
	* ntoskrnl/mm/npool.c: Ditto.
	* ntoskrnl/mm/section.c: Ditto.
	* ntoskrnl/rtl/error.c: Ditto.
	* ntoskrnl/rtl/mem.c: Ditto.
	* ntoskrnl/rtl/string.c: Ditto.
	* ntoskrnl/rtl/time.c: Ditto.
	* ntoskrnl/rtl/unicode.c: Ditto.
	* ntoskrnl/rtl/wstring.c: Ditto.
	* ntoskrnl/rtl/i386/exception.c: Ditto.
	* subsys/win32k/freetype/src/base/ftinit.c: Ditto.

svn path=/trunk/; revision=3738
2002-11-10 18:17:43 +00:00
Robert Dickenson
5db0748cc3 committing more developments.
svn path=/trunk/; revision=3737
2002-11-10 14:29:27 +00:00
Robert Dickenson
5acde91b05 changed "$(RM) *.various" to "- $(RM) *.various" in order to keep the clean rule going.
svn path=/trunk/; revision=3736
2002-11-10 14:27:45 +00:00
Robert Dickenson
9a3d4ea3c6 added a couple of entries within the [\Registry\Machine\SOFTWARE\Classes] section for testing.
svn path=/trunk/; revision=3735
2002-11-10 14:12:41 +00:00
Robert Dickenson
adb86bd362 added #ifdef around headers to support private test build and various changes to debug diagnostics.
svn path=/trunk/; revision=3734
2002-11-10 14:10:09 +00:00
Robert Dickenson
d7753423c7 added #ifdef around headers to support private test build and some temporary zeroing of arrays during debugging.
svn path=/trunk/; revision=3733
2002-11-10 14:02:44 +00:00
Robert Dickenson
2e1e2b7968 added #ifdef around headers to support private test build.
svn path=/trunk/; revision=3732
2002-11-10 14:00:41 +00:00
Robert Dickenson
68c82b15c9 added #ifdef around headers and some debug message copying/terminating to support private test build.
svn path=/trunk/; revision=3731
2002-11-10 13:57:06 +00:00
Robert Dickenson
4ca5b5aa15 changed the default trace level to MID_TRACE for when DBG is defined.
svn path=/trunk/; revision=3730
2002-11-10 13:53:34 +00:00
Robert Dickenson
e99ad86ebe slight mod to the end of line for received ip packets to display a debug message.
svn path=/trunk/; revision=3729
2002-11-10 13:52:13 +00:00
Robert Dickenson
ba7265a614 some un-important modifications to my serial coms test program.
not of interest for now until I get something commitable for the simple serial driver.

svn path=/trunk/; revision=3728
2002-11-10 13:48:51 +00:00
Robert Dickenson
73eb67f51b just some code to to some specific key reading tests.
svn path=/trunk/; revision=3727
2002-11-10 13:47:03 +00:00
Robert Dickenson
24ef4d36dc added a whole bunch of hacks #ifdef'd into the header section to support private test build.
totally turned the contents upside down so functions are implicitly declared before use without header prototypes.

svn path=/trunk/; revision=3726
2002-11-10 13:44:48 +00:00
Robert Dickenson
e0461e2d52 display some extra debug messages on boot to see whats going on.
svn path=/trunk/; revision=3725
2002-11-10 13:40:08 +00:00
Robert Dickenson
c2cdc52d2e committing a parameter swap from Gunnars heap fix which I seem to have missed.
svn path=/trunk/; revision=3724
2002-11-10 13:38:14 +00:00
Robert Dickenson
77f5d4efe8 added #ifdef around headers to support private test build.
svn path=/trunk/; revision=3723
2002-11-10 13:36:59 +00:00
Robert Dickenson
2c9f063386 added #ifdef around headers to support private test build and modified debug messages.
svn path=/trunk/; revision=3722
2002-11-10 13:36:15 +00:00
Robert Dickenson
c37549f7cd added trivial comment reference consistancy with DDK prototype.
svn path=/trunk/; revision=3721
2002-11-10 13:34:42 +00:00
Robert Dickenson
ccb6663108 useless change to only some parameter names to be more consistent with DDK prototype.
svn path=/trunk/; revision=3720
2002-11-10 13:33:26 +00:00
Robert Dickenson
af405dcb05 display debug message on boot.
svn path=/trunk/; revision=3719
2002-11-10 13:30:32 +00:00
Hartmut Birr
3e9e0d0737 * Unlock the address space if MmOpenMemoryAreaByAddress fails (MmWritePhysicalAddress).
svn path=/trunk/; revision=3718
2002-11-09 20:27:03 +00:00
Robert Dickenson
0d78d25da5 Manually applying Gunnars patch because it's easier this way - and a good chance to review mods.
svn path=/trunk/; revision=3717
2002-11-07 16:36:50 +00:00
Robert Dickenson
2e3612cc58 Manually applying Gunnars patch because it's easier this way - and a good chance to review mods.
svn path=/trunk/; revision=3716
2002-11-07 02:52:37 +00:00
Robert Dickenson
f2064b3f8b Manually applying Gunnars patch became it's easier this way - and a good chance to review mods.
svn path=/trunk/; revision=3715
2002-11-07 02:45:29 +00:00
David Welch
a079c4b347 Reverted previous changes - Mm{Enable,Disable}VirtualMapping are faster
and won't allocate or free page tables. A page fault handler should
never see a disabled page since enabling and disabling is guarded by
a pageop.

svn path=/trunk/; revision=3714
2002-11-05 21:13:15 +00:00
Hartmut Birr
a794750da6 * Fixed the length for the page protection.
svn path=/trunk/; revision=3713
2002-11-05 21:01:38 +00:00
Hartmut Birr
8e4b80043b * Initialize the return value in DefWndNCCalcSize.
svn path=/trunk/; revision=3712
2002-11-05 20:59:48 +00:00
Hartmut Birr
1d127839b8 * Fixed the call to LoadImageW/RemovePropW if there is given
an identifier in LoadImageA/RemovePropA.

svn path=/trunk/; revision=3711
2002-11-05 20:58:20 +00:00
Hartmut Birr
e8899a2a5b * Fixed the searching for executable files in the spawnXpX/execXpX-functions.
svn path=/trunk/; revision=3710
2002-11-05 20:55:59 +00:00
Hartmut Birr
cb7fd6d214 * Fixed the searching for the file extension in CreateProcessW.
svn path=/trunk/; revision=3709
2002-11-05 20:54:10 +00:00
Hartmut Birr
811a27af00 * Fixed a wrong pointer initialization in RtlClearBits.
svn path=/trunk/; revision=3708
2002-11-05 20:52:38 +00:00
Hartmut Birr
3ec57dfda5 * Check for symbolic-links in ObFindObject.
svn path=/trunk/; revision=3707
2002-11-05 20:51:23 +00:00
Hartmut Birr
95b7092276 * Use the cache for images where the section offset is not page
alligned in MiReadPage.
* Removed a wrong call to MmReferencePage in MmPageOutSectionView.
* Fixed the length in MmAlterViewAttributes.
* Wait for releasing of the pageop in MmFreeSectionPage.
* Fixed some wrong return values in MmMapViewOfSection.

svn path=/trunk/; revision=3706
2002-11-05 20:50:02 +00:00
Hartmut Birr
9c17318aff * Used tagged memory for rmap entries.
svn path=/trunk/; revision=3705
2002-11-05 20:48:08 +00:00
Hartmut Birr
e4be6a3090 * Fixed the used and free block calculation.
* Allocate all blocks dword alligned and all big blocks (>=4K) page alligned.

svn path=/trunk/; revision=3704
2002-11-05 20:47:05 +00:00
Hartmut Birr
ffadffc82b * Fixed the allocation length for the mdl bitmap.
* Changed the bit allocation functions to RtlXxxBitMapYyy.
* Fixed the calculation of the starting point for free bitmap entries.

svn path=/trunk/; revision=3703
2002-11-05 20:45:09 +00:00
Hartmut Birr
ef586c33c1 * Fixed the calculation of the gap in MmFindGap.
* Serach for page alligned blocks in MmCreateMemorArea.

svn path=/trunk/; revision=3702
2002-11-05 20:43:35 +00:00
Hartmut Birr
4fcb4176f8 * Delete the virtual mapping first before the the mapped range
is freed in MmFreeNonPagedPoolRegion.
* Adujust AllocMapHint only if the reserved block starts at AllocMapHint.
* Changed the bit allocation functions to RtlXxxBitMapYyy.

svn path=/trunk/; revision=3701
2002-11-05 20:41:17 +00:00
Hartmut Birr
3d3d96c5d6 * Call KeBugcheck in MmDeletePageTable/MmFreePageTable if the
address points to the kernel address space.
* Check if an other process has inserted a kernel page directory
  entry while waiting for a page (MmGetPageEntry/MmGetPageEntry2).
* Check the kernel page directory only for an entry if the
  address points to the kernel address space (MmGetPageEntry1/2,
  MmDeleteVirtualMapping and MmDeletePageFileMapping).
* Disabled MmEnableVirtualMapping/MmDisableVirtualMapping.
  There is no difference between an entry with disabled mapping and
  a swap entry.

svn path=/trunk/; revision=3700
2002-11-05 20:39:03 +00:00
Hartmut Birr
a4b5d8a978 * Locking the address space before accessing it.
* Fixed some length calculations.

svn path=/trunk/; revision=3699
2002-11-05 20:35:33 +00:00
Hartmut Birr
4096437ab3 * Disabled all calls to MmEnableVirtualMapping/MmDisableVirtualMapping,
there is no difference for the page entry between a
  disabled mapping and a swap entry.

svn path=/trunk/; revision=3698
2002-11-05 20:31:34 +00:00
Hartmut Birr
fb46b3c16a * Fixed the buffer allocation in NtAccecptConnectedPort.
svn path=/trunk/; revision=3697
2002-11-05 20:27:56 +00:00
Hartmut Birr
39537ca751 * Setting the DeviceObject and Vbp for given FileObject to zero
if the open operation fails. The close and cleanup call must
  not route throught the FSD if the open call failed.
* Wait for the completion from FSD after the close/cleanup call.

svn path=/trunk/; revision=3696
2002-11-05 20:24:33 +00:00
3949 changed files with 14 additions and 856196 deletions

View File

@@ -1,18 +0,0 @@
dist
reactos
*.sys
*.exe
*.dll
*.cpl
*.a
*.o
*.d
*.coff
*.dsp
*.dsw
*.aps
*.ncb
*.opt
*.sym
*.plg
*.bak

View File

@@ -1,4 +0,0 @@
directory /mnt/windows/CvsHome/reactos/ntoskrnl
symbol-file ntoskrnl/ntoskrnl.nostrip.exe -mapped
set remotebaud 115200
target remote com2

View File

@@ -1,340 +0,0 @@
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.

View File

@@ -1,41 +0,0 @@
In no particular order
Rex Jolliff (rex@lvcablemodem.com)
Boudewijn Dekker (ariadne@xs4all.nl)
Eric Kohl (ekohl@rz-online.de)
Emanuele Aliberti (ea@iol.it)
David Welch (welch@cwcom.net)
Iwan Fatahi (i_fatahi@hotmail.com)
Robert Bergkvist (fragdance@hotmail.com)
Victor Kirhenshtein (sauros@iname.com)
Jason Filby (jasonfilby@yahoo.com)
Brian Palmer (brianp@sginet.com)
Phillip Susi (phreak@iag.net)
Paolo Pantaleo (paolopan@freemail.it)
Casper S. Hornstrup (chorns@users.sourceforge.net)
Source and inspiration from
WINE (http://www.winehq.com)
WinFree (http://www.stack.nl/~onno/win32/)
Linux (http://www.kernel.org)
References (Rex's at least)
Baker, Art. The Windows NT Device Driver Book. Prentice Hall, 1997.
Borate, Dabak & Phadke. Undocumented Windows NT. M&T Books, 1999.
Brain, Marshall. Win32 System Services. Prentice Hall, 1996.
Cant, Chris. Writing Windows WDM Device Drivers. R&D Books, 1999.
Canton & Sanchez. IBM Microcomputers: A Programmer's Handbook. McGraw Hill, 1990.
Davis & Wallace. Windows Undocumented File Formats. R&D Books, 1997.
Mason & Viscarola. Windows NT Device Driver Development. Macmillan, 1999.
Mitchell, Stan. Inside the Windows 95 File System. O'Reilly, 1997.
Murray, James D. Windows NT Event Logging. O'Reilly, 1998.
Nagar, Rajeev. Windows NT File System Internals. O'Reilly, 1997.
Osbourne, Sandra. Windows NT Registry: A Settings Reference. New Riders, 1998.
Pietrek, Matt. Windows 95 System Programming Secrets. IDG, 1995.
Richter, Jeffery. Advanced Windows, 3rd ed. Microsoft, 1997.
Simon, Richard J. Windows NT Win32 API Superbible. Waite Group, 1996.
Solomon, David A. Inside Windows NT, 2nd Ed. Microsoft, 1998.
"The NT Insider." Open Systems Resources, 1999-2000.

File diff suppressed because it is too large Load Diff

View File

@@ -1,74 +0,0 @@
1. Build environment
To build the system you need either mingw32 installed on Windows or a mingw32
cross compiler running on unix.
2. Building ReactOS
To build from Windows run 'make' (wihout the quotes) from the top directory.
To build from unix, edit rules.mak and change the PREFIX variable to the
correct value for your cross-compiler, then run 'make'.
3. Installation
The system can only be installed on the first partition on the first harddisk.
The partition must be formatted as FAT16 or FAT32. The system can only be
started from DOS and not from a Windows DOS-prompt.
ReactOS can be installed from the source distribution or from the binary
distribution. The two ways to install ReactOS are explained below.
3.1 Installation from sources
To install ReactOS after building it, type 'make install'. This will create
the directory 'reactos' in the top directory. Copy this directory to the root
of your first partition on your first harddisk. This is usually c:\ on a
Windows machine.
If you don't want to copy the files manually every time you run a 'make install',
you can specify the directory where the files are to be copied to during
installation.
In rules.mak find the variable INSTALL_DIR and change the assigned value to the
name of the directory where the files are to be copied to. If you are using
Windows this could be:
INSTALL_DIR = c:\reactos
If you are on linux this could be:
INSTALL_DIR = /mnt/windows/reactos
Save the changes to rules.mak and run 'make install' to install the files to
the new location.
3.2 Installation from binany distribution
To install ReactOS from the binary distribution, extract the archive contents
to c:\reactos. Remember to extract the files with full paths.
4. Booting ReactOS
Startup in DOS mode. 'cd' to c:\reactos and type 'boot' and press <enter>.
ReactOS will now boot and when it has booted, you are asked for a username and
password. Just press <enter> twice as ReactOS does not currently have user
validation. A simple shell is started where you can use simple commands like
'cd' and 'dir'.
You may also want to try running the enhanced shell, cmd.exe, found in
the rosapps CVS module.
5. Help
If you run into problems or have suggestions for making ReactOS better, please
surf to the address below and subscribe to one or more of the mailing lists.
http://www.reactos.com/index.php?tab=discussion&section=lists
ReactOS Development Team

View File

@@ -1,504 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
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 and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, 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 library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete 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 distribute a copy of this License along with the
Library.
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 Library or any portion
of it, thus forming a work based on the Library, 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) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
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 Library, 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 Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you 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.
If distribution of 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 satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be 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.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library 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.
9. 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 Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
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 with
this License.
11. 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 Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library 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 Library.
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.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library 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.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser 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 Library
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 Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
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
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "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
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. 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 LIBRARY 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
LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. 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 library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library 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
Lesser General Public License for more details.
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
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@@ -1,788 +0,0 @@
#
# Global makefile
#
PATH_TO_TOP = .
#
# Define to build WINE modules
#
ifeq ($(ROS_BUILD_WINE),)
ROS_BUILD_WINE = no
else
ROS_BUILD_WINE = yes
endif
include $(PATH_TO_TOP)/rules.mak
# Required to run the system
COMPONENTS = iface_native iface_additional hallib ntoskrnl
# Hardware Abstraction Layers
# halx86
HALS = halx86
# Bus drivers
# acpi isapnp pci
BUS = acpi isapnp pci
# User mode libraries
# advapi32 crtdll fmifs gdi32 kernel32 libpcap packet msafd msvcrt ntdll ole32
# oleaut32 psapi rpcrt4 secur32 shell32 user32 version ws2help ws2_32 wsock32 wshirda
DLLS = advapi32 crtdll fmifs gdi32 kernel32 packet msafd msvcrt ntdll \
secur32 user32 version winmm ws2help ws2_32 wshirda
SUBSYS = smss win32k csrss
#
# Select the server(s) you want to build
#
#SERVERS = posix linux os2
SERVERS = win32
# Boot loaders
# dos
LOADERS = dos
# Driver support libraries
#bzip2 zlib
DRIVERS_LIB = bzip2 zlib
# Kernel mode device drivers
# beep blue floppy ide keyboard mouse null parallel ramdrv serenum serial vga vidport
DEVICE_DRIVERS = beep blue floppy ide null serial vga vidport
# Kernel mode input drivers
# keyboard mouclass psaux sermouse
INPUT_DRIVERS = keyboard mouclass psaux
# Kernel mode file system drivers
# cdfs ext2 fs_rec ms np vfat
FS_DRIVERS = cdfs fs_rec ms np vfat mup ntfs
# Kernel mode networking drivers
# afd ndis packet tcpip tdi wshtcpip
NET_DRIVERS = afd ndis packet tcpip tdi wshtcpip
# Kernel mode networking device drivers
# ne2000
NET_DEVICE_DRIVERS = ne2000
# Kernel mode storage drivers
# atapi cdrom class2 disk scsiport
STORAGE_DRIVERS = atapi cdrom class2 disk scsiport
# System applications
# autochk lsass services shell winlogon
SYS_APPS = autochk services shell winlogon gstart usetup
# System services
# rpcss eventlog
SYS_SVC = rpcss eventlog
# Test applications
# alive apc args atomtest bench consume count dump_shared_data
# event file gditest hello isotest lpc mstest mutex nptest
# pteb regtest sectest shm simple thread vmtest winhello
TEST_APPS = alive apc args atomtest bench consume count dump_shared_data \
event file gditest hello isotest lpc mstest mutex nptest \
pteb regtest sectest shm simple thread tokentest vmtest winhello dibtest
# Test applications
# cabman cat net objdir partinfo pice ps stats
UTIL_APPS = cat objdir partinfo stats
#
# Win32 Subsystem support (Based on WINE)
# FIXME: Move to this its own Makefile
#
WINE_OTHER = unicode library
WINE_TOOLS = bin2res wrc winebuild
WINE_DLLS = comcat crtdll comctl32 commdlg dsound dplayx imagehlp ole32 richedit \
shlwapi shell32 shdocvw twain urlmon winspool \
rpcrt4 # needed to make rcprt4 implib
# mapi32 oleaut32 oledlg olepro32 olecli olesvr shfolder
# winmm ddraw dinput dplay serialui tapi32 urlmon wintrust
# msinfo lzexpand (missing imports)
WINE_PROGS = control expand osversioncheck regedit regsvr32 winver uninstaller
# (waiting on wrc fix for the rest of these)
# clock cmdlgtst notepad progman wcmd
# winefile winemine winetest uninstaller
ifeq ($(ROS_BUILD_WINE),yes)
WINE_MODULES = $(WINE_OTHER) $(WINE_TOOLS) $(WINE_DLLS) $(WINE_PROGS)
else
WINE_MODULES =
endif
KERNEL_DRIVERS = $(DRIVERS_LIB) $(DEVICE_DRIVERS) $(INPUT_DRIVERS) $(FS_DRIVERS) \
$(NET_DRIVERS) $(NET_DEVICE_DRIVERS) $(STORAGE_DRIVERS)
all: tools dk implib $(COMPONENTS) $(HALS) $(BUS) $(DLLS) $(SUBSYS) \
$(LOADERS) $(KERNEL_DRIVERS) $(SYS_APPS) $(SYS_SVC) $(TEST_APPS) \
$(UTIL_APPS) $(WINE_MODULES)
implib: $(COMPONENTS:%=%_implib) $(HALS:%=%_implib) $(BUS:%=%_implib) \
$(DLLS:%=%_implib) $(LOADERS:%=%_implib) \
$(KERNEL_DRIVERS:%=%_implib) $(SUBSYS:%=%_implib) \
$(SYS_APPS:%=%_implib) $(SYS_SVC:%=%_implib) \
$(TEST_APPS:%=%_implib) $(UTIL_APPS:%=%_implib) \
$(WINE_MODULES:%=%_implib)
clean: tools dk_clean $(HALS:%=%_clean) \
$(COMPONENTS:%=%_clean) $(BUS:%=%_clean) $(DLLS:%=%_clean) \
$(LOADERS:%=%_clean) $(KERNEL_DRIVERS:%=%_clean) $(SUBSYS:%=%_clean) \
$(SYS_APPS:%=%_clean) $(SYS_SVC:%=%_clean) $(TEST_APPS:%=%_clean) \
$(UTIL_APPS:%=%_clean) $(NET_APPS:%=%_clean) $(WINE_MODULES:%=%_clean) \
clean_after tools_clean
clean_after:
$(RM) $(PATH_TO_TOP)/include/roscfg.h
install: tools install_dirs install_before \
$(COMPONENTS:%=%_install) $(HALS:%=%_install) $(BUS:%=%_install) \
$(DLLS:%=%_install) $(LOADERS:%=%_install) \
$(KERNEL_DRIVERS:%=%_install) $(SUBSYS:%=%_install) \
$(SYS_APPS:%=%_install) $(SYS_SVC:%=%_install) \
$(TEST_APPS:%=%_install) $(UTIL_APPS:%=%_install) \
$(WINE_MODULES:%=%_install)
dist: $(TOOLS_PATH)/rcopy$(EXE_POSTFIX) dist_clean dist_dirs \
$(HALS:%=%_dist) $(COMPONENTS:%=%_dist) $(BUS:%=%_dist) $(DLLS:%=%_dist) \
$(LOADERS:%=%_dist) $(KERNEL_DRIVERS:%=%_dist) $(SUBSYS:%=%_dist) \
$(SYS_APPS:%=%_dist) $(SYS_SVC:%=%_dist) $(TEST_APPS:%=%_dist) \
$(UTIL_APPS:%=%_dist) $(NET_APPS:%=%_dist) $(WINE_MODULES:%=%_dist)
.PHONY: all implib clean clean_before install dist
#
# System Applications
#
$(SYS_APPS): %:
make -C subsys/system/$*
$(SYS_APPS:%=%_implib): %_implib:
make -C subsys/system/$* implib
$(SYS_APPS:%=%_clean): %_clean:
make -C subsys/system/$* clean
$(SYS_APPS:%=%_dist): %_dist:
make -C subsys/system/$* dist
$(SYS_APPS:%=%_install): %_install:
make -C subsys/system/$* install
.PHONY: $(SYS_APPS) $(SYS_APPS:%=%_implib) $(SYS_APPS:%=%_clean) $(SYS_APPS:%=%_install) $(SYS_APPS:%=%_dist)
#
# System Services
#
$(SYS_SVC): %:
make -C services/$*
$(SYS_SVC:%=%_implib): %_implib:
make -C services/$* implib
$(SYS_SVC:%=%_clean): %_clean:
make -C services/$* clean
$(SYS_SVC:%=%_dist): %_dist:
make -C services/$* dist
$(SYS_SVC:%=%_install): %_install:
make -C services/$* install
.PHONY: $(SYS_SVC) $(SYS_SVC:%=%_implib) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install) $(SYS_SVC:%=%_dist)
#
# Test Applications
#
$(TEST_APPS): %:
make -C apps/tests/$*
$(TEST_APPS:%=%_implib): %_implib:
make -C apps/tests/$* implib
$(TEST_APPS:%=%_clean): %_clean:
make -C apps/tests/$* clean
$(TEST_APPS:%=%_dist): %_dist:
make -C apps/tests/$* dist
$(TEST_APPS:%=%_install): %_install:
make -C apps/tests/$* install
.PHONY: $(TEST_APPS) $(TEST_APPS:%=%_implib) $(TEST_APPS:%=%_clean) $(TEST_APPS:%=%_install) $(TEST_APPS:%=%_dist)
#
# Utility Applications
#
$(UTIL_APPS): %:
make -C apps/utils/$*
$(UTIL_APPS:%=%_implib): %_implib:
make -C apps/utils/$* implib
$(UTIL_APPS:%=%_clean): %_clean:
make -C apps/utils/$* clean
$(UTIL_APPS:%=%_dist): %_dist:
make -C apps/utils/$* dist
$(UTIL_APPS:%=%_install): %_install:
make -C apps/utils/$* install
.PHONY: $(UTIL_APPS) $(UTIL_APPS:%=%_implib) $(UTIL_APPS:%=%_clean) $(UTIL_APPS:%=%_install) $(UTIL_APPS:%=%_dist)
#
# Other Wine Modules
#
$(WINE_OTHER): %:
make -f makefile.ros -C $(WINE_PATH)/$*
$(WINE_OTHER:%=%_implib): %_implib:
make -f makefile.ros -C $(WINE_PATH)/$* implib
$(WINE_OTHER:%=%_clean): %_clean:
make -f makefile.ros -C $(WINE_PATH)/$* clean
$(WINE_OTHER:%=%_dist): %_dist:
make -f makefile.ros -C $(WINE_PATH)/$* dist
$(WINE_OTHER:%=%_install): %_install:
make -f makefile.ros -C $(WINE_PATH)/$* install
.PHONY: $(WINE_OTHER) $(WINE_OTHER:%=%_implib) $(WINE_OTHER:%=%_clean) $(WINE_OTHER:%=%_install) $(WINE_OTHER:%=%_dist)
#
# Wine Tools
#
$(WINE_TOOLS): %:
make -f makefile.ros -C $(WINE_PATH)/tools/$*
$(WINE_TOOLS:%=%_implib): %_implib:
make -f makefile.ros -C $(WINE_PATH)/tools/$* implib
$(WINE_TOOLS:%=%_clean): %_clean:
make -f makefile.ros -C $(WINE_PATH)/tools/$* clean
$(WINE_TOOLS:%=%_dist): %_dist:
make -f makefile.ros -C $(WINE_PATH)/tools/$* dist
$(WINE_TOOLS:%=%_install): %_install:
make -f makefile.ros -C $(WINE_PATH)/tools/$* install
.PHONY: $(WINE_DLLS) $(WINE_DLLS:%=%_implib) $(WINE_DLLS:%=%_clean) $(WINE_DLLS:%=%_install) $(WINE_DLLS:%=%_dist)
#
# Wine DLLs
#
$(WINE_DLLS): %:
make -f makefile.ros -C $(WINE_PATH)/dlls/$*
$(WINE_DLLS:%=%_implib): %_implib:
make -f makefile.ros -C $(WINE_PATH)/dlls/$* implib
$(WINE_DLLS:%=%_clean): %_clean:
make -f makefile.ros -C $(WINE_PATH)/dlls/$* clean
$(WINE_DLLS:%=%_dist): %_dist:
make -f makefile.ros -C $(WINE_PATH)/dlls/$* dist
$(WINE_DLLS:%=%_install): %_install:
make -f makefile.ros -C $(WINE_PATH)/dlls/$* install
.PHONY: $(WINE_DLLS) $(WINE_DLLS:%=%_implib) $(WINE_DLLS:%=%_clean) $(WINE_DLLS:%=%_install) $(WINE_DLLS:%=%_dist)
#
# Wine programs
#
$(WINE_PROGS): %:
make -f makefile.ros -C $(WINE_PATH)/programs/$*
$(WINE_PROGS:%=%_implib): %_implib:
make -f makefile.ros -C $(WINE_PATH)/programs/$* implib
$(WINE_PROGS:%=%_clean): %_clean:
make -f makefile.ros -C $(WINE_PATH)/programs/$* clean
$(WINE_PROGS:%=%_dist): %_dist:
make -f makefile.ros -C $(WINE_PATH)/programs/$* dist
$(WINE_PROGS:%=%_install): %_install:
make -f makefile.ros -C $(WINE_PATH)/programs/$* install
.PHONY: $(WINE_PROGS) $(WINE_PROGS:%=%_implib) $(WINE_PROGS:%=%_clean) $(WINE_PROGS:%=%_install) $(WINE_PROGS:%=%_dist)
#
# Tools
#
tools:
make -C tools
tools_implib:
tools_clean:
make -C tools clean
tools_install:
tools_dist:
.PHONY: tools tools_implib tools_clean tools_install tools_dist
#
# Developer Kits
#
dk:
$(RMKDIR) $(DK_PATH)
$(RMKDIR) $(DDK_PATH)
$(RMKDIR) $(DDK_PATH_LIB)
$(RMKDIR) $(DDK_PATH_INC)
$(RMKDIR) $(SDK_PATH)
$(RMKDIR) $(SDK_PATH_LIB)
$(RMKDIR) $(SDK_PATH_INC)
$(RMKDIR) $(XDK_PATH)
$(RMKDIR) $(XDK_PATH_LIB)
$(RMKDIR) $(XDK_PATH_INC)
dk_implib:
# WARNING! Be very sure that there are no important files
# in these directories before cleaning them!!!
dk_clean:
$(RM) $(DDK_PATH_LIB)/*.a
# $(RM) $(DDK_PATH_INC)/*.h
$(RMDIR) $(DDK_PATH_LIB)
# $(RMDIR) $(DDK_PATH_INC)
$(RM) $(SDK_PATH_LIB)/*.a
# $(RM) $(SDK_PATH_INC)/*.h
$(RMDIR) $(SDK_PATH_LIB)
# $(RMDIR) $(SDK_PATH_INC)
$(RM) $(XDK_PATH_LIB)/*.a
# $(RM) $(XDK_PATH_INC)/*.h
$(RMDIR) $(XDK_PATH_LIB)
# $(RMDIR) $(XDK_PATH_INC)
dk_install:
dk_dist:
.PHONY: dk dk_implib dk_clean dk_install dk_dist
#
# Interfaces
#
iface_native:
make -C iface/native
iface_native_implib:
iface_native_clean:
make -C iface/native clean
iface_native_install:
iface_native_dist:
iface_additional:
make -C iface/addsys
iface_additional_implib:
iface_additional_clean:
make -C iface/addsys clean
iface_additional_install:
iface_additional_dist:
.PHONY: iface_native iface_native_implib iface_native_clean iface_native_install \
iface_native_dist \
iface_additional iface_additional_implib iface_additional_clean \
iface_additional_install iface_additional_dist
#
# Bus driver rules
#
$(BUS): %:
make -C drivers/bus/$*
$(BUS:%=%_implib): %_implib:
make -C drivers/bus/$* implib
$(BUS:%=%_clean): %_clean:
make -C drivers/bus/$* clean
$(BUS:%=%_install): %_install:
make -C drivers/bus/$* install
$(BUS:%=%_dist): %_dist:
make -C drivers/bus/$* dist
.PHONY: $(BUS) $(BUS:%=%_implib) $(BUS:%=%_clean) \
$(BUS:%=%_install) $(BUS:%=%_dist)
#
# Driver support libraries rules
#
$(DRIVERS_LIB): %:
make -C drivers/lib/$*
$(DRIVERS_LIB:%=%_implib): %_implib:
make -C drivers/lib/$* implib
$(DRIVERS_LIB:%=%_clean): %_clean:
make -C drivers/lib/$* clean
$(DRIVERS_LIB:%=%_install): %_install:
make -C drivers/lib/$* install
$(DRIVERS_LIB:%=%_dist): %_dist:
make -C drivers/lib/$* dist
.PHONY: $(DRIVERS_LIB) $(DRIVERS_LIB:%=%_implib) $(DRIVERS_LIB:%=%_clean) \
$(DRIVERS_LIB:%=%_install) $(DRIVERS_LIB:%=%_dist)
#
# Device driver rules
#
$(DEVICE_DRIVERS): %:
make -C drivers/dd/$*
$(DEVICE_DRIVERS:%=%_implib): %_implib:
make -C drivers/dd/$* implib
$(DEVICE_DRIVERS:%=%_clean): %_clean:
make -C drivers/dd/$* clean
$(DEVICE_DRIVERS:%=%_install): %_install:
make -C drivers/dd/$* install
$(DEVICE_DRIVERS:%=%_dist): %_dist:
make -C drivers/dd/$* dist
.PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_implib) $(DEVICE_DRIVERS:%=%_clean) \
$(DEVICE_DRIVERS:%=%_install) $(DEVICE_DRIVERS:%=%_dist)
#
# Input driver rules
#
$(INPUT_DRIVERS): %:
make -C drivers/input/$*
$(INPUT_DRIVERS:%=%_implib): %_implib:
make -C drivers/input/$* implib
$(INPUT_DRIVERS:%=%_clean): %_clean:
make -C drivers/input/$* clean
$(INPUT_DRIVERS:%=%_install): %_install:
make -C drivers/input/$* install
$(INPUT_DRIVERS:%=%_dist): %_dist:
make -C drivers/input/$* dist
.PHONY: $(INPUT_DRIVERS) $(INPUT_DRIVERS:%=%_implib) $(INPUT_DRIVERS:%=%_clean)\
$(INPUT_DRIVERS:%=%_install) $(INPUT_DRIVERS:%=%_dist)
$(FS_DRIVERS): %:
make -C drivers/fs/$*
$(FS_DRIVERS:%=%_implib): %_implib:
make -C drivers/fs/$* implib
$(FS_DRIVERS:%=%_clean): %_clean:
make -C drivers/fs/$* clean
$(FS_DRIVERS:%=%_install): %_install:
make -C drivers/fs/$* install
$(FS_DRIVERS:%=%_dist): %_dist:
make -C drivers/fs/$* dist
.PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_implib) $(FS_DRIVERS:%=%_clean) \
$(FS_DRIVERS:%=%_install) $(FS_DRIVERS:%=%_dist)
#
# Network driver rules
#
$(NET_DRIVERS): %:
make -C drivers/net/$*
$(NET_DRIVERS:%=%_implib): %_implib:
make -C drivers/net/$* implib
$(NET_DRIVERS:%=%_clean): %_clean:
make -C drivers/net/$* clean
$(NET_DRIVERS:%=%_install): %_install:
make -C drivers/net/$* install
$(NET_DRIVERS:%=%_dist): %_dist:
make -C drivers/net/$* dist
.PHONY: $(NET_DRIVERS) $(NET_DRIVERS:%=%_implib) $(NET_DRIVERS:%=%_clean) \
$(NET_DRIVERS:%=%_install) $(NET_DRIVERS:%=%_dist)
$(NET_DEVICE_DRIVERS): %:
make -C drivers/net/dd/$*
$(NET_DEVICE_DRIVERS:%=%_implib): %_implib:
make -C drivers/net/dd/$* implib
$(NET_DEVICE_DRIVERS:%=%_clean): %_clean:
make -C drivers/net/dd/$* clean
$(NET_DEVICE_DRIVERS:%=%_install): %_install:
make -C drivers/net/dd/$* install
$(NET_DEVICE_DRIVERS:%=%_dist): %_dist:
make -C drivers/net/dd/$* dist
.PHONY: $(NET_DEVICE_DRIVERS) $(NET_DEVICE_DRIVERS:%=%_clean) $(NET_DEVICE_DRIVERS:%=%_implib) \
$(NET_DEVICE_DRIVERS:%=%_install) $(NET_DEVICE_DRIVERS:%=%_dist)
#
# storage driver rules
#
$(STORAGE_DRIVERS): %:
make -C drivers/storage/$*
$(STORAGE_DRIVERS:%=%_implib): %_implib:
make -C drivers/storage/$* implib
$(STORAGE_DRIVERS:%=%_clean): %_clean:
make -C drivers/storage/$* clean
$(STORAGE_DRIVERS:%=%_install): %_install:
make -C drivers/storage/$* install
$(STORAGE_DRIVERS:%=%_dist): %_dist:
make -C drivers/storage/$* dist
.PHONY: $(STORAGE_DRIVERS) $(STORAGE_DRIVERS:%=%_clean) \
$(STORAGE_DRIVERS:%=%_install) $(STORAGE_DRIVERS:%=%_dist)
#
# Kernel loaders
#
$(LOADERS): %:
make -C loaders/$*
$(LOADERS:%=%_implib): %_implib:
$(LOADERS:%=%_clean): %_clean:
make -C loaders/$* clean
$(LOADERS:%=%_install): %_install:
make -C loaders/$* install
$(LOADERS:%=%_dist): %_dist:
make -C loaders/$* dist
.PHONY: $(LOADERS) $(LOADERS:%=%_implib) $(LOADERS:%=%_clean) $(LOADERS:%=%_install) \
$(LOADERS:%=%_dist)
#
# Required system components
#
ntoskrnl:
make -C ntoskrnl
ntoskrnl_implib:
make -C ntoskrnl implib
ntoskrnl_clean:
make -C ntoskrnl clean
ntoskrnl_install:
make -C ntoskrnl install
ntoskrnl_dist:
make -C ntoskrnl dist
.PHONY: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_dist
#
# Hardware Abstraction Layer import library
#
hallib:
make -C hal/hal
hallib_implib:
make -C hal/hal implib
hallib_clean:
make -C hal/hal clean
hallib_install:
make -C hal/hal install
hallib_dist:
make -C hal/hal dist
.PHONY: hallib hallib_implib hallib_clean hallib_install hallib_dist
#
# Hardware Abstraction Layers
#
$(HALS): %:
make -C hal/$*
$(HALS:%=%_implib): %_implib:
make -C hal/$* implib
$(HALS:%=%_clean): %_clean:
make -C hal/$* clean
$(HALS:%=%_install): %_install:
make -C hal/$* install
$(HALS:%=%_dist): %_dist:
make -C hal/$* dist
.PHONY: $(HALS) $(HALS:%=%_implib) $(HALS:%=%_clean) $(HALS:%=%_install) $(HALS:%=%_dist)
#
# Required DLLs
#
$(DLLS): %:
make -C lib/$*
$(DLLS:%=%_implib): %_implib:
make -C lib/$* implib
$(DLLS:%=%_clean): %_clean:
make -C lib/$* clean
$(DLLS:%=%_install): %_install:
make -C lib/$* install
$(DLLS:%=%_dist): %_dist:
make -C lib/$* dist
.PHONY: $(DLLS) $(DLLS:%=%_implib) $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_dist)
#
# Subsystem support modules
#
$(SUBSYS): %:
make -C subsys/$*
$(SUBSYS:%=%_implib): %_implib:
make -C subsys/$* implib
$(SUBSYS:%=%_clean): %_clean:
make -C subsys/$* clean
$(SUBSYS:%=%_install): %_install:
make -C subsys/$* install
$(SUBSYS:%=%_dist): %_dist:
make -C subsys/$* dist
.PHONY: $(SUBSYS) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) \
$(SUBSYS:%=%_dist)
#
# Create an installation
#
install_clean:
$(RM) $(INSTALL_DIR)/system32/drivers/*.*
$(RM) $(INSTALL_DIR)/system32/config/*.*
$(RM) $(INSTALL_DIR)/system32/*.*
$(RM) $(INSTALL_DIR)/symbols/*.*
$(RM) $(INSTALL_DIR)/media/fonts/*.*
$(RM) $(INSTALL_DIR)/media/*.*
$(RM) $(INSTALL_DIR)/bin/*.*
$(RM) $(INSTALL_DIR)/*.com
$(RM) $(INSTALL_DIR)/*.bat
$(RMDIR) $(INSTALL_DIR)/system32/drivers
$(RMDIR) $(INSTALL_DIR)/system32/config
$(RMDIR) $(INSTALL_DIR)/system32
$(RMDIR) $(INSTALL_DIR)/symbols
$(RMDIR) $(INSTALL_DIR)/media/fonts
$(RMDIR) $(INSTALL_DIR)/media
$(RMDIR) $(INSTALL_DIR)/bin
$(RMDIR) $(INSTALL_DIR)
install_dirs:
$(RMKDIR) $(INSTALL_DIR)
$(RMKDIR) $(INSTALL_DIR)/bin
$(RMKDIR) $(INSTALL_DIR)/media
$(RMKDIR) $(INSTALL_DIR)/media/fonts
$(RMKDIR) $(INSTALL_DIR)/symbols
$(RMKDIR) $(INSTALL_DIR)/system32
$(RMKDIR) $(INSTALL_DIR)/system32/config
$(RMKDIR) $(INSTALL_DIR)/system32/drivers
install_before:
$(CP) bootc.lst $(INSTALL_DIR)/bootc.lst
$(CP) boot.bat $(INSTALL_DIR)/boot.bat
$(CP) aboot.bat $(INSTALL_DIR)/aboot.bat
$(CP) system.hiv $(INSTALL_DIR)/system32/config/system.hiv
$(CP) media/fonts/helb____.ttf $(INSTALL_DIR)/media/fonts/helb____.ttf
$(CP) media/fonts/timr____.ttf $(INSTALL_DIR)/media/fonts/timr____.ttf
.PHONY: install_clean install_dirs install_before
#
# Make a distribution saveset
#
dist_clean:
$(RM) $(DIST_DIR)/symbols/*.sym
$(RM) $(DIST_DIR)/drivers/*.sys
$(RM) $(DIST_DIR)/subsys/*.exe
$(RM) $(DIST_DIR)/dlls/*.dll
$(RM) $(DIST_DIR)/apps/*.exe
$(RM) $(DIST_DIR)/*.exe
$(RMDIR) $(DIST_DIR)/symbols
$(RMDIR) $(DIST_DIR)/subsys
$(RMDIR) $(DIST_DIR)/drivers
$(RMDIR) $(DIST_DIR)/dlls
$(RMDIR) $(DIST_DIR)/apps
$(RMDIR) $(DIST_DIR)
dist_dirs:
$(RMKDIR) $(DIST_DIR)
$(RMKDIR) $(DIST_DIR)/apps
$(RMKDIR) $(DIST_DIR)/dlls
$(RMKDIR) $(DIST_DIR)/drivers
$(RMKDIR) $(DIST_DIR)/subsys
$(RMKDIR) $(DIST_DIR)/symbols
.PHONY: dist_clean dist_dirs
etags:
find . -name "*.[ch]" -print | etags --language=c -
# EOF

View File

@@ -1,15 +0,0 @@
0.0.14: Converted to PE format
All system libraries are now dlls
0.0.13: Mostly bugfixes (I think)
0.0.12: Added support for multiple processes (not really tested)
System calls
kernel32 now compiles (only as a static library)
Fixed invalid tss bug (hopefully)
Added section support
Added some of the ZwxxxVirtual calls
Added prototype caching functions (only the Minix fsd actually
uses them)
Added handle access and type checking
Prototype APC implementation (no support for user APCs)

View File

@@ -1,24 +0,0 @@
About Reactos
1. What is Reactos
A project aiming to make an approximate clone of Windows NT, compatible
with most Windows applications.
The project has a website at http://www.reactos.com/
2. Building Reactos
See the INSTALL file for more details.
3. More information
See the doc subdirectory for some sparse notes
4. Who is responsible
See the CREDITS file
5. Recent developments
See the NEWS file

View File

@@ -1,3 +0,0 @@
loadros system32\ntoskrnl.exe system32\hal.dll system32\drivers\acpi.sys /DEBUGPORT=SCREEN bootc.lst
rem comment added and changed for no reason

View File

@@ -1,21 +0,0 @@
# $Id: Makefile,v 1.6 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = alive
TARGET_SDKLIBS = kernel32.a user32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,48 +0,0 @@
/* $Id: alive.c,v 1.2 2001/03/26 21:30:20 ea Exp $
*
*/
#include <windows.h>
#include <stdlib.h>
HANDLE StandardOutput = INVALID_HANDLE_VALUE;
CHAR Message [80];
DWORD CharactersToWrite = 0;
DWORD WrittenCharacters = 0;
INT d = 0, h = 0, m = 0, s = 0;
int
main (int argc, char * argv [])
{
StandardOutput = GetStdHandle (STD_OUTPUT_HANDLE);
if (INVALID_HANDLE_VALUE == StandardOutput)
{
return (EXIT_FAILURE);
}
while (TRUE)
{
/* Prepare the message and update it */
CharactersToWrite =
wsprintf (
Message,
"Alive for %dd %dh %d' %d\" \r",
d, h, m, s
);
WriteConsole (
StandardOutput,
Message,
CharactersToWrite,
& WrittenCharacters,
NULL
);
/* suspend the execution for 1s */
Sleep (1000);
/* increment seconds */
++ s;
if (60 == s) { s = 0; ++ m; }
if (60 == m) { m = 0; ++ h; }
if (24 == h) { h = 0; ++ d; }
}
return (EXIT_SUCCESS);
}
/* EOF */

View File

@@ -1,85 +0,0 @@
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
#include <ddk/ntddk.h>
HANDLE OutputHandle;
HANDLE InputHandle;
VOID STDCALL
ApcRoutine(PVOID Context,
PIO_STATUS_BLOCK IoStatus,
ULONG Reserved)
{
printf("(apc.exe) ApcRoutine(Context %p)\n", Context);
}
int main(int argc, char* argv[])
{
NTSTATUS Status;
HANDLE FileHandle;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING FileName = UNICODE_STRING_INITIALIZER(L"\\C:\\a.txt");
IO_STATUS_BLOCK IoStatus;
CHAR Buffer[256];
HANDLE EventHandle;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
printf("APC test program\n");
EventHandle = CreateEventW(NULL,
FALSE,
FALSE,
NULL);
if (EventHandle == INVALID_HANDLE_VALUE)
{
printf("Failed to create event\n");
return 0;
}
printf("Opening file\n");
InitializeObjectAttributes(&ObjectAttributes,
&FileName,
0,
NULL,
NULL);
printf("Creating file\n");
FileHandle = CreateFileW(L"C:\\a.txt",
FILE_GENERIC_READ | FILE_GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
if (FileHandle == INVALID_HANDLE_VALUE)
{
printf("Open failed\n");
return 0;
}
printf("Reading file\n");
Status = ZwReadFile(FileHandle,
NULL,
(PIO_APC_ROUTINE)ApcRoutine,
(PVOID)0xdeadbeef,
&IoStatus,
Buffer,
256,
NULL,
NULL);
if (!NT_SUCCESS(Status))
{
printf("Read failed\n");
}
printf("Waiting\n");
WaitForSingleObjectEx(EventHandle, INFINITE, TRUE);
printf("Returned from wait\n");
ZwClose(FileHandle);
printf("Program finished\n");
return 0;
}

View File

@@ -1,21 +0,0 @@
# $Id: makefile,v 1.9 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = apc
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,39 +0,0 @@
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
HANDLE OutputHandle;
HANDLE InputHandle;
void debug_printf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
int main(int argc, char* argv[])
{
int i;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
printf("GetCommandLineA() %s\n",GetCommandLineA());
debug_printf("GetCommandLineA() %s\n",GetCommandLineA());
debug_printf("argc %d\n", argc);
for (i=0; i<argc; i++)
{
debug_printf("Argv[%d]: %x\n",i,argv[i]);
debug_printf("Argv[%d]: '%s'\n",i,argv[i]);
}
return 0;
}

View File

@@ -1,19 +0,0 @@
# $Id: makefile,v 1.15 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = args
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,114 +0,0 @@
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <ddk/ntddk.h>
#define BUFFER_SIZE 256
int main(int argc, char* argv[])
{
PRTL_ATOM_TABLE AtomTable = NULL;
RTL_ATOM AtomA = -1, AtomB = -1, AtomC = -1;
NTSTATUS Status;
WCHAR Buffer[BUFFER_SIZE];
ULONG NameLength, Data1, Data2;
printf("Atom table test app\n\n");
printf("RtlCreateAtomTable()\n");
Status = RtlCreateAtomTable(37,
&AtomTable);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" AtomTable %p\n", AtomTable);
printf("RtlAddAtomToAtomTable()\n");
Status = RtlAddAtomToAtomTable(AtomTable,
L"TestAtomA",
&AtomA);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" AtomA 0x%x\n", AtomA);
}
printf("RtlAddAtomToAtomTable()\n");
Status = RtlAddAtomToAtomTable(AtomTable,
L"TestAtomB",
&AtomB);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" AtomB 0x%x\n", AtomB);
}
printf("RtlLookupAtomInAtomTable()\n");
Status = RtlLookupAtomInAtomTable(AtomTable,
L"TestAtomA",
&AtomC);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" AtomC 0x%x\n", AtomC);
}
printf("RtlPinAtomInAtomTable()\n");
Status = RtlPinAtomInAtomTable(AtomTable,
AtomC);
printf(" Status 0x%08lx\n", Status);
printf("RtlPinAtomInAtomTable()\n");
Status = RtlPinAtomInAtomTable(AtomTable,
AtomC);
printf(" Status 0x%08lx\n", Status);
// printf("RtlDeleteAtomFromAtomTable()\n");
// Status = RtlDeleteAtomFromAtomTable(AtomTable,
// AtomC);
// printf(" Status 0x%08lx\n", Status);
// printf("RtlEmptyAtomTable()\n");
// Status = RtlEmptyAtomTable(AtomTable,
// TRUE);
// printf(" Status 0x%08lx\n", Status);
// printf("RtlLookupAtomInAtomTable()\n");
// Status = RtlLookupAtomInAtomTable(AtomTable,
// L"TestAtomA",
// &AtomC);
// printf(" Status 0x%08lx\n", Status);
printf("RtlQueryAtomInAtomTable()\n");
NameLength = sizeof(WCHAR) * BUFFER_SIZE;
Status = RtlQueryAtomInAtomTable(AtomTable,
AtomC,
&Data1,
&Data2,
Buffer,
&NameLength);
printf(" Status 0x%08lx\n", Status);
if (NT_SUCCESS(Status))
{
printf(" RefCount %ld\n", Data1);
printf(" PinCount %ld\n", Data2);
printf(" NameLength %lu\n", NameLength);
printf(" AtomName: %S\n", Buffer);
}
printf("RtlDestroyAtomTable()\n");
RtlDestroyAtomTable(AtomTable);
printf("Atom table test app finished\n");
}
return(0);
}

View File

@@ -1,21 +0,0 @@
# $Id: makefile,v 1.5 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = atomtest
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,8 +0,0 @@
/*
*
*/
int main(int argc, char* argv[])
{
}

View File

@@ -1,82 +0,0 @@
#include <stdio.h>
#include <windows.h>
#define NR_THREADS (30)
DWORD WINAPI
thread_main1(LPVOID param)
{
printf("Thread 1 running (Counter %lu)\n", (DWORD)param);
SleepEx(INFINITE, TRUE);
return 0;
}
DWORD WINAPI
thread_main2(LPVOID param)
{
printf("Thread 2 running (Counter %lu)\n", (DWORD)param);
Sleep(INFINITE);
return 0;
}
int main (void)
{
HANDLE hThread;
DWORD i=0;
DWORD id;
#if 1
printf("Creating %d threads...\n",NR_THREADS*2);
for (i=0;i<NR_THREADS;i++)
{
CreateThread(NULL,
0,
thread_main1,
(LPVOID)i,
0,
&id);
/* CreateThread(NULL,
0,
thread_main2,
(LPVOID)i,
0,
&id);*/
}
printf("All threads created...\n");
/*
* Waiting for threads is not implemented yet.
* If you want to see all threads running, uncomment the
* call to SuspendThread(). The test application will
* freeze after all threads are created.
*/
/* SuspendThread (GetCurrentThread()); */
#else
printf("Creating thread...\n");
hThread = CreateThread(NULL,
0,
thread_main1,
(LPVOID)i,
0,
&id);
printf("Thread created. Waiting for termination...\n");
WaitForSingleObject (hThread,
-1);
CloseHandle (hThread);
printf("Thread terminated...\n");
#endif
printf("Exiting\n");
return 0;
}

View File

@@ -1,21 +0,0 @@
# $Id: makefile,v 1.10 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = bench-thread
TARGET_SDKLIBS = kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,138 +0,0 @@
// ------------------------------------------------------------------
// Windows 2000 Graphics API Black Book
// Chapter 1 - Listing 1.3 (BitBlt Bitmap Rendering Demo)
//
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#include <windows.h>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
HINSTANCE HInst;
const char* WndClassName = "GMainWnd";
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam);
int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE HPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
HInst = HInstance;
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS;
wc.lpfnWndProc = MainWndProc;
wc.hInstance = HInstance;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_BTNFACE + 1);
wc.lpszClassName = WndClassName;
if (RegisterClass(&wc))
{
HWND HWnd =
CreateWindow(
WndClassName, TEXT("BitBlt Bitmap Rendering Demo"),
WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |
WS_VISIBLE | WS_CLIPSIBLINGS,
0, 0, 220, 230,
NULL, NULL, HInst, NULL
);
if (HWnd)
{
ShowWindow(HWnd, nCmdShow);
UpdateWindow(HWnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
return 0;
}
//------------------------------------------------------------------
// image related
BITMAP bmp;
LPCSTR filename = TEXT("lena.bmp");
HDC HMemDC = NULL;
HBITMAP HOldBmp = NULL;
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam)
{
switch (Msg)
{
case WM_CREATE:
{
// create a memory DC
HMemDC = CreateCompatibleDC(NULL);
if (HMemDC)
{
// load a bitmap from file
HBITMAP HBmp =
static_cast<HBITMAP>(
LoadImage(HInst, filename, IMAGE_BITMAP,
0, 0, LR_LOADFROMFILE)
);
if (HBmp)
{
// extract dimensions of the bitmap
GetObject(HBmp, sizeof(BITMAP), &bmp);
// associate the bitmap with the memory DC
HOldBmp = static_cast<HBITMAP>(
SelectObject(HMemDC, HBmp)
);
}
}
}
case WM_PAINT:
{
PAINTSTRUCT ps;
const HDC Hdc = BeginPaint(HWnd, &ps);
try
{
//
// TODO: add palette support (see Chapter 9)...
//
BitBlt(Hdc, 20, 15,
bmp.bmWidth, bmp.bmHeight,
HMemDC, 0, 0,
SRCCOPY);
}
catch (...)
{
EndPaint(HWnd, &ps);
}
EndPaint(HWnd, &ps);
break;
}
case WM_DESTROY:
{
// clean up
DeleteObject(SelectObject(HMemDC, HOldBmp));
DeleteDC(HMemDC);
PostQuitMessage(0);
return 0;
}
}
return DefWindowProc(HWnd, Msg, WParam, LParam);
}
//------------------------------------------------------------------

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -1,66 +0,0 @@
# Makefile - Proj_Listing1_5.dsp
ifndef CFG
CFG=Proj_Listing1_5 - Win32 Debug
endif
CC=gcc
CFLAGS=
CXX=g++
CXXFLAGS=$(CFLAGS)
RC=windres -O COFF
ifeq "$(CFG)" "Proj_Listing1_5 - Win32 Release"
CFLAGS+=-fexceptions -O2 -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -W
LD=$(CXX) $(CXXFLAGS)
LDFLAGS=
LDFLAGS+=-Wl,--subsystem,windows
LIBS+=-lkernel32 -luser32 -lgdi32
else
ifeq "$(CFG)" "Proj_Listing1_5 - Win32 Debug"
CFLAGS+=-fexceptions -g -O0 -DWIN32 -D_DEBUG -D_WINDOWS -D_MBCS -W
LD=$(CXX) $(CXXFLAGS)
LDFLAGS=
LDFLAGS+=-Wl,--subsystem,windows
LIBS+=-lkernel32 -luser32 -lgdi32
endif
endif
ifndef TARGET
TARGET=bitblt.exe
endif
.PHONY: all
all: $(TARGET)
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
%.o: %.cpp
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $<
%.res: %.rc
$(RC) $(CPPFLAGS) -o $@ -i $<
SOURCE_FILES= \
bitblt.cpp
HEADER_FILES=
RESOURCE_FILES=
SRCS=$(SOURCE_FILES) $(HEADER_FILES) $(RESOURCE_FILES)
OBJS=$(patsubst %.rc,%.res,$(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(filter %.c %.cpp %.rc,$(SRCS)))))
$(TARGET): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
.PHONY: clean
clean:
-del $(OBJS) $(TARGET)
.PHONY: depends
depends:
-$(CXX) $(CXXFLAGS) $(CPPFLAGS) -MM $(filter %.c %.cpp,$(SRCS)) > Proj_Listing1_5.dep
-include Proj_Listing1_5.dep

View File

@@ -1,19 +0,0 @@
# $Id: Makefile,v 1.7 2002/06/02 19:24:57 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = consume
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,31 +0,0 @@
#include <stdio.h>
#include <string.h>
#include <windows.h>
#define SIZE (65*1024*1024)
ULONG x[SIZE / 4096];
int main()
{
int i;
PUCHAR BaseAddress;
BaseAddress = VirtualAlloc(NULL,
SIZE,
MEM_COMMIT,
PAGE_READONLY);
if (BaseAddress == NULL)
{
printf("Failed to allocate virtual memory");
return(1);
}
printf("BaseAddress %p\n", BaseAddress);
for (i = 0; i < (SIZE / 4096); i++)
{
printf("%.8x ", i*4096);
x[i] = BaseAddress[i*4096];
}
return(0);
}

View File

@@ -1,21 +0,0 @@
# $Id: Makefile,v 1.6 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = count
TARGET_SDKLIBS = kernel32.a user32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,15 +0,0 @@
/* $Id: count.c,v 1.1 2001/03/26 21:30:20 ea Exp $
*
*/
#include <stdlib.h>
int n = 0;
int
main (int argc, char * argv [])
{
while (1) printf ("%d ", n ++ );
return (0);
}
/* EOF */

View File

@@ -1,81 +0,0 @@
#include <windows.h>
extern BOOL STDCALL GdiDllInitialize(HANDLE hInstance, DWORD Event, LPVOID Reserved);
void __stdcall Test1BPP (HDC Desktop)
{
HDC TestDC;
HPEN WhitePen;
HBITMAP DIB1;
BITMAPINFOHEADER BitInf;
PBITMAPINFO BitPalInf;
DWORD bmiSize = sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 2;
// Create a 1BPP DIB
BitPalInf = (PBITMAPINFO)malloc(bmiSize);
BitInf.biSize = sizeof(BITMAPINFOHEADER);
BitInf.biWidth = 50;
BitInf.biHeight = -50; // it's top down (since BI_RGB is used, the sign is operative of direction)
BitInf.biPlanes = 1;
BitInf.biBitCount = 1;
BitInf.biCompression = BI_RGB;
BitInf.biSizeImage = 0;
BitInf.biXPelsPerMeter = 0;
BitInf.biYPelsPerMeter = 0;
BitInf.biClrUsed = 0;
BitInf.biClrImportant = 0;
BitPalInf->bmiHeader = BitInf;
BitPalInf->bmiColors[1].rgbBlue = 255;
BitPalInf->bmiColors[1].rgbGreen = 255;
BitPalInf->bmiColors[1].rgbRed = 255;
BitPalInf->bmiColors[1].rgbReserved = 255;
BitPalInf->bmiColors[0].rgbBlue = 0;
BitPalInf->bmiColors[0].rgbGreen = 0;
BitPalInf->bmiColors[0].rgbRed = 0;
BitPalInf->bmiColors[0].rgbReserved = 0;
DIB1 = (HBITMAP) CreateDIBSection(NULL, BitPalInf, DIB_RGB_COLORS, NULL, NULL, 0);
TestDC = CreateCompatibleDC(NULL);
SelectObject(TestDC, DIB1);
// Draw a white rectangle on the 1BPP DIB
WhitePen = CreatePen(PS_SOLID, 1, RGB(255, 255, 255));
SelectObject(TestDC, WhitePen);
Rectangle(TestDC, 0, 0, 40, 40);
// Blt the 1BPP DIB to the display
BitBlt(Desktop, 0, 0, 50, 50, TestDC, 0, 0, SRCCOPY);
free(BitPalInf);
// Rectangle(Desktop, 50, 50, 200, 200);
}
void DIBTest(void)
{
HDC Desktop;
// Set up a DC called Desktop that accesses DISPLAY
Desktop = CreateDCA("DISPLAY", NULL, NULL, NULL);
if(Desktop == NULL) {
printf("Can't create desktop\n");
return;
}
// 1BPP Test
Test1BPP(Desktop);
Sleep(50000);
// Free up everything
DeleteDC(Desktop);
}
int main(int argc, char* argv[])
{
printf("Entering DIBTest..\n");
GdiDllInitialize (NULL, DLL_PROCESS_ATTACH, NULL);
DIBTest();
return 0;
}

View File

@@ -1,21 +0,0 @@
# $Id: makefile,v 1.1 2002/09/22 20:09:01 jfilby Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = dibtest
TARGET_SDKLIBS = kernel32.a gdi32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,51 +0,0 @@
#include <stdio.h>
#include <ntddk.h>
int main()
{
int i;
printf("TickCountLow: %x\n",
SharedUserData->TickCountLow);
printf("Drives: ");
for (i = 0; i < 26; i++)
{
printf("%c", (SharedUserData->DosDeviceMap & (1 << i))?'1':'0');
}
printf("\n");
for (i = 0; i < 26; i++)
{
if (SharedUserData->DosDeviceMap & (1 << i))
{
printf("%c: ", 'A'+i);
switch(SharedUserData->DosDeviceDriveType[i])
{
case DOSDEVICE_DRIVE_UNKNOWN:
printf("Unknown\n");
break;
case DOSDEVICE_DRIVE_CALCULATE:
printf("No root\n");
break;
case DOSDEVICE_DRIVE_REMOVABLE:
printf("Removable\n");
break;
case DOSDEVICE_DRIVE_FIXED:
printf("Fixed\n");
break;
case DOSDEVICE_DRIVE_REMOTE:
printf("Remote\n");
break;
case DOSDEVICE_DRIVE_CDROM:
printf("CD-ROM\n");
break;
case DOSDEVICE_DRIVE_RAMDISK:
printf("Ram disk\n");
break;
default:
printf("undefined type\n");
break;
}
}
}
printf("\n\n");
}

View File

@@ -1,20 +0,0 @@
# $Id: makefile,v 1.6 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = dump_shared_data
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,33 +0,0 @@
#include <windows.h>
#include <stdio.h>
HANDLE events[2];
DWORD WINAPI thread( LPVOID crap )
{
SetEvent( events[0] );
if( crap )
SetEvent( events[1] );
return 1;
}
int main( void )
{
DWORD id, Status;
printf( "Creating events\n" );
events[0] = CreateEvent( 0, TRUE, FALSE, 0 );
events[1] = CreateEvent( 0, TRUE, FALSE, 0 );
printf( "Created events\n" );
CreateThread( 0, 0, thread, 0, 0, &id );
printf( "WaitForSingleObject %s\n", ( WaitForSingleObject( events[0], INFINITE ) == WAIT_OBJECT_0 ? "worked" : "failed" ) );
ResetEvent( events[0] );
CreateThread( 0, 0, thread, 0, 0, &id );
printf( "WaitForMultipleObjects with waitall = FALSE %s\n", ( WaitForMultipleObjects( 2, events, FALSE, INFINITE ) == WAIT_OBJECT_0 ? "worked" : "failed" ) );
ResetEvent( events[0] );
CreateThread( 0, 0, thread, (void *)1, 0, &id );
Status = WaitForMultipleObjects( 2, events, TRUE, INFINITE );
printf( "WaitForMultipleObjects with waitall = TRUE %s\n", ( Status == WAIT_OBJECT_0 || Status == WAIT_OBJECT_0 + 1 ? "worked" : "failed" ) );
ResetEvent( events[0] );
printf( "WaitForSingleObject with timeout %s\n", ( WaitForSingleObject( events[0], 100 ) == WAIT_TIMEOUT ? "worked" : "failed" ) );
return 0;
}

View File

@@ -1,21 +0,0 @@
# $Id: makefile,v 1.7 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = event
TARGET_SDKLIBS = kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,19 +0,0 @@
# $Id: Makefile,v 1.8 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = file
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,54 +0,0 @@
/***********************************************************
* File read/write test utility *
**********************************************************/
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
HANDLE file;
char buffer[4096];
DWORD wrote;
int c;
file = CreateFile("test.dat",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
0,
0);
if (file == INVALID_HANDLE_VALUE)
{
printf("Error opening file (Status %x)\n", GetLastError());
return 1;
}
for( c = 0; c < sizeof( buffer ); c++ )
buffer[c] = (char)c;
printf("Writing file\n");
if (WriteFile( file, buffer, 4096, &wrote, NULL) == FALSE)
{
printf("Error writing file (Status %x)\n", GetLastError());
exit(2);
}
printf("Reading file\n");
SetFilePointer( file, 0, 0, FILE_BEGIN );
if (ReadFile( file, buffer, 4096, &wrote, NULL) == FALSE)
{
printf("Error reading file (Status %x)\n", GetLastError());
exit(3);
}
for( c = 0; c < sizeof( buffer ); c++ )
if( buffer[c] != (char)c )
{
printf( "Error: data read back is not what was written\n" );
CloseHandle( file );
return 0;
}
printf("Finished, works fine\n");
CloseHandle( file );
return 0;
}

View File

@@ -1,344 +0,0 @@
/*
* gditest
dec 26, 2001 -- gditest bug fix by Richard Campbell
*/
#include <windows.h>
extern BOOL STDCALL GdiDllInitialize(HANDLE hInstance, DWORD Event, LPVOID Reserved);
void __stdcall Background (HDC Desktop)
{
HPEN Pen;
int x, y;
Pen = CreatePen(PS_SOLID, 1, RGB(64, 64, 128));
SelectObject (Desktop, Pen);
MoveToEx (Desktop, 0, 0, NULL);
LineTo (Desktop, 640, 480);
for (y = 479, x = 0; x < 640; x+=42)
{
MoveToEx (Desktop, 0, 0, NULL);
LineTo (Desktop, x, y);
}
for (y = 0, x = 639; y < 480; y+=42)
{
MoveToEx (Desktop, 0, 0, NULL);
LineTo (Desktop, x, y);
}
}
void gditest( void ){
HDC Desktop, MyDC, DC24;
HPEN RedPen, GreenPen, BluePen, WhitePen;
HBITMAP MyBitmap, DIB24;
HFONT hf, tf;
BITMAPINFOHEADER BitInf;
BITMAPINFO BitPalInf;
HRGN hRgn1, hRgn2, hRgn3;
HBRUSH BlueBrush, DefBrush;
// Set up a DC called Desktop that accesses DISPLAY
Desktop = CreateDCA("DISPLAY", NULL, NULL, NULL);
if (Desktop == NULL){
printf("Can't create desktop\n");
return;
}
// Background
Background (Desktop);
//ei
BlueBrush = CreateSolidBrush( RGB(0, 0, 0xff) );
DefBrush = SelectObject( Desktop, BlueBrush );
hRgn1 = CreateRectRgn( 1, 2, 100, 101 );
hRgn2 = CreateRectRgn( 10, 20, 150, 151 );
hRgn3 = CreateRectRgn( 1, 1, 1, 1);
CombineRgn( hRgn3, hRgn1, hRgn2, RGN_XOR );
PaintRgn( Desktop, hRgn3 );
SelectObject( Desktop, DefBrush );
DeleteObject( BlueBrush );
// Create a blue pen and select it into the DC
BluePen = CreatePen(PS_SOLID, 8, RGB(0, 0, 0xff));
SelectObject(Desktop, BluePen);
// Draw a shape on the DC
MoveToEx(Desktop, 50, 50, NULL);
LineTo(Desktop, 200, 60);
LineTo(Desktop, 200, 300);
LineTo(Desktop, 50, 50);
MoveToEx(Desktop, 50, 50, NULL);
LineTo(Desktop, 200, 50);
WhitePen = CreatePen(PS_SOLID, 3, RGB(0xff, 0xff, 0xff));
SelectObject(Desktop, WhitePen);
MoveToEx(Desktop, 20, 70, NULL);
LineTo(Desktop, 500, 70);
MoveToEx(Desktop, 70, 20, NULL);
LineTo(Desktop, 70, 150);
// Test font support
GreenPen = CreatePen(PS_SOLID, 3, RGB(0, 0xff, 0));
RedPen = CreatePen(PS_SOLID, 3, RGB(0xff, 0, 0));
hf = CreateFontA(24, 0, 0, TA_BASELINE, FW_NORMAL, FALSE, FALSE, FALSE,
ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY, FIXED_PITCH|FF_DONTCARE, "Helmet");
SelectObject(Desktop, hf);
SetTextColor(Desktop, RGB(0xff, 0, 0));
TextOutA(Desktop, 70, 70, "React", 5);
SetTextColor(Desktop, RGB(0, 0xff, 0));
TextOutA(Desktop, 140, 70, "OS", 2);
tf = CreateFontA(14, 0, 0, TA_BASELINE, FW_NORMAL, FALSE, FALSE, FALSE,
ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY, FIXED_PITCH|FF_DONTCARE, "Timmons");
SelectObject(Desktop, tf);
SetTextColor(Desktop, RGB(0xff, 0xff, 0xff));
TextOutA(Desktop, 70, 90, "This is a test of ReactOS text, using the FreeType 2 library!", 61);
// TEST 1: Copy from the VGA into a device compatible DC, draw on it, then blt it to the VGA again
MyDC = CreateCompatibleDC(Desktop);
MyBitmap = CreateCompatibleBitmap(Desktop, 151, 251);
SelectObject(MyDC, MyBitmap);
BitBlt(MyDC, 0, 0, 151, 251, Desktop, 50, 50, SRCCOPY); // can we say 151, 251 since bottom corner is not inclusive?
SelectObject(MyDC, GreenPen);
Rectangle(MyDC, 10, 10, 50, 50);
// TEST 2: Copy from the device compatible DC into a 24BPP bitmap, draw on it, then blt to the VGA again
BitInf.biSize = sizeof(BITMAPINFOHEADER);
BitInf.biWidth = 152;
BitInf.biHeight = -252; // it's top down (since BI_RGB is used, the sign is operative of direction)
BitInf.biPlanes = 1;
BitInf.biBitCount = 24;
BitInf.biCompression = BI_RGB;
BitInf.biSizeImage = 0;
BitInf.biXPelsPerMeter = 0;
BitInf.biYPelsPerMeter = 0;
BitInf.biClrUsed = 0;
BitInf.biClrImportant = 0;
BitPalInf.bmiHeader = BitInf;
DIB24 = (HBITMAP) CreateDIBSection(NULL, &BitPalInf, DIB_RGB_COLORS, NULL, NULL, 0);
DC24 = CreateCompatibleDC(NULL);
SelectObject(DC24, DIB24);
BitBlt(DC24, 0, 0, 101, 201, MyDC, 0, 0, SRCCOPY);
SelectObject(DC24, RedPen);
Rectangle(DC24, 80, 90, 100, 110);
MoveToEx(DC24, 80, 90, NULL);
LineTo(DC24, 100, 110);
BitBlt(Desktop, 200, 200, 110, 120, DC24, 0, 0, SRCCOPY);
Sleep( 10000 ); // fixme delay only 10000 (for 10 seconds)
// Free up everything
DeleteDC(Desktop);
DeleteDC(MyDC);
}
void DumpRgnData( HRGN hRgn )
{
int size, ret, i;
LPRGNDATA rgnData;
size = GetRegionData( hRgn, 0, NULL );
if( size == 0 ){
printf("GetRegionData returned 0\n");
return;
}
rgnData = (LPRGNDATA) malloc( size );
ret = GetRegionData( hRgn, size, rgnData );
if( ret == 0 ){
printf("GetRegionData( hRgn, size, rgnData ) returned 0\n");
return;
}
printf("Bounds: left=%d top=%d right=%d bottom=%d, count: %d, type: %i\n\n",
rgnData->rdh.rcBound.left, rgnData->rdh.rcBound.top, rgnData->rdh.rcBound.right, rgnData->rdh.rcBound.bottom,
rgnData->rdh.nCount, rgnData->rdh.iType);
printf("Rects:\t i \t left \t top \t right \t bottom\n");
for ( i = 0; i < rgnData->rdh.nCount; i++ ) {
PRECT pr = (PRECT) rgnData->Buffer + i;
printf("\t %d \t %d \t %d \t %d \t %d\n", i, pr->left, pr->top, pr->right, pr->bottom );
}
printf("\n");
}
void rgntest( void )
{
HRGN hRgn1, hRgn2, hRgn3;
RECT Rect;
int i;
hRgn1 = CreateRectRgn( 1, 2, 100, 101 );
if( hRgn1 == NULL ) {
printf("Failed at hRgn1 = CreateRectRgn( 1, 2, 100, 101 )\n");
return;
}
i = GetRgnBox( hRgn1, &Rect );
if( i==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("GetRgnBox( hRgn1, &Rect ): i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn1 );
hRgn2 = CreateRectRgn( 51, 53, 150, 152 );
if( hRgn2 == NULL ) {
printf("Failed at hRgn2 = CreateRectRgn( 51, 53, 150, 152 )\n");
return;
}
i = GetRgnBox( hRgn2, &Rect );
if( i==0 ){
printf("Failed GetRgnBox( hRgn2, &Rect )\n");
return;
}
printf("GetRgnBox( hRgn2, &Rect ): i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn2 );
if( EqualRgn( hRgn1, hRgn2 ) == TRUE ){
printf("\t hRgn1, hRgn2 are equal\n");
}
else{
printf("\t hRgn1, hRgn2 are NOT equal\n\n");
}
i = OffsetRgn(hRgn1,50,51);
if( i==ERROR ){
printf("Failed OffsetRgn(hRgn1,50,51)\n");
return;
}
i = GetRgnBox( hRgn1, &Rect );
if( i==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After offset\nGetRgnBox( hRgn1, &Rect ): i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
if( EqualRgn( hRgn1, hRgn2 ) == TRUE ){
printf("\t hRgn1, hRgn2 are equal after offset\n");
}
else{
printf("\t hRgn1, hRgn2 are NOT equal after offset!\n\n");
}
i = SetRectRgn(hRgn1, 10, 11, 110, 111 );
if( i==0 ){
printf("Failed SetRectRgn(hRgn1... )\n");
return;
}
i = GetRgnBox( hRgn1, &Rect );
if( i==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("after SetRectRgn(hRgn1, 10, 11, 110, 111 ):\n i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
hRgn3 = CreateRectRgn( 1, 1, 1, 1);
i = CombineRgn( hRgn3, hRgn1, hRgn2, RGN_AND );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn3, hRgn1, hRgn2, RGN_AND ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn3, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn3, hRgn1, hRgn2, RGN_AND ): \nGetRgnBox( hRgn3, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn3 );
i = CombineRgn( hRgn3, hRgn1, hRgn2, RGN_OR );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn3, hRgn1, hRgn2, RGN_OR ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn3, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn3, hRgn1, hRgn2, RGN_OR ): \nGetRgnBox( hRgn3, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn3 );
i = CombineRgn( hRgn3, hRgn1, hRgn2, RGN_DIFF );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn3, hRgn1, hRgn2, RGN_DIFF ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn3, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn3, hRgn1, hRgn2, RGN_DIFF ): \nGetRgnBox( hRgn3, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn3 );
i = CombineRgn( hRgn3, hRgn1, hRgn2, RGN_XOR );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn3, hRgn1, hRgn2, RGN_XOR ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn3, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn3, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn3, hRgn1, hRgn2, RGN_XOR ): \nGetRgnBox( hRgn3, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn3 );
i = CombineRgn( hRgn1, hRgn3, hRgn2, RGN_COPY );
if( i==ERROR ){
printf("Fail: CombineRgn( hRgn1, hRgn3, hRgn2, RGN_COPY ). LastError: %d\n", GetLastError);
return;
}
if( GetRgnBox( hRgn1, &Rect )==0 ){
printf("Failed GetRgnBox( hRgn1, &Rect )\n");
return;
}
printf("After CombineRgn( hRgn1, hRgn3, hRgn2, RGN_COPY ): \nGetRgnBox( hRgn1, &Rect ): CR_i=%d, left=%d top=%d right=%d bottom=%d\n\n",
i, Rect.left, Rect.top, Rect.right, Rect.bottom );
DumpRgnData( hRgn1 );
DeleteObject( hRgn1 );
DeleteObject( hRgn2 );
DeleteObject( hRgn3 );
printf("region test finished\n");
}
int main (int argc, char* argv[])
{
printf("Entering GDITest..\n");
printf("use gditest for older tests\n");
printf("use gditest 1 for region test\n");
GdiDllInitialize (NULL, DLL_PROCESS_ATTACH, NULL);
if( argc < 2 )
gditest();
else {
if( !strncmp( argv[1], "1", 1 ) ) {
rgntest();
}
}
return 0;
}

View File

@@ -1,21 +0,0 @@
# $Id: makefile,v 1.8 2002/06/02 19:24:58 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = gditest
TARGET_SDKLIBS = kernel32.a gdi32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,8 +0,0 @@
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
printf("Hello world\n");
return(0);
}

View File

@@ -1,19 +0,0 @@
# $Id: makefile,v 1.16 2002/06/02 19:24:59 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = hello
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,229 +0,0 @@
/*
* isotest - display cdrom information
*/
#include <windows.h>
//#include <winioctl.h>
#include <stdio.h>
#include <stdlib.h>
void HexDump(char *buffer, ULONG size)
{
ULONG offset = 0;
unsigned char *ptr;
while (offset < (size & ~15))
{
ptr = (unsigned char*)((ULONG)buffer + offset);
printf("%08lx %02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx-%02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx",
offset,
ptr[0],
ptr[1],
ptr[2],
ptr[3],
ptr[4],
ptr[5],
ptr[6],
ptr[7],
ptr[8],
ptr[9],
ptr[10],
ptr[11],
ptr[12],
ptr[13],
ptr[14],
ptr[15]);
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",
isprint(ptr[0])?ptr[0]:'.',
isprint(ptr[1])?ptr[1]:'.',
isprint(ptr[2])?ptr[2]:'.',
isprint(ptr[3])?ptr[3]:'.',
isprint(ptr[4])?ptr[4]:'.',
isprint(ptr[5])?ptr[5]:'.',
isprint(ptr[6])?ptr[6]:'.',
isprint(ptr[7])?ptr[7]:'.',
isprint(ptr[8])?ptr[8]:'.',
isprint(ptr[9])?ptr[9]:'.',
isprint(ptr[10])?ptr[10]:'.',
isprint(ptr[11])?ptr[11]:'.',
isprint(ptr[12])?ptr[12]:'.',
isprint(ptr[13])?ptr[13]:'.',
isprint(ptr[14])?ptr[14]:'.',
isprint(ptr[15])?ptr[15]:'.');
offset += 16;
}
ptr = (unsigned char*)((ULONG)buffer + offset);
if (offset < size)
{
printf("%08lx ", offset);
while (offset < size)
{
printf(" %02hx", *ptr);
offset++;
ptr++;
}
}
printf("\n\n");
}
#ifndef EVENT_ALL_ACCESS
#define EVENT_ALL_ACCESS (0x1f0003L)
#endif
BOOL
ReadBlock(HANDLE FileHandle,
PVOID Buffer,
PLARGE_INTEGER Offset,
ULONG Length,
PULONG BytesRead)
{
IO_STATUS_BLOCK IoStatusBlock;
OBJECT_ATTRIBUTES ObjectAttributes;
NTSTATUS Status;
HANDLE EventHandle;
InitializeObjectAttributes(&ObjectAttributes,
NULL, 0, NULL, NULL);
Status = NtCreateEvent(&EventHandle,
EVENT_ALL_ACCESS,
&ObjectAttributes,
TRUE,
FALSE);
if (!NT_SUCCESS(Status))
{
printf("NtCreateEvent() failed\n");
return(FALSE);
}
Status = NtReadFile(FileHandle,
EventHandle,
NULL,
NULL,
&IoStatusBlock,
Buffer,
Length,
Offset,
NULL);
if (Status == STATUS_PENDING)
{
NtWaitForSingleObject(EventHandle, FALSE, NULL);
Status = IoStatusBlock.Status;
}
NtClose(EventHandle);
if (Status != STATUS_PENDING && BytesRead != NULL)
{
*BytesRead = IoStatusBlock.Information;
}
if (!NT_SUCCESS(Status) && Status != STATUS_END_OF_FILE)
{
printf("ReadBlock() failed (Status: %lx)\n", Status);
return(FALSE);
}
return(TRUE);
}
int main (int argc, char *argv[])
{
HANDLE hDisk;
DWORD dwRead;
DWORD i;
char *Buffer;
CHAR Filename[80];
LARGE_INTEGER FilePosition;
if (argc != 2)
{
printf("Usage: isotest [Drive:]\n");
return 0;
}
strcpy(Filename, "\\\\.\\");
strcat(Filename, argv[1]);
hDisk = CreateFile(Filename,
GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
if (hDisk == INVALID_HANDLE_VALUE)
{
printf("CreateFile(): Invalid disk handle!\n");
return 0;
}
Buffer = (char*)malloc(2048);
if (Buffer == NULL)
{
CloseHandle(hDisk);
printf("Out of memory!\n");
return 0;
}
memset(Buffer, 0, 2048);
FilePosition.QuadPart = 16 * 2048;
#if 0
SetLastError(NO_ERROR);
SetFilePointer(hDisk,
FilePosition.u.LowPart,
&FilePosition.u.HighPart,
FILE_BEGIN);
if (GetLastError() != NO_ERROR)
{
CloseHandle(hDisk);
free(Buffer);
printf("SetFilePointer() failed!\n");
return 0;
}
if (ReadFile(hDisk,
Buffer,
2048,
&dwRead,
NULL) == FALSE)
{
CloseHandle(hDisk);
free(Buffer);
printf("ReadFile() failed!\n");
return 0;
}
#endif
if (ReadBlock(hDisk,
Buffer,
&FilePosition,
2048,
&dwRead) == FALSE)
{
CloseHandle(hDisk);
free(Buffer);
#if 0
printf("ReadBlock() failed!\n");
#endif
return 0;
}
HexDump(Buffer, 128);
CloseHandle(hDisk);
free(Buffer);
return 0;
}
/* EOF */

View File

@@ -1,23 +0,0 @@
# $Id: makefile,v 1.2 2002/06/02 19:24:59 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = isotest
#TARGET_CFLAGS = -fnative_struct
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,205 +0,0 @@
/* $Id: conport.c,v 1.6 2000/04/25 23:22:46 ea Exp $
*
* reactos/apps/lpc/conport.c
*
* To be run in a real WNT 4.0 system with
* "\SmApiPort" as argument. Do not try to
* connect to "\Windows\ApiPort" since that
* reboots immeditely.
*
* Use Russinovich' HandleEx to verify
* conport.exe owns two unnamed LPC ports:
* the one created by kernel32.dll connecting
* to csrss.exe, and one connected to here.
*
* 19990627 (Emanuele Aliberti)
* Initial implementation.
* 19990704 (EA)
* Dump object's attributes moved in dumpinfo.c.
*/
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define PROTO_LPC
#include <ddk/ntddk.h>
#include "dumpinfo.h"
#define LPC_CONNECT_FLAG1 0x00000001
#define LPC_CONNECT_FLAG2 0x00000010
#define LPC_CONNECT_FLAG3 0x00000100
#define LPC_CONNECT_FLAG4 0x00001000
#define LPC_CONNECT_FLAG5 0x00010000
NTSTATUS
(STDCALL * ConnectPort)(
OUT PHANDLE PortHandle,
IN PUNICODE_STRING PortName,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN DWORD Unknown3,
IN DWORD Unknown4,
IN DWORD Unknown5,
IN DWORD Unknown6,
IN ULONG Flags
);
NTSTATUS
(STDCALL * QueryObject)(
IN HANDLE ObjectHandle,
IN CINT ObjectInformationClass,
OUT PVOID ObjectInformation,
IN ULONG Length,
OUT PULONG ResultLength
);
NTSTATUS
(STDCALL * YieldExecution)(VOID);
#define BUF_SIZE 1024
#define MAXARG 1000000
VOID
TryConnectPort(char *port_name)
{
DWORD Status = 0;
HANDLE Port = 0;
int i;
UNICODE_STRING PortName;
OBJECT_ATTRIBUTES ObjectAttributes;
WORD Name [BUF_SIZE] = {0};
int dwx = 0;
char * port_name_save = port_name;
/*
* Convert the port's name to Unicode.
*/
for (
PortName.Length = 0;
( *port_name
&& (PortName.Length < BUF_SIZE)
);
)
{
Name[PortName.Length++] = (WORD) *port_name++;
}
Name[PortName.Length] = 0;
PortName.Length = PortName.Length * sizeof (WORD);
PortName.MaximumLength = PortName.Length + sizeof (WORD);
PortName.Buffer = (PWSTR) Name;
/*
* Prepare the port object attributes.
*/
ObjectAttributes.Length =
sizeof (OBJECT_ATTRIBUTES);
ObjectAttributes.RootDirectory =
NULL;
ObjectAttributes.ObjectName =
NULL /*& PortName */;
ObjectAttributes.Attributes =
OBJ_CASE_INSENSITIVE;
ObjectAttributes.SecurityDescriptor =
NULL;
ObjectAttributes.SecurityQualityOfService =
NULL;
/*
* Try to issue a connection request.
*/
Port = 0;
Status = ConnectPort(
& Port, /* & PortHandle */
& PortName, /* & PortName */
& ObjectAttributes, /* & PortAttributes */
NULL, /* & SecurityQos */
NULL, /* & SectionInfo */
NULL, /* & MapInfo */
NULL, /* & MaxMessageSize */
LPC_CONNECT_FLAG5 /* & ConnectInfoLength */
);
if (Status == STATUS_SUCCESS)
{
DumpInfo(
Name,
Status,
"connected",
Port
);
/* Hot waiting */
for (dwx=0; dwx<MAXARG; ++dwx)
{
YieldExecution();
}
if (FALSE == CloseHandle(Port))
{
printf(
"Could not close the port handle %08X.\n",
Port
);
}
return;
}
printf(
"Connection to port \"%s\" failed (Status = %08X).\n",
port_name_save,
Status
);
}
main( int argc, char * argv[] )
{
HINSTANCE ntdll;
if (argc != 2)
{
printf("WNT LPC Port Connector\n");
printf("Usage: %s [port_name]\n",argv[0]);
exit(EXIT_FAILURE);
}
printf("LoadLibrary(NTDLL)\n");
ntdll = LoadLibrary("NTDLL");
if (ntdll == NULL)
{
printf("Could not load NTDLL\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtConnectPort)\n");
ConnectPort = (VOID*) GetProcAddress(
ntdll,
"NtConnectPort"
);
if (ConnectPort == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtConnectPort\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtQueryObject)\n");
QueryObject = (VOID*) GetProcAddress(
ntdll,
"NtQueryObject"
);
if (QueryObject == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtQueryObject\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtYieldExecution)\n");
YieldExecution = (VOID*) GetProcAddress(
ntdll,
"NtYieldExecution"
);
if (YieldExecution == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtYieldExecution\n");
return EXIT_FAILURE;
}
printf("TryConnectPort(%s)\n",argv[1]);
TryConnectPort(argv[1]);
printf("Done\n");
return EXIT_SUCCESS;
}
/* EOF */

View File

@@ -1,192 +0,0 @@
/* $Id: creport.c,v 1.2 1999/07/17 23:10:12 ea Exp $
*
* reactos/apps/lpc/creport.c
*
* To be run in a real WNT 4.0 system to
* create an LPC named port.
*
* Use Russinovich' HandleEx to verify
* creport.exe owns the named LPC port
* you asked to create.
*/
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define PROTO_LPC
#include <ddk/ntddk.h>
#include "dumpinfo.h"
#define LPC_CONNECT_FLAG1 0x00000001
#define LPC_CONNECT_FLAG2 0x00000010
#define LPC_CONNECT_FLAG3 0x00000100
#define LPC_CONNECT_FLAG4 0x00001000
#define LPC_CONNECT_FLAG5 0x00010000
NTSTATUS
(STDCALL * CreatePort)(
/*OUT PHANDLE PortHandle,*/
PVOID Buffer,
IN POBJECT_ATTRIBUTES PortAttributes OPTIONAL,
IN ACCESS_MASK DesiredAccess,
IN DWORD Unknown3,
IN ULONG Flags
);
NTSTATUS
(STDCALL * QueryObject)(
IN HANDLE ObjectHandle,
IN CINT ObjectInformationClass,
OUT PVOID ObjectInformation,
IN ULONG Length,
OUT PULONG ResultLength
);
NTSTATUS
(STDCALL * YieldExecution)(VOID);
#define BUF_SIZE 1024
#define MAXARG 5000000
VOID
TryCreatePort(char *port_name)
{
DWORD Status = 0;
HANDLE Port = 0;
int i;
UNICODE_STRING PortName;
OBJECT_ATTRIBUTES ObjectAttributes;
WORD Name [BUF_SIZE] = {0};
int dwx = 0;
char * port_name_save = port_name;
/*
* Convert the port's name to Unicode.
*/
for (
PortName.Length = 0;
( *port_name
&& (PortName.Length < BUF_SIZE)
);
)
{
Name[PortName.Length++] = (WORD) *port_name++;
}
Name[PortName.Length] = 0;
PortName.Length = PortName.Length * sizeof (WORD);
PortName.MaximumLength = PortName.Length + sizeof (WORD);
PortName.Buffer = (PWSTR) Name;
/*
* Prepare the port object attributes.
*/
ObjectAttributes.Length =
sizeof (OBJECT_ATTRIBUTES);
ObjectAttributes.RootDirectory =
NULL;
ObjectAttributes.ObjectName =
& PortName;
ObjectAttributes.Attributes =
0; //OBJ_CASE_INSENSITIVE --> STATUS_INVALID_PARAMETER ==> case sensitive!;
ObjectAttributes.SecurityDescriptor =
NULL;
ObjectAttributes.SecurityQualityOfService =
NULL;
/*
* Try to issue a connection request.
*/
Port = 0;
Status = CreatePort(
& Port,
& ObjectAttributes,
0, /* ACCESS_MASK? */
0, /* Unknown3 */
LPC_CONNECT_FLAG5
);
if (Status == STATUS_SUCCESS)
{
DumpInfo(
Name,
Status,
"created",
Port
);
/* Hot waiting */
for (dwx=0; dwx<MAXARG; ++dwx)
{
YieldExecution();
}
if (FALSE == CloseHandle(Port))
{
printf(
"Could not close the port handle %08X.\n",
Port
);
}
return;
}
printf(
"Creating port \"%s\" failed (Status = %08X).\n",
port_name_save,
Status
);
}
main( int argc, char * argv[] )
{
HINSTANCE ntdll;
if (argc != 2)
{
printf("WNT LPC Port Creator\n");
printf("Usage: %s [port_name]\n",argv[0]);
exit(EXIT_FAILURE);
}
printf("LoadLibrary(NTDLL)\n");
ntdll = LoadLibrary("NTDLL");
if (ntdll == NULL)
{
printf("Could not load NTDLL\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtCreatePort)\n");
CreatePort = (VOID*) GetProcAddress(
ntdll,
"NtCreatePort"
);
if (CreatePort == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtCreatePort\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtQueryObject)\n");
QueryObject = (VOID*) GetProcAddress(
ntdll,
"NtQueryObject"
);
if (QueryObject == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtQueryObject\n");
return EXIT_FAILURE;
}
printf("GetProcAddress(NTDLL.NtYieldExecution)\n");
YieldExecution = (VOID*) GetProcAddress(
ntdll,
"NtYieldExecution"
);
if (YieldExecution == NULL)
{
FreeLibrary(ntdll);
printf("Could not find NTDLL.NtYieldExecution\n");
return EXIT_FAILURE;
}
printf("TryCreatePort(%s)\n",argv[1]);
TryCreatePort(argv[1]);
printf("Done\n");
return EXIT_SUCCESS;
}
/* EOF */

View File

@@ -1,239 +0,0 @@
/* $Id: dumpinfo.c,v 1.2 1999/07/17 23:10:12 ea Exp $
*
* reactos/apps/lpc/dumpinfo.c
*
* ReactOS Operating System
*
* Dump a kernel object's attributes by its handle.
*
* 19990627 (Emanuele Aliberti)
* Initial implementation.
* 19990704 (EA)
* Added code to find the basic information buffer size
* for the LPC port object.
* 19990710 (EA)
*
*/
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <ddk/ntddk.h>
#define BUF_SIZE 1024
#define MAX_BASIC_INFO_SIZE 512
extern
NTSTATUS
(STDCALL * QueryObject)(
IN HANDLE ObjectHandle,
IN CINT ObjectInformationClass,
OUT PVOID ObjectInformation,
IN ULONG Length,
OUT PULONG ResultLength
);
extern
NTSTATUS
(STDCALL * QueryInformationPort)(
IN HANDLE PortHandle,
IN CINT PortInformationClass, /* guess */
OUT PVOID PortInformation, /* guess */
IN ULONG PortInformationLength, /* guess */
OUT PULONG ReturnLength /* guess */
);
/*
static
VOID
DumpBuffer(
char *Name,
BYTE *buffer,
ULONG size
)
{
register ULONG i = 0;
printf("%s [%d] = ",Name,size);
for ( i = 0;
i != size;
++i
)
{
printf("%02X",buffer[i]);
}
printf("\n");
}
*/
VOID
DumpInfo (
LPCWSTR Name,
NTSTATUS Status,
LPCWSTR Comment,
HANDLE Port
)
{
BYTE ObjectInformation [BUF_SIZE] = {0};
ULONG ResultLength;
wprintf(
L"Port \"%s\" %s:\n",
Name,
Comment
);
printf("\tStatus = %08X\n",Status);
printf("\tPort = %08X\n\n",Port);
/*
* Query object information.
*/
printf("Basic Information:\n");
Status = QueryObject(
Port,
ObjectBasicInformation,
ObjectInformation,
sizeof (LPC_PORT_BASIC_INFORMATION),
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
PLPC_PORT_BASIC_INFORMATION i;
i = (PLPC_PORT_BASIC_INFORMATION) ObjectInformation;
printf( "\tUnknown01 = 0x%08X\n", i->Unknown0 );
printf( "\tUnknown02 = 0x%08X\n", i->Unknown1 );
printf( "\tUnknown03 = 0x%08X\n", i->Unknown2 );
printf( "\tUnknown04 = 0x%08X\n", i->Unknown3 );
printf( "\tUnknown05 = 0x%08X\n", i->Unknown4 );
printf( "\tUnknown06 = 0x%08X\n", i->Unknown5 );
printf( "\tUnknown07 = 0x%08X\n", i->Unknown6 );
printf( "\tUnknown08 = 0x%08X\n", i->Unknown7 );
printf( "\tUnknown09 = 0x%08X\n", i->Unknown8 );
printf( "\tUnknown10 = 0x%08X\n", i->Unknown9 );
printf( "\tUnknown11 = 0x%08X\n", i->Unknown10 );
printf( "\tUnknown12 = 0x%08X\n", i->Unknown11 );
printf( "\tUnknown13 = 0x%08X\n", i->Unknown12 );
printf( "\tUnknown14 = 0x%08X\n", i->Unknown13 );
}
else
{
printf("\tStatus = %08X\n",Status);
}
printf("Type Information:\n");
Status = QueryObject(
Port,
ObjectTypeInformation,
ObjectInformation,
sizeof ObjectInformation,
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
OBJECT_TYPE_INFORMATION * i;
i = (OBJECT_TYPE_INFORMATION *) ObjectInformation;
wprintf(
L"\tName: \"%s\"\n",
(i->Name.Length ? i->Name.Buffer : L"")
);
/*
FIXME: why this always raise an access violation exception?
wprintf(
L"\tType: \"%s\"\n",
(i->Type.Length ? i->Type.Buffer : L"")
);
/**/
printf(
"\tTotal Handles: %d\n",
i->TotalHandles
);
printf(
"\tReference Count: %d\n",
i->ReferenceCount
);
}
else
{
printf("\tStatus = %08X\n",Status);
}
printf("Name Information:\n");
Status = QueryObject(
Port,
ObjectNameInformation,
ObjectInformation,
sizeof ObjectInformation,
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
OBJECT_NAME_INFORMATION * i;
i = (OBJECT_NAME_INFORMATION *) ObjectInformation;
wprintf(
L"\tName: \"%s\"\n",
(i->Name.Length ? i->Name.Buffer : L"")
);
}
else
{
printf("\tStatus = %08X\n",Status);
}
printf("Data Information:\n");
Status = QueryObject(
Port,
ObjectDataInformation,
ObjectInformation,
sizeof ObjectInformation,
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
OBJECT_DATA_INFORMATION * i;
i = (OBJECT_DATA_INFORMATION *) ObjectInformation;
printf(
"\tInherit Handle: %s\n",
(i->bInheritHandle ? "TRUE" : "FALSE")
);
printf(
"\tProtect from Close: %s\n",
(i->bProtectFromClose ? "TRUE" : "FALSE")
);
}
else
{
printf("\tStatus = %08X\n",Status);
}
//---
printf("Port Information:\n");
/* Status = QueryInformationPort(
Port,
1, /* info class * /
ObjectInformation,
sizeof ObjectInformation,
& ResultLength
);
if (Status == STATUS_SUCCESS)
{
DWORD * i = ObjectInformation;
int j = 0;
while (j < ResultLength / sizeof (DWORD))
{
printf("\t%08X\n",i[j]);
++j;
}
}
else
{
printf("\tStatus = %08X\n",Status);
}
*/
}
/* EOF */

View File

@@ -1,8 +0,0 @@
VOID
DumpInfo (
LPCWSTR Name,
NTSTATUS Status,
LPCWSTR Comment,
HANDLE Port
);

View File

@@ -1,92 +0,0 @@
/* $Id: lpcclt.c,v 1.12 2002/11/03 20:01:04 chorns Exp $
*
* DESCRIPTION: Simple LPC Client
* PROGRAMMER: David Welch
*/
#include <ddk/ntddk.h>
#include <windows.h>
#include <napi/lpc.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "lpctest.h"
const char * MyName = "LPC-CLI";
HANDLE OutputHandle;
HANDLE InputHandle;
void debug_printf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
int main(int argc, char* argv[])
{
UNICODE_STRING PortName = UNICODE_STRING_INITIALIZER(TEST_PORT_NAME_U);
NTSTATUS Status;
HANDLE PortHandle;
LPC_MAX_MESSAGE Request;
ULONG ConnectInfo;
ULONG ConnectInfoLength = 0;
SECURITY_QUALITY_OF_SERVICE Sqos;
printf("%s: Lpc test client\n", MyName);
printf("%s: Connecting to port \"%s\"...\n", MyName, TEST_PORT_NAME);
ConnectInfoLength = 0;
ZeroMemory (& Sqos, sizeof Sqos);
Status = NtConnectPort(&PortHandle,
&PortName,
& Sqos,
0,
0,
0,
NULL,
&ConnectInfoLength);
if (!NT_SUCCESS(Status))
{
printf("%s: NtConnectPort() failed with status = 0x%08X.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Connected to \"%s\" with anonymous port 0x%x.\n", MyName, TEST_PORT_NAME, PortHandle);
ZeroMemory(& Request, sizeof Request);
strcpy(Request.Data, GetCommandLineA());
Request.Header.DataSize = strlen(Request.Data);
Request.Header.MessageSize = sizeof(LPC_MESSAGE) +
Request.Header.DataSize;
printf("%s: Sending to port 0x%x message \"%s\"...\n",
MyName,
PortHandle,
(char *) Request.Data);
Status = NtRequestPort(PortHandle,
&Request.Header);
if (!NT_SUCCESS(Status))
{
printf("%s: NtRequestPort(0x%x) failed with status = 0x%8X.\n",
MyName,
PortHandle,
Status);
return EXIT_FAILURE;
}
printf("%s: Sending datagram to port 0x%x succeeded.\n", MyName, PortHandle);
Sleep(2000);
printf("%s: Disconnecting...", MyName);
NtClose (PortHandle);
return EXIT_SUCCESS;
}

View File

@@ -1,139 +0,0 @@
/* $Id: lpcsrv.c,v 1.11 2002/09/08 10:21:58 chorns Exp $
*
* DESCRIPTION: Simple LPC Server
* PROGRAMMER: David Welch
*/
#include <ddk/ntddk.h>
#include <windows.h>
#include <napi/lpc.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "lpctest.h"
static const char * MyName = "LPC-SRV";
HANDLE OutputHandle;
HANDLE InputHandle;
void debug_printf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
int main(int argc, char* argv[])
{
UNICODE_STRING PortName = UNICODE_STRING_INITIALIZER(TEST_PORT_NAME_U);
OBJECT_ATTRIBUTES ObjectAttributes;
NTSTATUS Status;
HANDLE NamedPortHandle;
HANDLE PortHandle;
LPC_MAX_MESSAGE ConnectMsg;
printf("%s: Lpc test server\n", MyName);
InitializeObjectAttributes(&ObjectAttributes,
&PortName,
0,
NULL,
NULL);
printf("%s: Creating port \"%s\"...\n", MyName, TEST_PORT_NAME);
Status = NtCreatePort(&NamedPortHandle,
&ObjectAttributes,
0,
0,
0);
if (!NT_SUCCESS(Status))
{
printf("%s: NtCreatePort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Port \"%s\" created (0x%x).\n\n", MyName, TEST_PORT_NAME, NamedPortHandle);
for (;;)
{
printf("%s: Listening for connections requests on port 0x%x...\n", MyName, NamedPortHandle);
Status = NtListenPort(NamedPortHandle,
&ConnectMsg.Header);
if (!NT_SUCCESS(Status))
{
printf("%s: NtListenPort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Received connection request 0x%08x on port 0x%x.\n", MyName,
ConnectMsg.Header.MessageId, NamedPortHandle);
printf("%s: Request from: PID=%x, TID=%x.\n", MyName,
ConnectMsg.Header.Cid.UniqueProcess, ConnectMsg.Header.Cid.UniqueThread);
printf("%s: Accepting connection request 0x%08x...\n", MyName,
ConnectMsg.Header.MessageId);
Status = NtAcceptConnectPort(&PortHandle,
NamedPortHandle,
& ConnectMsg.Header,
TRUE,
0,
NULL);
if (!NT_SUCCESS(Status))
{
printf("%s: NtAcceptConnectPort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Connection request 0x%08x accepted as port 0x%x.\n", MyName,
ConnectMsg.Header.MessageId, PortHandle);
printf("%s: Completing connection for port 0x%x (0x%08x).\n", MyName,
PortHandle, ConnectMsg.Header.MessageId);
Status = NtCompleteConnectPort(PortHandle);
if (!NT_SUCCESS(Status))
{
printf("%s: NtCompleteConnectPort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
printf("%s: Entering server loop for port 0x%x...\n", MyName, PortHandle);
for(;;)
{
LPC_MAX_MESSAGE Request;
Status = NtReplyWaitReceivePort(PortHandle,
0,
NULL,
&Request.Header);
if (!NT_SUCCESS(Status))
{
printf("%s: NtReplyWaitReceivePort() failed with status = 0x%08lX.\n", MyName, Status);
return EXIT_FAILURE;
}
if (LPC_DATAGRAM == PORT_MESSAGE_TYPE(Request))
{
printf("%s: Datagram message contents are <%s>.\n",
MyName,
Request.Data);
}
else
{
printf("%s: Message with type %d received on port 0x%x.\n", MyName,
PORT_MESSAGE_TYPE(Request), PortHandle);
NtClose(PortHandle);
printf("%s: Connected port 0x%x closed.\n\n", MyName, PortHandle);
break;
}
}
}
return EXIT_SUCCESS;
}
/* EOF */

View File

@@ -1,5 +0,0 @@
#ifndef _LPCTEST_H
#define _LPCTEST_H
#define TEST_PORT_NAME "\\TestPort"
#define TEST_PORT_NAME_U L"\\TestPort"
#endif

View File

@@ -1,45 +0,0 @@
#
#
#
PATH_TO_TOP = ../../..
include $(PATH_TO_TOP)/rules.mak
SRV_OBJECTS= lpcsrv.o
CLT_OBJECTS= lpcclt.o
PROGS= lpcsrv.exe lpcclt.exe
BASE_CFLAGS = -I$(PATH_TO_TOP)/include
LIBS = $(SDK_PATH_LIB)/kernel32.a \
$(SDK_PATH_LIB)/ntdll.a
all: $(PROGS)
.phony: all
implib:
clean:
- $(RM) lpcsrv.o lpcsrv.exe lpcsrv.sym lpcclt.o lpcclt.exe lpcsrv.sym
.phony: implib clean
install: $(PROGS:%=$(INSTALL_DIR)/bin/%)
$(PROGS:%=$(INSTALL_DIR)/bin/%): $(INSTALL_DIR)/bin/%: %
$(CP) $* $(INSTALL_DIR)/bin/$*
dist: $(PROGS:%=$(DIST_DIR)/apps/%)
$(PROGS:%=$(DIST_DIR)/apps/%): $(DIST_DIR)/apps/%: %
$(CP) $* $(DIST_DIR)/apps/$*
lpcsrv.exe: $(SRV_OBJECTS) $(LIBS)
$(CC) $(SRV_OBJECTS) $(LIBS) -o lpcsrv.exe
$(NM) --numeric-sort lpcsrv.exe > lpcsrv.sym
lpcclt.exe: $(CLT_OBJECTS) $(LIBS)
$(CC) $(CLT_OBJECTS) $(LIBS) -o lpcclt.exe
$(NM) --numeric-sort lpcclt.exe > lpcclt.sym

View File

@@ -1,19 +0,0 @@
# $Id: makefile,v 1.1 2002/09/25 01:09:49 sedwards Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = mktime
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,28 +0,0 @@
#include <stdio.h>
#include <time.h>
struct tm time_str;
char daybuf[20];
int main(void)
{
printf("Testing mktime() by asking\n");
printf("What day of the week is July 4, 2001?\n");
time_str.tm_year = 2001 - 1900;
time_str.tm_mon = 7 - 1;
time_str.tm_mday = 4;
time_str.tm_hour = 0;
time_str.tm_min = 0;
time_str.tm_sec = 1;
time_str.tm_isdst = -1;
if (mktime(&time_str) == -1)
(void)puts("-unknown-");
else {
(void)strftime(daybuf, sizeof(daybuf), "%A", &time_str);
(void)puts(daybuf);
}
return 0;
}

View File

@@ -1,45 +0,0 @@
#
#
#
PATH_TO_TOP = ../../..
include $(PATH_TO_TOP)/rules.mak
SRV_OBJECTS = msserver.o
CLT_OBJECTS = msclient.o
PROGS = msserver.exe msclient.exe
BASE_CFLAGS = -I$(PATH_TO_TOP)/include
LIBS = $(SDK_PATH_LIB)/kernel32.a \
$(SDK_PATH_LIB)/ntdll.a
all: $(PROGS)
.phony: all
implib:
clean:
- $(RM) *.o *.exe *.sym
.phony: implib clean
install: $(PROGS:%=$(INSTALL_DIR)/bin/%)
$(PROGS:%=$(INSTALL_DIR)/bin/%): $(INSTALL_DIR)/bin/%: %
$(CP) $* $(INSTALL_DIR)/bin/$*
dist: $(PROGS:%=$(DIST_DIR)/apps/%)
$(PROGS:%=$(DIST_DIR)/apps/%): $(DIST_DIR)/apps/%: %
$(CP) $* $(DIST_DIR)/apps/$*
msserver.exe: $(SRV_OBJECTS) $(LIBS)
$(CC) $(SRV_OBJECTS) $(LIBS) -o msserver.exe
$(NM) --numeric-sort msserver.exe > msserver.sym
msclient.exe: $(CLT_OBJECTS) $(LIBS)
$(CC) $(CLT_OBJECTS) $(LIBS) -o msclient.exe
$(NM) --numeric-sort msclient.exe > msclient.sym

View File

@@ -1,46 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <tchar.h>
#define BUFSIZE 1024
#define MAILSLOT_TIMEOUT 1000
int main(int argc, char *argv[])
{
HANDLE hMailslot;
LPSTR lpszMailslotName = "\\\\.\\MAILSLOT\\mymailslot";
LPSTR lpszTestMessage = "Mailslot test message!";
DWORD cbLength, cbWritten;
hMailslot = CreateFile(lpszMailslotName,
GENERIC_WRITE,
FILE_SHARE_READ,
(LPSECURITY_ATTRIBUTES)NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
(HANDLE)NULL);
printf("hMailslot %x\n", (DWORD)hMailslot);
if (hMailslot == INVALID_HANDLE_VALUE)
{
printf("CreateFile() failed\n");
return 0;
}
cbLength = (ULONG)strlen(lpszTestMessage)+1;
WriteFile(hMailslot,
lpszTestMessage,
cbLength,
&cbWritten,
NULL);
CloseHandle(hMailslot);
return 0;
}
/* EOF */

View File

@@ -1,40 +0,0 @@
#include <windows.h>
int main(int argc, char *argv[])
{
HANDLE hMailslot;
CHAR chBuf[512];
BOOL fResult;
DWORD cbRead;
LPTSTR lpszMailslotName = "\\\\.\\mailslot\\mymailslot";
hMailslot = CreateMailslot(lpszMailslotName,
512,
MAILSLOT_WAIT_FOREVER,
NULL);
for (;;)
{
fResult = ReadFile(hMailslot,
chBuf,
512,
&cbRead,
NULL);
if (fResult == FALSE)
{
printf("ReadFile() failed!\n");
CloseHandle(hMailslot);
return 0;
}
printf("Data read: %s\n", chBuf);
}
CloseHandle(hMailslot);
return 0;
}
/* EOF */

View File

@@ -1,22 +0,0 @@
#
# $Id: makefile,v 1.2 2002/06/02 19:24:59 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = mutex
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,116 +0,0 @@
#include <ddk/ntddk.h>
#include <windows.h>
#include <string.h>
#include <stdio.h>
HANDLE OutputHandle;
HANDLE InputHandle;
HANDLE hThread[2];
DWORD dwCounter = 0;
HANDLE hMutex;
void dprintf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
DWORD WINAPI thread1(LPVOID crap)
{
DWORD dwError = 0;
DWORD i;
dprintf("Thread 1 running!\n");
for (i = 0; i < 10; i++)
{
dwError = WaitForSingleObject(hMutex, INFINITE);
if (dwError == WAIT_FAILED)
{
dprintf("Thread2: WaitForSingleObject failed!\n");
return 1;
}
else if (dwError == WAIT_ABANDONED_0)
{
dprintf("Thread2: WaitForSingleObject returned WAIT_ABANDONED_0\n");
}
dprintf("Thread1: dwCounter : %lu -->", dwCounter);
dwCounter++;
dprintf(" %lu\n", dwCounter);
ReleaseMutex(hMutex);
}
return 1;
}
DWORD WINAPI thread2(LPVOID crap)
{
DWORD dwError = 0;
DWORD i;
dprintf("Thread 2 running!\n");
for (i = 0; i < 10; i++)
{
dwError = WaitForSingleObject(hMutex, INFINITE);
if (dwError == WAIT_FAILED)
{
dprintf("Thread2: WaitForSingleObject failed!\n");
return 1;
}
else if (dwError == WAIT_ABANDONED_0)
{
dprintf("Thread2: WaitForSingleObject returned WAIT_ABANDONED_0\n");
}
dprintf("Thread2: dwCounter : %lu -->", dwCounter);
dwCounter++;
dprintf(" %lu\n", dwCounter);
ReleaseMutex(hMutex);
}
return 1;
}
int main(int argc, char* argv[])
{
DWORD dwError;
DWORD id1,id2;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
dprintf("Calling CreateMutex()\n");
hMutex = CreateMutexW(NULL, FALSE, L"TestMutex");
if (hMutex == INVALID_HANDLE_VALUE)
{
dprintf("CreateMutex() failed! Error: %lu\n", GetLastError);
return 0;
}
dprintf("CreateMutex() succeeded!\n");
hThread[0] = CreateThread(0, 0, thread1, 0, 0, &id1);
hThread[1] = CreateThread(0, 0, thread2, 0, 0, &id2);
dprintf("Calling WaitForMultipleObject()\n");
dwError = WaitForMultipleObjects(2, hThread, TRUE, INFINITE);
dprintf("WaitForMultipleObject() Error: %lu\n", dwError);
CloseHandle(hThread[0]);
CloseHandle(hThread[1]);
CloseHandle(hMutex);
return 0;
}

View File

@@ -1,44 +0,0 @@
#
#
#
PATH_TO_TOP = ../../..
include $(PATH_TO_TOP)/rules.mak
SRV_OBJECTS = npserver.o
CLT_OBJECTS = npclient.o
PROGS = npserver.exe npclient.exe
BASE_CFLAGS = -I$(PATH_TO_TOP)/include
LIBS = $(SDK_PATH_LIB)/kernel32.a
all: $(PROGS)
.phony: all
implib:
clean:
- $(RM) *.o *.exe *.sym
.phony: implib clean
install: $(PROGS:%=$(INSTALL_DIR)/bin/%)
$(PROGS:%=$(INSTALL_DIR)/bin/%): $(INSTALL_DIR)/bin/%: %
$(CP) $* $(INSTALL_DIR)/bin/$*
dist: $(PROGS:%=$(DIST_DIR)/apps/%)
$(PROGS:%=$(DIST_DIR)/apps/%): $(DIST_DIR)/apps/%: %
$(CP) $* $(DIST_DIR)/apps/$*
npserver.exe: $(SRV_OBJECTS) $(LIBS)
$(CC) $(SRV_OBJECTS) $(LIBS) -o npserver.exe
$(NM) --numeric-sort npserver.exe > npserver.sym
npclient.exe: $(CLT_OBJECTS) $(LIBS)
$(CC) $(CLT_OBJECTS) $(LIBS) -o npclient.exe
$(NM) --numeric-sort npclient.exe > npclient.sym

View File

@@ -1,100 +0,0 @@
#include <windows.h>
VOID MyErrExit(LPTSTR Message)
{
// MessageBox(NULL, Message, NULL, MB_OK);
puts(Message);
ExitProcess(0);
}
int main(int argc, char *argv[])
{
HANDLE hPipe;
LPVOID lpvMessage;
CHAR chBuf[512];
BOOL fSuccess;
DWORD cbRead, cbWritten, dwMode;
LPTSTR lpszPipename = "\\\\.\\pipe\\mynamedpipe";
// Try to open a named pipe; wait for it, if necessary.
while (1)
{
hPipe = CreateFile(
lpszPipename, // pipe name
GENERIC_READ | // read and write access
GENERIC_WRITE,
0, // no sharing
NULL, // no security attributes
OPEN_EXISTING, // opens existing pipe
0, // default attributes
NULL); // no template file
// Break if the pipe handle is valid.
if (hPipe != INVALID_HANDLE_VALUE)
break;
// Exit if an error other than ERROR_PIPE_BUSY occurs.
if (GetLastError() != ERROR_PIPE_BUSY)
MyErrExit("Could not open pipe");
// All pipe instances are busy, so wait for 20 seconds.
if (! WaitNamedPipe(lpszPipename, 20000) )
MyErrExit("Could not open pipe");
}
// The pipe connected; change to message-read mode.
dwMode = PIPE_READMODE_MESSAGE;
fSuccess = SetNamedPipeHandleState(
hPipe, // pipe handle
&dwMode, // new pipe mode
NULL, // don't set maximum bytes
NULL); // don't set maximum time
if (!fSuccess)
MyErrExit("SetNamedPipeHandleState");
// Send a message to the pipe server.
lpvMessage = (argc > 1) ? argv[1] : "default message";
fSuccess = WriteFile(
hPipe, // pipe handle
lpvMessage, // message
strlen(lpvMessage) + 1, // message length
&cbWritten, // bytes written
NULL); // not overlapped
if (! fSuccess)
MyErrExit("WriteFile");
do
{
// Read from the pipe.
fSuccess = ReadFile(
hPipe, // pipe handle
chBuf, // buffer to receive reply
512, // size of buffer
&cbRead, // number of bytes read
NULL); // not overlapped
if (! fSuccess && GetLastError() != ERROR_MORE_DATA)
break;
// Reply from the pipe is written to STDOUT.
if (! WriteFile(GetStdHandle(STD_OUTPUT_HANDLE),
chBuf, cbRead, &cbWritten, NULL))
{
break;
}
} while (! fSuccess); // repeat loop if ERROR_MORE_DATA
CloseHandle(hPipe);
return 0;
}

View File

@@ -1,120 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <tchar.h>
#define BUFSIZE 1024
#define PIPE_TIMEOUT 1000
VOID InstanceThread (LPVOID);
VOID
GetAnswerToRequest(LPTSTR lpRequest,
LPTSTR lpReply,
LPDWORD lpcbReplyBytes)
{
}
VOID MyErrExit(LPTSTR Message)
{
// MessageBox(NULL, Message, NULL, MB_OK);
puts(Message);
ExitProcess(0);
}
int xx = 0;
int main(int argc, char *argv[])
{
BOOL fConnected;
DWORD dwThreadId;
HANDLE hPipe, hThread;
LPTSTR lpszPipename = TEXT("\\\\.\\pipe\\mynamedpipe");
// for (;;)
// {
hPipe = CreateNamedPipe(lpszPipename,
PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE |
PIPE_READMODE_MESSAGE |
PIPE_WAIT,
PIPE_UNLIMITED_INSTANCES,
BUFSIZE,
BUFSIZE,
PIPE_TIMEOUT,
NULL);
if (hPipe == INVALID_HANDLE_VALUE)
{
printf("CreateNamedPipe() failed\n");
return 0;
}
fConnected = ConnectNamedPipe(hPipe,
NULL) ? TRUE : (GetLastError () ==
ERROR_PIPE_CONNECTED);
if (fConnected)
{
printf("Pipe connected!\n");
DisconnectNamedPipe(hPipe);
#if 0
hThread = CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE) InstanceThread,
(LPVOID) hPipe,
0,
&dwThreadId);
if (hThread == NULL)
MyErrExit("CreateThread");
#endif
}
else
{
// CloseHandle(hPipe);
}
// }
CloseHandle(hPipe);
return 0;
}
VOID InstanceThread (LPVOID lpvParam)
{
CHAR chRequest[BUFSIZE];
CHAR chReply[BUFSIZE];
DWORD cbBytesRead, cbReplyBytes, cbWritten;
BOOL fSuccess;
HANDLE hPipe;
hPipe = (HANDLE)lpvParam;
while (1)
{
fSuccess = ReadFile(hPipe,
chRequest,
BUFSIZE,
&cbBytesRead,
NULL);
if (!fSuccess || cbBytesRead == 0)
break;
GetAnswerToRequest(chRequest, chReply, &cbReplyBytes);
fSuccess = WriteFile(hPipe,
chReply,
cbReplyBytes,
&cbWritten,
NULL);
if (!fSuccess || cbReplyBytes != cbWritten)
break;
}
FlushFileBuffers(hPipe);
DisconnectNamedPipe(hPipe);
CloseHandle(hPipe);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

View File

@@ -1,66 +0,0 @@
# Makefile - Proj_Listing2_1.dsp
ifndef CFG
CFG=Proj_Listing2_1 - Win32 Debug
endif
CC=gcc
CFLAGS=
CXX=g++
CXXFLAGS=$(CFLAGS)
RC=windres -O COFF
ifeq "$(CFG)" "Proj_Listing2_1 - Win32 Release"
CFLAGS+=-fexceptions -O2 -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -W
LD=$(CXX) $(CXXFLAGS)
LDFLAGS=
LDFLAGS+=-Wl,--subsystem,windows
LIBS+=-lkernel32 -luser32 -lgdi32
else
ifeq "$(CFG)" "Proj_Listing2_1 - Win32 Debug"
CFLAGS+=-fexceptions -g -O0 -DWIN32 -D_DEBUG -D_WINDOWS -D_MBCS -W
LD=$(CXX) $(CXXFLAGS)
LDFLAGS=
LDFLAGS+=-Wl,--subsystem,windows
LIBS+=-lkernel32 -luser32 -lgdi32
endif
endif
ifndef TARGET
TARGET=patblt.exe
endif
.PHONY: all
all: $(TARGET)
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
%.o: %.cpp
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $<
%.res: %.rc
$(RC) $(CPPFLAGS) -o $@ -i $<
SOURCE_FILES= \
patblt.cpp
HEADER_FILES=
RESOURCE_FILES=
SRCS=$(SOURCE_FILES) $(HEADER_FILES) $(RESOURCE_FILES)
OBJS=$(patsubst %.rc,%.res,$(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(filter %.c %.cpp %.rc,$(SRCS)))))
$(TARGET): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
.PHONY: clean
clean:
-del $(OBJS) $(TARGET)
.PHONY: depends
depends:
-$(CXX) $(CXXFLAGS) $(CPPFLAGS) -MM $(filter %.c %.cpp,$(SRCS)) > Proj_Listing2_1.dep
-include Proj_Listing2_1.dep

View File

@@ -1,270 +0,0 @@
// ------------------------------------------------------------------
// Windows 2000 Graphics API Black Book
// Chapter 2 - Listing 2.1 (PatBlt Tracking Rect Demo)
//
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#include <windows.h>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
HINSTANCE HInst;
const char* WndClassName = "GMainWnd";
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam);
int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE, LPTSTR,
int nCmdShow)
{
HInst = HInstance;
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.style = CS_VREDRAW | CS_HREDRAW;
wc.lpszClassName = WndClassName;
wc.lpfnWndProc = MainWndProc;
wc.hInstance = HInstance;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = static_cast<HBRUSH>(
GetStockObject(BLACK_BRUSH)
);
if (RegisterClass(&wc))
{
HWND HWnd =
CreateWindow(WndClassName,
TEXT("PatBlt Tracking Rect Demo"),
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_VISIBLE | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT, 640, 480,
NULL, NULL, HInst, NULL);
if (HWnd)
{
ShowWindow(HWnd, nCmdShow);
UpdateWindow(HWnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
return 0;
}
//------------------------------------------------------------------
// image related
HDC HMemDC = NULL;
HBITMAP HOldBmp = NULL;
const char* filename = "PENGUIN.BMP";
RECT RImage = {225, 110, 225, 110};
// tracking related
bool is_tracking = false;
HDC HScreenDC = NULL;
POINT PMouse = {0, 0};
RECT RTrack = {0, 0, 0, 0};
const int line_width = 5;
// utility function to map to/from window coordinates
void MapRect(IN HWND HWndFrom, IN HWND HWndTo, IN OUT RECT& RMap)
{
MapWindowPoints(
HWndFrom, HWndTo,
reinterpret_cast<LPPOINT>(&RMap), 2
);
}
//------------------------------------------------------------------
// utility function that uses the PatBlt function to
// render a tracking rectangle
void RenderTrackingRect(IN HDC HDestDC, IN const RECT& RRender)
{
const int width = RRender.right - RRender.left;
const int height = RRender.bottom - RRender.top;
const DWORD dwROP3 = DSTINVERT; // experiment with others
// render top bar
PatBlt(HDestDC,
RRender.left, RRender.top,
width, line_width,
dwROP3);
// render bottom bar
PatBlt(HDestDC,
RRender.left, RRender.bottom - line_width,
width, line_width,
dwROP3);
// render left bar
PatBlt(HDestDC,
RRender.left, RRender.top + line_width,
line_width, height - (2 * line_width),
dwROP3);
// render right bar
PatBlt(HDestDC,
RRender.right - line_width, RRender.top + line_width,
line_width, height - (2 * line_width),
dwROP3);
}
//------------------------------------------------------------------
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam)
{
switch (Msg)
{
case WM_CREATE:
{
// create a memory DC
HMemDC = CreateCompatibleDC(NULL);
if (HMemDC)
{
// load the penguin bitmap
HBITMAP HBmp = static_cast<HBITMAP>(
LoadImage(HInst, filename, IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE | LR_DEFAULTSIZE)
);
if (HBmp)
{
// get the bitmap's dimensions
BITMAP bmp;
if (GetObject(HBmp, sizeof(BITMAP), &bmp))
{
RImage.right += bmp.bmWidth;
RImage.bottom += bmp.bmHeight;
// realize the bitmap
HOldBmp = static_cast<HBITMAP>(
SelectObject(HMemDC, HBmp)
);
}
else DeleteObject(HBmp);
}
}
break;
}
case WM_LBUTTONDOWN:
{
PMouse.x = LOWORD(LParam);
PMouse.y = HIWORD(LParam);
RECT RClient;
if (PtInRect(&RImage, PMouse) &&
GetClientRect(HWnd, &RClient))
{
MapRect(HWnd, HWND_DESKTOP, RClient);
ClipCursor(&RClient);
// grab a handle to the screen DC and clip
// all output to the client area of our window
HScreenDC = GetDC(NULL);
HRGN HClipRgn = CreateRectRgnIndirect(&RClient);
SelectClipRgn(HScreenDC, HClipRgn);
DeleteObject(HClipRgn);
CopyRect(&RTrack, &RImage);
MapRect(HWnd, HWND_DESKTOP, RTrack);
// render the first tracking rect
RenderTrackingRect(HScreenDC, RTrack);
is_tracking = true;
}
break;
}
case WM_MOUSEMOVE:
{
if (HScreenDC && is_tracking)
{
POINT PCurrent = {LOWORD(LParam), HIWORD(LParam)};
const int dX = PCurrent.x - PMouse.x;
const int dY = PCurrent.y - PMouse.y;
// erase the previous rectangle
RenderTrackingRect(HScreenDC, RTrack);
// update the postion
OffsetRect(&RTrack, dX, dY);
// render the new tracking rectangle
RenderTrackingRect(HScreenDC, RTrack);
// update the mouse position
memcpy(&PMouse, &PCurrent, sizeof(POINT));
}
break;
}
case WM_LBUTTONUP:
{
// clean up
if (is_tracking)
{
is_tracking = false;
SelectClipRgn(HScreenDC, NULL);
ReleaseDC(NULL, HScreenDC);
InvalidateRect(HWnd, &RImage, true);
CopyRect(&RImage, &RTrack);
MapRect(HWND_DESKTOP, HWnd, RImage);
InvalidateRect(HWnd, &RImage, true);
ClipCursor(NULL);
}
break;
}
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC Hdc = BeginPaint(HWnd, &ps);
try
{
//
// TODO: Add palette support...
//
// render the penguin
BitBlt(Hdc, RImage.left, RImage.top,
RImage.right - RImage.left,
RImage.bottom - RImage.top,
HMemDC, 0, 0,
SRCCOPY);
}
catch (...)
{
EndPaint(HWnd, &ps);
}
EndPaint(HWnd, &ps);
break;
}
case WM_DESTROY:
{
// clean up
if (HOldBmp)
{
DeleteObject(SelectObject(HMemDC, HOldBmp));
}
if (HMemDC)
{
DeleteDC(HMemDC);
}
PostQuitMessage(0);
return 0;
}
}
return DefWindowProc(HWnd, Msg, WParam, LParam);
}
//------------------------------------------------------------------

View File

@@ -1,21 +0,0 @@
# $Id: Makefile,v 1.8 2002/06/02 19:25:00 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = pteb
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,23 +0,0 @@
#include <ntos.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
int x;
PTEB Teb;
printf("TEB dumpper\n");
__asm__("movl %%fs:0x18, %0\n\t"
: "=a" (x)
: /* no inputs */);
printf("fs[0x18] %x\n", x);
Teb = (PTEB)x;
printf("StackBase: 0x%08lX\n", Teb->Tib.StackBase);
printf("StackLimit: 0x%08lX\n", Teb->Tib.StackLimit);
printf("DeallocationStack: 0x%08lX\n", Teb->DeallocationStack);
return(0);
}

View File

@@ -1,22 +0,0 @@
#
# $Id: makefile,v 1.0
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = regdump
TARGET_SDKLIBS = ntdll.a kernel32.a advapi32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,234 +0,0 @@
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include <ddk/ntddk.h>
HANDLE OutputHandle;
HANDLE InputHandle;
void dprintf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
#define MAX_NAME_LEN 500
/*
BOOL DumpRegKey(TCHAR* KeyPath, HKEY hKey)
{
TCHAR keyPath[1000];
int keyPathLen = 0;
keyPath[0] = _T('\0');
dprintf("\n[%s]\n", KeyPath);
if (hKey != NULL) {
HKEY hNewKey;
LONG errCode = RegOpenKeyEx(hKey, keyPath, 0, KEY_READ, &hNewKey);
if (errCode == ERROR_SUCCESS) {
TCHAR Name[MAX_NAME_LEN];
DWORD cName = MAX_NAME_LEN;
FILETIME LastWriteTime;
DWORD dwIndex = 0L;
while (RegEnumKeyEx(hNewKey, dwIndex, Name, &cName, NULL, NULL, NULL, &LastWriteTime) == ERROR_SUCCESS) {
HKEY hSubKey;
DWORD dwCount = 0L;
dprintf("\n[%s\\%s]\n", KeyPath, Name);
errCode = RegOpenKeyEx(hNewKey, Name, 0, KEY_READ, &hSubKey);
if (errCode == ERROR_SUCCESS) {
TCHAR SubName[MAX_NAME_LEN];
DWORD cSubName = MAX_NAME_LEN;
// if (RegEnumKeyEx(hSubKey, 0, SubName, &cSubName, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) {
while (RegEnumKeyEx(hSubKey, dwCount, SubName, &cSubName, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) {
dprintf("\t%s (%d)\n", SubName, dwCount);
cSubName = MAX_NAME_LEN;
++dwCount;
}
}
RegCloseKey(hSubKey);
//AddEntryToTree(hwndTV, pnmtv->itemNew.hItem, Name, NULL, dwCount);
cName = MAX_NAME_LEN;
++dwIndex;
}
RegCloseKey(hNewKey);
}
} else {
}
dprintf("\n");
return TRUE;
}
*/
BOOL _DumpRegKey(TCHAR* KeyPath, HKEY hKey)
{
if (hKey != NULL) {
HKEY hNewKey;
LONG errCode = RegOpenKeyEx(hKey, NULL, 0, KEY_READ, &hNewKey);
if (errCode == ERROR_SUCCESS) {
TCHAR Name[MAX_NAME_LEN];
DWORD cName = MAX_NAME_LEN;
FILETIME LastWriteTime;
DWORD dwIndex = 0L;
TCHAR* pKeyName = &KeyPath[_tcslen(KeyPath)];
while (RegEnumKeyEx(hNewKey, dwIndex, Name, &cName, NULL, NULL, NULL, &LastWriteTime) == ERROR_SUCCESS) {
HKEY hSubKey;
DWORD dwCount = 0L;
_tcscat(KeyPath, _T("\\"));
_tcscat(KeyPath, Name);
dprintf("\n[%s]\n", KeyPath);
errCode = RegOpenKeyEx(hNewKey, Name, 0, KEY_READ, &hSubKey);
if (errCode == ERROR_SUCCESS) {
#if 1
_DumpRegKey(KeyPath, hSubKey);
#else
TCHAR SubName[MAX_NAME_LEN];
DWORD cSubName = MAX_NAME_LEN;
// if (RegEnumKeyEx(hSubKey, 0, SubName, &cSubName, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) {
while (RegEnumKeyEx(hSubKey, dwCount, SubName, &cSubName, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) {
dprintf("\t%s (%d)\n", SubName, dwCount);
cSubName = MAX_NAME_LEN;
++dwCount;
}
#endif
}
RegCloseKey(hSubKey);
cName = MAX_NAME_LEN;
*pKeyName = _T('\0');
++dwIndex;
}
RegCloseKey(hNewKey);
}
} else {
}
return TRUE;
}
BOOL DumpRegKey(TCHAR* KeyPath, HKEY hKey)
{
dprintf("\n[%s]\n", KeyPath);
return _DumpRegKey(KeyPath, hKey);
}
void RegKeyPrint(int which)
{
TCHAR szKeyPath[1000];
switch (which) {
case '1':
strcpy(szKeyPath, _T("HKEY_CLASSES_ROOT"));
DumpRegKey(szKeyPath, HKEY_CLASSES_ROOT);
break;
case '2':
strcpy(szKeyPath, _T("HKEY_CURRENT_USER"));
DumpRegKey(szKeyPath, HKEY_CURRENT_USER);
break;
case '3':
strcpy(szKeyPath, _T("HKEY_LOCAL_MACHINE"));
DumpRegKey(szKeyPath, HKEY_LOCAL_MACHINE);
break;
case '4':
strcpy(szKeyPath, _T("HKEY_USERS"));
DumpRegKey(szKeyPath, HKEY_USERS);
break;
case '5':
strcpy(szKeyPath, _T("HKEY_CURRENT_CONFIG"));
DumpRegKey(szKeyPath, HKEY_CURRENT_CONFIG);
break;
case '6':
// DumpRegKey(szKeyPath, HKEY_CLASSES_ROOT);
// DumpRegKey(szKeyPath, HKEY_CURRENT_USER);
// DumpRegKey(szKeyPath, HKEY_LOCAL_MACHINE);
// DumpRegKey(szKeyPath, HKEY_USERS);
// DumpRegKey(szKeyPath, HKEY_CURRENT_CONFIG);
dprintf("unimplemented...\n");
break;
}
}
int main(int argc, char* argv[])
{
char Buffer[10];
TCHAR szKeyPath[1000];
DWORD Result;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
if (argc > 1) {
// if (0 == _tcsstr(argv[1], _T("HKLM"))) {
if (strstr(argv[1], _T("help"))) {
} else if (strstr(argv[1], _T("HKCR"))) {
RegKeyPrint('1');
} else if (strstr(argv[1], _T("HKCU"))) {
RegKeyPrint('2');
} else if (strstr(argv[1], _T("HKLM"))) {
RegKeyPrint('3');
} else if (strstr(argv[1], _T("HKU"))) {
RegKeyPrint('4');
} else if (strstr(argv[1], _T("HKCC"))) {
RegKeyPrint('5');
} else if (strstr(argv[1], _T("HKRR"))) {
RegKeyPrint('6');
} else {
dprintf("started with argc = %d, argv[1] = %s (unknown?)\n", argc, argv[1]);
}
} else while (1) {
dprintf("choose test :\n");
dprintf(" 0 = Exit\n");
dprintf(" 1 = HKEY_CLASSES_ROOT\n");
dprintf(" 2 = HKEY_CURRENT_USER\n");
dprintf(" 3 = HKEY_LOCAL_MACHINE\n");
dprintf(" 4 = HKEY_USERS\n");
dprintf(" 5 = HKEY_CURRENT_CONFIG\n");
dprintf(" 6 = REGISTRY ROOT\n");
ReadConsoleA(InputHandle, Buffer, 3, &Result, NULL) ;
switch (Buffer[0]) {
case '0':
return(0);
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
RegKeyPrint(Buffer[0]/* - '0'*/);
break;
default:
dprintf("invalid input.\n");
break;
}
}
return 0;
}
/*
[HKEY_LOCAL_MACHINE]
[HKEY_LOCAL_MACHINE\HARDWARE]
[HKEY_LOCAL_MACHINE\HARDWARE\ACPI]
[HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT]
[HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\VIA694]
[HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\VIA694\AWRDACPI]
*/

View File

@@ -1,22 +0,0 @@
#
# $Id: makefile,v 1.7 2002/06/02 19:25:00 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = regtest
TARGET_SDKLIBS = ntdll.a kernel32.a advapi32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,882 +0,0 @@
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
#include <ddk/ntddk.h>
HANDLE OutputHandle;
HANDLE InputHandle;
void dprintf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
void do_enumeratekey(PWSTR Name)
{
ULONG Index,Length,i;
KEY_BASIC_INFORMATION KeyInformation[5];
NTSTATUS Status;
OBJECT_ATTRIBUTES ObjectAttributes;
HANDLE hKey1;
UNICODE_STRING KeyName;
RtlInitUnicodeString(&KeyName, Name);
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status=NtOpenKey( &hKey1, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("NtEnumerateKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateKey(hKey1,Index++,KeyBasicInformation
,&KeyInformation[0], sizeof(KeyInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tSubKey Name = ");
for (i=0;i<KeyInformation[0].NameLength/2;i++)
dprintf("%C",KeyInformation[0].Name[i]);
dprintf("\n");
}
}
NtClose(hKey1);
}
void test1(void)
{
HKEY hKey = NULL,hKey1;
OBJECT_ATTRIBUTES ObjectAttributes;
NTSTATUS Status;
UNICODE_STRING KeyName = UNICODE_STRING_INITIALIZER(L"\\Registry");
ULONG Index,Length,i;
KEY_BASIC_INFORMATION KeyInformation[5];
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
dprintf("NtOpenKey \\Registry : ");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey1, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
if(Status==0)
{
dprintf("NtQueryKey : ");
Status=NtQueryKey(hKey1,KeyBasicInformation
,&KeyInformation[0], sizeof(KeyInformation)
,&Length);
dprintf("\t\t\t\t\tStatus =%x\n",Status);
if (Status == STATUS_SUCCESS)
{
dprintf("\tKey Name = ");
for (i=0;i<KeyInformation[0].NameLength/2;i++)
dprintf("%C",KeyInformation[0].Name[i]);
dprintf("\n");
}
dprintf("NtEnumerateKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateKey(hKey1,Index++,KeyBasicInformation
,&KeyInformation[0], sizeof(KeyInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tSubKey Name = ");
for (i=0;i<KeyInformation[0].NameLength/2;i++)
dprintf("%C",KeyInformation[0].Name[i]);
dprintf("\n");
}
}
dprintf("NtClose : ");
Status = NtClose( hKey1 );
dprintf("\t\t\t\t\tStatus =%x\n",Status);
}
NtClose(hKey);
dprintf("NtOpenKey \\Registry\\Machine : ");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey1, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\tStatus =%x\n",Status);
dprintf("NtOpenKey System\\Setup : ");
RtlInitUnicodeStringFromLiteral(&KeyName, L"System\\Setup");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, hKey1 , NULL);
Status = NtOpenKey ( &hKey, KEY_READ , &ObjectAttributes);
dprintf("\t\t\tStatus =%x\n",Status);
if(Status==0)
{
dprintf("NtQueryValueKey : ");
RtlInitUnicodeStringFromLiteral(&KeyName, L"CmdLine");
Status=NtQueryValueKey(hKey,&KeyName,KeyValueFullInformation
,&KeyValueInformation[0], sizeof(KeyValueInformation)
,&Length);
dprintf("\t\t\t\tStatus =%x\n",Status);
if (Status == STATUS_SUCCESS)
{
dprintf("\tValue:DO=%d, DL=%d, NL=%d, Name = "
,KeyValueInformation[0].DataOffset
,KeyValueInformation[0].DataLength
,KeyValueInformation[0].NameLength);
for (i=0;i<10 && i<KeyValueInformation[0].NameLength/2;i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf("\n");
dprintf("\t\tType = %d\n",KeyValueInformation[0].Type);
if (KeyValueInformation[0].Type == REG_SZ)
dprintf("\t\tValue = %S\n",KeyValueInformation[0].Name+1
+KeyValueInformation[0].NameLength/2);
}
dprintf("NtEnumerateValueKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateValueKey(hKey,Index++,KeyValueFullInformation
,&KeyValueInformation[0], sizeof(KeyValueInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tValue:DO=%d, DL=%d, NL=%d, Name = "
,KeyValueInformation[0].DataOffset
,KeyValueInformation[0].DataLength
,KeyValueInformation[0].NameLength);
for (i=0;i<KeyValueInformation[0].NameLength/2;i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf(", Type = %d\n",KeyValueInformation[0].Type);
if (KeyValueInformation[0].Type == REG_SZ)
dprintf("\t\tValue = %S\n",((char*)&KeyValueInformation[0]
+KeyValueInformation[0].DataOffset));
}
}
dprintf("NtClose : ");
Status = NtClose( hKey );
dprintf("\t\t\t\t\tStatus =%x\n",Status);
}
NtClose( hKey1 );
}
void test2(void)
{
HKEY hKey,hKey1;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
ULONG Index,Length,i;
char Buffer[10];
DWORD Result;
dprintf("NtCreateKey volatile: \n");
dprintf(" \\Registry\\Machine\\Software\\test2reactos: ");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_VOLATILE,NULL);
dprintf("\t\tStatus=%x\n",Status);
NtClose(hKey);
do_enumeratekey(L"\\Registry\\Machine\\Software");
dprintf(" ...\\test2 :");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos\\test2");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey ( &hKey1, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_VOLATILE,NULL);
dprintf("\t\t\t\t\tStatus=%x\n",Status);
dprintf(" ...\\TestVolatile :");
RtlInitUnicodeStringFromLiteral(&KeyName, L"TestVolatile");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, hKey1, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_VOLATILE,NULL);
dprintf("\t\t\t\tStatus=%x\n",Status);
NtClose(hKey1);
RtlInitUnicodeStringFromLiteral(&ValueName, L"TestREG_SZ");
dprintf("NtSetValueKey reg_sz: ");
Status=NtSetValueKey(hKey,&ValueName,0,REG_SZ,(PVOID)L"Test Reg_sz",24);
dprintf("\t\t\t\tStatus=%x\n",Status);
RtlInitUnicodeStringFromLiteral(&ValueName, L"TestDWORD");
dprintf("NtSetValueKey reg_dword: ");
Status=NtSetValueKey(hKey,&ValueName,0,REG_DWORD,(PVOID)"reac",4);
dprintf("\t\t\tStatus=%x\n",Status);
NtClose(hKey);
dprintf("NtOpenKey \\Registry\\Machine\\Software\\test2reactos\\test2\\TestVolatile : ");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos\\test2\\TestVolatile");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
if(Status==0)
{
dprintf("NtEnumerateValueKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateValueKey(hKey,Index++,KeyValueFullInformation
,&KeyValueInformation[0], sizeof(KeyValueInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tValue:DO=%d, DL=%d, NL=%d, Name = "
,KeyValueInformation[0].DataOffset
,KeyValueInformation[0].DataLength
,KeyValueInformation[0].NameLength);
for (i=0;i<KeyValueInformation[0].NameLength/2;i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf(", Type = %d\n",KeyValueInformation[0].Type);
if (KeyValueInformation[0].Type == REG_SZ)
dprintf("\t\tValue = %S\n",((char*)&KeyValueInformation[0]
+KeyValueInformation[0].DataOffset));
}
}
}
NtClose(hKey);
dprintf("delete \\Registry\\Machine\\software\\test2reactos ?");
ReadConsoleA(InputHandle, Buffer, 3, &Result, NULL) ;
if (Buffer[0] != 'y' && Buffer[0] != 'Y') return;
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos\\test2\\TestVolatile");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos\\test2");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test2reactos");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
}
void test3(void)
{
HKEY hKey,hKey1;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
ULONG Index,Length,i;
char Buffer[10];
DWORD Result;
dprintf("NtCreateKey non volatile: \n");
dprintf(" \\Registry\\Machine\\Software\\test3reactos: ");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_NON_VOLATILE,NULL);
dprintf("\t\tStatus=%x\n",Status);
NtClose(hKey);
do_enumeratekey(L"\\Registry\\Machine\\Software");
dprintf("NtOpenKey: ");
Status=NtOpenKey( &hKey, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\tStatus=%x\n",Status);
NtClose(hKey);
dprintf(" ...\\test3 :");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos\\test3");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_NON_VOLATILE,NULL);
dprintf("\t\t\t\t\tStatus=%x\n",Status);
dprintf("NtOpenKey: ");
Status=NtOpenKey( &hKey1, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\tStatus=%x\n",Status);
NtClose(hKey);
dprintf(" ...\\testNonVolatile :");
RtlInitUnicodeStringFromLiteral(&KeyName, L"TestNonVolatile");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, hKey1, NULL);
Status = NtCreateKey ( &hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL,REG_OPTION_NON_VOLATILE,NULL);
dprintf("\t\t\t\tStatus=%x\n",Status);
NtClose(hKey1);
RtlInitUnicodeStringFromLiteral(&ValueName, L"TestREG_SZ");
dprintf("NtSetValueKey reg_sz: ");
Status=NtSetValueKey(hKey,&ValueName,0,REG_SZ,(PVOID)L"Test Reg_sz",24);
dprintf("\t\t\t\tStatus=%x\n",Status);
RtlInitUnicodeStringFromLiteral(&ValueName, L"TestDWORD");
dprintf("NtSetValueKey reg_dword: ");
Status=NtSetValueKey(hKey,&ValueName,0,REG_DWORD,(PVOID)"reac",4);
dprintf("\t\t\tStatus=%x\n",Status);
NtClose(hKey);
dprintf("NtOpenKey \\Registry\\Machine\\Software\\test3reactos\\test3\\testNonVolatile : ");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos\\test3\\testNonVolatile");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
if(Status==0)
{
dprintf("NtEnumerateValueKey : \n");
Index=0;
while(Status == STATUS_SUCCESS)
{
Status=NtEnumerateValueKey(hKey,Index++,KeyValueFullInformation
,&KeyValueInformation[0], sizeof(KeyValueInformation)
,&Length);
if(Status== STATUS_SUCCESS)
{
dprintf("\tValue:DO=%d, DL=%d, NL=%d, Name = "
,KeyValueInformation[0].DataOffset
,KeyValueInformation[0].DataLength
,KeyValueInformation[0].NameLength);
for (i=0;i<KeyValueInformation[0].NameLength/2;i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf(", Type = %d\n",KeyValueInformation[0].Type);
if (KeyValueInformation[0].Type == REG_SZ)
dprintf("\t\tValue = %S\n",((char*)&KeyValueInformation[0]
+KeyValueInformation[0].DataOffset));
}
}
}
NtClose(hKey);
dprintf("delete \\Registry\\Machine\\software\\test3reactos ?");
ReadConsoleA(InputHandle, Buffer, 3, &Result, NULL) ;
if (Buffer[0] != 'y' && Buffer[0] != 'Y') return;
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos\\test3\\testNonvolatile");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos\\test3");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\Software\\test3reactos");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
dprintf("NtOpenKey : ");
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dprintf("NtDeleteKey : ");
Status=NtDeleteKey(hKey);
dprintf("\t\t\t\tStatus =%x\n",Status);
NtClose(hKey);
}
void test4(void)
{
HKEY hKey = NULL,hKey1;
DWORD dwDisposition;
DWORD dwError;
DWORD RegDataType, RegDataSize;
BOOL GlobalFifoEnable;
HKEY hPortKey;
DWORD RegDisposition;
WCHAR szClass[260];
DWORD cchClass;
DWORD cSubKeys;
DWORD cchMaxSubkey;
DWORD cchMaxClass;
DWORD cValues;
DWORD cchMaxValueName;
DWORD cbMaxValueData;
DWORD cbSecurityDescriptor;
FILETIME ftLastWriteTime;
SYSTEMTIME LastWriteTime;
dprintf ("RegOpenKeyExW HKLM\\System\\Setup: ");
dwError = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
L"System\\Setup",
0,
KEY_ALL_ACCESS,
&hKey1);
dprintf("\t\tdwError =%x\n",dwError);
if (dwError == ERROR_SUCCESS)
{
dprintf("RegQueryInfoKeyW: ");
cchClass=260;
dwError = RegQueryInfoKeyW(hKey1
, szClass, &cchClass, NULL, &cSubKeys
, &cchMaxSubkey, &cchMaxClass, &cValues, &cchMaxValueName
, &cbMaxValueData, &cbSecurityDescriptor, &ftLastWriteTime);
dprintf ("\t\t\t\tdwError %x\n", dwError);
FileTimeToSystemTime(&ftLastWriteTime,&LastWriteTime);
dprintf ("\tnb of subkeys=%d,last write : %d/%d/%d %d:%02.2d'%02.2d''%03.3d\n",cSubKeys
,LastWriteTime.wMonth
,LastWriteTime.wDay
,LastWriteTime.wYear
,LastWriteTime.wHour
,LastWriteTime.wMinute
,LastWriteTime.wSecond
,LastWriteTime.wMilliseconds
);
}
dprintf ("RegOpenKeyExW: ");
dwError = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
L"System\\ControlSet001\\Services\\Serial",
0,
KEY_ALL_ACCESS,
&hKey);
dprintf ("\t\t\t\t\tdwError %x\n", dwError);
RegDataSize = sizeof(GlobalFifoEnable);
if (dwError == ERROR_SUCCESS)
{
dprintf ("RegQueryValueExW: ");
dwError = RegQueryValueExW(hKey,
L"ForceFifoEnable",
NULL,
&RegDataType,
(PBYTE)&GlobalFifoEnable,
&RegDataSize);
dprintf("\t\t\t\tdwError =%x\n",dwError);
if (dwError == 0)
{
dprintf("\tValue:DT=%d, DS=%d, Value=%d\n"
,RegDataType
,RegDataSize
,GlobalFifoEnable);
}
}
dprintf ("RegCreateKeyExW: ");
dwError = RegCreateKeyExW(hKey,
L"Parameters\\Serial001",
0,
NULL,
0,
KEY_ALL_ACCESS,
NULL,
&hPortKey,
&RegDisposition
);
dprintf ("\t\t\t\tdwError %x\n", dwError);
dprintf ("RegCreateKeyExW: ");
dwError = RegCreateKeyExW (HKEY_LOCAL_MACHINE,
L"Software\\test4reactos\\test",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
&dwDisposition);
dprintf ("\t\t\t\tdwError %x ", dwError);
dprintf ("dwDisposition %x\n", dwDisposition);
if (dwError == ERROR_SUCCESS)
{
dprintf ("RegSetValueExW: ");
dwError = RegSetValueExW (hKey,
L"TestValue",
0,
REG_SZ,
(BYTE*)L"TestString",
20);
dprintf ("\t\t\t\tdwError %x\n", dwError);
dprintf ("RegCloseKey: ");
dwError = RegCloseKey (hKey);
dprintf ("\t\t\t\t\tdwError %x\n", dwError);
}
dprintf ("\n\n");
hKey = NULL;
dprintf ("RegCreateKeyExW: ");
dwError = RegCreateKeyExW (HKEY_LOCAL_MACHINE,
L"software\\Test",
0,
NULL,
REG_OPTION_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
&dwDisposition);
dprintf ("\t\t\t\tdwError %x ", dwError);
dprintf ("dwDisposition %x\n", dwDisposition);
if (dwError == ERROR_SUCCESS)
{
dprintf("RegQueryInfoKeyW: ");
cchClass=260;
dwError = RegQueryInfoKeyW(hKey
, szClass, &cchClass, NULL, &cSubKeys
, &cchMaxSubkey, &cchMaxClass, &cValues, &cchMaxValueName
, &cbMaxValueData, &cbSecurityDescriptor, &ftLastWriteTime);
dprintf ("\t\t\t\tdwError %x\n", dwError);
FileTimeToSystemTime(&ftLastWriteTime,&LastWriteTime);
dprintf ("\tnb of subkeys=%d,last write : %d/%d/%d %d:%02.2d'%02.2d''%03.3d\n",cSubKeys
,LastWriteTime.wMonth
,LastWriteTime.wDay
,LastWriteTime.wYear
,LastWriteTime.wHour
,LastWriteTime.wMinute
,LastWriteTime.wSecond
,LastWriteTime.wMilliseconds
);
dprintf ("RegCloseKey: ");
dwError = RegCloseKey (hKey);
dprintf ("\t\t\t\t\tdwError %x\n", dwError);
}
dprintf ("\nTests done...\n");
}
void test5(void)
{
HKEY hKey,hKey1;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
ULONG Index,Length,i;
char Buffer[10];
DWORD Result;
dprintf("NtOpenKey : \n");
dprintf(" \\Registry\\Machine\\Software\\reactos : ");
RtlInitUnicodeStringFromLiteral(&KeyName,L"\\Registry\\Machine\\Software\\reactos");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status=NtOpenKey( &hKey, KEY_ALL_ACCESS, &ObjectAttributes);
dprintf("\t\tStatus=%x\n",Status);
dprintf("NtFlushKey : \n");
Status = NtFlushKey(hKey);
dprintf("\t\tStatus=%x\n",Status);
dprintf("NtCloseKey : \n");
Status=NtClose(hKey);
dprintf("\t\tStatus=%x\n",Status);
}
/* registry link create test */
void test6(void)
{
HKEY hKey;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
KEY_VALUE_FULL_INFORMATION KeyValueInformation[5];
ULONG Index,Length,i;
char Buffer[10];
DWORD Result;
dprintf("Create target key\n");
dprintf(" Key: \\Registry\\Machine\\SOFTWARE\\Reactos\n");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\SOFTWARE\\Reactos");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtCreateKey(&hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL, REG_OPTION_VOLATILE,NULL);
dprintf(" NtCreateKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
return;
dprintf("Create target value\n");
dprintf(" Value: TestValue = 'Test String'\n");
RtlInitUnicodeStringFromLiteral(&ValueName, L"TestValue");
Status=NtSetValueKey(hKey,&ValueName,0,REG_SZ,(PVOID)L"TestString",22);
dprintf(" NtSetValueKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
return;
dprintf("Close target key\n");
NtClose(hKey);
dprintf("Create link key\n");
dprintf(" Key: \\Registry\\Machine\\SOFTWARE\\Test\n");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\SOFTWARE\\Test");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE | OBJ_OPENLINK,
NULL,
NULL);
Status = NtCreateKey(&hKey,
KEY_ALL_ACCESS | KEY_CREATE_LINK,
&ObjectAttributes,
0,
NULL,
REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK,
NULL);
dprintf(" NtCreateKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
return;
dprintf("Create link value\n");
dprintf(" Value: SymbolicLinkValue = '\\Registry\\Machine\\SOFTWARE\\Reactos'\n");
RtlInitUnicodeStringFromLiteral(&ValueName, L"SymbolicLinkValue");
Status=NtSetValueKey(hKey,&ValueName,0,REG_LINK,(PVOID)L"\\Registry\\Machine\\SOFTWARE\\Reactos",68);
dprintf(" NtSetValueKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
{
dprintf("Creating link value failed! Test failed!\n");
NtClose(hKey);
return;
}
dprintf("Close link key\n");
NtClose(hKey);
dprintf("Open link key\n");
dprintf(" Key: \\Registry\\Machine\\SOFTWARE\\Test\n");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\SOFTWARE\\Test");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE | OBJ_OPENIF
, NULL, NULL);
Status = NtCreateKey(&hKey, KEY_ALL_ACCESS , &ObjectAttributes
,0,NULL, REG_OPTION_VOLATILE, NULL);
dprintf(" NtCreateKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
return;
dprintf("Query value\n");
dprintf(" Value: TestValue\n");
RtlInitUnicodeStringFromLiteral(&ValueName, L"TestValue");
Status=NtQueryValueKey(hKey,
&ValueName,
KeyValueFullInformation,
&KeyValueInformation[0],
sizeof(KeyValueInformation),
&Length);
dprintf(" NtQueryValueKey() called (Status %lx)\n",Status);
if (Status == STATUS_SUCCESS)
{
dprintf(" Value: Type %d DataLength %d NameLength %d Name '",
KeyValueInformation[0].Type,
KeyValueInformation[0].DataLength,
KeyValueInformation[0].NameLength);
for (i=0; i < KeyValueInformation[0].NameLength / sizeof(WCHAR); i++)
dprintf("%C",KeyValueInformation[0].Name[i]);
dprintf("'\n");
if (KeyValueInformation[0].Type == REG_SZ)
dprintf(" Value '%S'\n",
KeyValueInformation[0].Name+1
+KeyValueInformation[0].NameLength/2);
}
dprintf("Close link key\n");
NtClose(hKey);
dprintf("Test successful!\n");
}
/* registry link delete test */
void test7(void)
{
HKEY hKey;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName,ValueName;
NTSTATUS Status;
dprintf("Open link key\n");
dprintf(" Key: \\Registry\\Machine\\SOFTWARE\\Test\n");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine\\SOFTWARE\\Test");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE | OBJ_OPENIF | OBJ_OPENLINK,
NULL,
NULL);
Status = NtCreateKey(&hKey,
KEY_ALL_ACCESS,
&ObjectAttributes,
0,
NULL,
REG_OPTION_VOLATILE | REG_OPTION_OPEN_LINK,
NULL);
dprintf(" NtCreateKey() called (Status %lx)\n",Status);
if (!NT_SUCCESS(Status))
{
dprintf("Could not open the link key. Please run the link create test first!\n");
return;
}
dprintf("Delete link value\n");
RtlInitUnicodeStringFromLiteral(&ValueName, L"SymbolicLinkValue");
Status = NtDeleteValueKey(hKey,
&ValueName);
dprintf(" NtDeleteValueKey() called (Status %lx)\n",Status);
dprintf("Delete link key\n");
Status=NtDeleteKey(hKey);
dprintf(" NtDeleteKey() called (Status %lx)\n",Status);
dprintf("Close link key\n");
NtClose(hKey);
}
void test8(void)
{
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName;
NTSTATUS Status;
LONG dwError;
TOKEN_PRIVILEGES NewPrivileges;
HANDLE Token,hKey;
LUID Luid;
BOOLEAN bRes;
Status=NtOpenProcessToken(GetCurrentProcess()
,TOKEN_ADJUST_PRIVILEGES,&Token);
// ,TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&Token);
dprintf("\t\t\t\tStatus =%x\n",Status);
// bRes=LookupPrivilegeValueA(NULL,SE_RESTORE_NAME,&Luid);
// dprintf("\t\t\t\tbRes =%x\n",bRes);
NewPrivileges.PrivilegeCount = 1;
NewPrivileges.Privileges[0].Luid = Luid;
// NewPrivileges.Privileges[0].Luid.u.LowPart=18;
// NewPrivileges.Privileges[0].Luid.u.HighPart=0;
NewPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
// Status = NtAdjustPrivilegesToken(
bRes = AdjustTokenPrivileges(
Token,
FALSE,
&NewPrivileges,
0,
NULL,
NULL
);
dprintf("\t\t\t\tbRes =%x\n",bRes);
// Status=NtClose(Token);
// dprintf("\t\t\t\tStatus =%x\n",Status);
RtlInitUnicodeStringFromLiteral(&KeyName,L"test5");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtLoadKey(HKEY_LOCAL_MACHINE,&ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
dwError=RegLoadKey(HKEY_LOCAL_MACHINE,"def"
,"test5");
dprintf("\t\t\t\tdwError =%x\n",dwError);
dprintf("NtOpenKey \\Registry\\Machine : ");
RtlInitUnicodeStringFromLiteral(&KeyName, L"\\Registry\\Machine");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status=NtOpenKey( &hKey, MAXIMUM_ALLOWED, &ObjectAttributes);
dprintf("\t\t\tStatus =%x\n",Status);
RtlInitUnicodeStringFromLiteral(&KeyName,L"test5");
InitializeObjectAttributes(&ObjectAttributes, &KeyName, OBJ_CASE_INSENSITIVE
, NULL, NULL);
Status = NtLoadKey(hKey,&ObjectAttributes);
dprintf("\t\t\t\tStatus =%x\n",Status);
}
int main(int argc, char* argv[])
{
char Buffer[10];
DWORD Result;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
while(1)
{
dprintf("choose test :\n");
dprintf(" 0=Exit\n");
dprintf(" 1=Ntxxx read functions\n");
dprintf(" 2=Ntxxx write functions : volatile keys\n");
dprintf(" 3=Ntxxx write functions : non volatile keys\n");
dprintf(" 4=Regxxx functions\n");
dprintf(" 5=FlushKey \n");
dprintf(" 6=Registry link create test\n");
dprintf(" 7=Registry link delete test\n");
ReadConsoleA(InputHandle, Buffer, 3, &Result, NULL) ;
switch (Buffer[0])
{
case '0':
return(0);
case '1':
test1();
break;
case '2':
test2();
break;
case '3':
test3();
break;
case '4':
test4();
break;
case '5':
test5();
break;
case '6':
test6();
break;
case '7':
test7();
break;
#if 0
case '8':
test8();
break;
#endif
}
}
return 0;
}

View File

@@ -1,19 +0,0 @@
# $Id: Makefile,v 1.3 2002/06/02 19:25:00 chorns Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = sectest
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,71 +0,0 @@
/* $Id: sectest.c,v 1.4 2002/09/08 10:22:01 chorns Exp $ */
#define UNICODE
#define _UNICODE
#include <windows.h>
int main(int argc, char* argv[])
{
HANDLE hFile;
HANDLE Section;
PVOID BaseAddress;
printf("Section Test\n");
hFile = CreateFile(_T("sectest.txt"),
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
0,
0);
if (hFile == INVALID_HANDLE_VALUE)
{
printf("Failed to create file (err=%d)", GetLastError());
return 1;
}
Section = CreateFileMapping(hFile,
NULL,
PAGE_READWRITE,
0,
4096,
NULL);
if (Section == NULL)
{
printf("Failed to create section (err=%d)", GetLastError());
return 1;
}
printf("Mapping view of section\n");
BaseAddress = MapViewOfFile(Section,
FILE_MAP_ALL_ACCESS,
0,
0,
4096);
printf("BaseAddress %x\n", (UINT) BaseAddress);
if (BaseAddress == NULL)
{
printf("Failed to map section (%d)\n", GetLastError());
return 1;
}
printf("Clearing section\n");
FillMemory(BaseAddress, 4096, ' ');
printf("Copying test data to section\n");
strcpy(BaseAddress, "test data");
if (!UnmapViewOfFile(BaseAddress))
{
printf("Failed to unmap view of file (%d)\n", GetLastError());
return 1;
}
if (!CloseHandle(hFile))
{
printf("Failed to close file (%d)\n", GetLastError());
return 1;
}
return 0;
}

View File

@@ -1,22 +0,0 @@
#
# $Id: makefile,v 1.0
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = sertest
TARGET_SDKLIBS = ntdll.a kernel32.a advapi32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,113 +0,0 @@
#include <windows.h>
#include <stdio.h>
#define BUFSIZE 128
#define MAX_PORTNAME_LEN 20
#define APP_VERSION_STR "0.01"
int main(int argc, char *argv[])
{
CHAR txBuffer[BUFSIZE];
CHAR rxBuffer[BUFSIZE];
DWORD dwBaud = 9600;
DWORD dwNumWritten;
DWORD dwNumRead;
DWORD dwErrors;
DCB dcb;
BOOL bResult;
HANDLE hPort;
int i;
int nPortNum = 1;
TCHAR szPortName[MAX_PORTNAME_LEN];
if (argc > 1) {
//sscanf(argv[1], "%d", &dwBaud);
sscanf(argv[1], "%d", &nPortNum);
}
sprintf(szPortName, _T("COM%d"), nPortNum);
printf("Serial Port Test Application Version %s\n", APP_VERSION_STR);
printf("Attempting to open serial port %d - %s\n", nPortNum, szPortName);
hPort = CreateFile(szPortName,
GENERIC_READ|GENERIC_WRITE,
0, // exclusive
NULL, // sec attr
OPEN_EXISTING,
0, // no attributes
NULL); // no template
if (hPort == (HANDLE)-1) {
printf("ERROR: CreateFile() failed with result: %lx\n", hPort);
return 1;
}
printf("CreateFile() returned: %lx\n", hPort);
printf("Fiddling with DTR and RTS control lines...\n");
bResult = EscapeCommFunction(hPort, SETDTR);
if (!bResult) {
printf("WARNING: EscapeCommFunction(SETDTR) failed: %lx\n", bResult);
}
bResult = EscapeCommFunction(hPort, SETRTS);
if (!bResult) {
printf("WARNING: EscapeCommFunction(SETRTS) failed: %lx\n", bResult);
}
printf("Getting the default line characteristics...\n");
dcb.DCBlength = sizeof(DCB);
if (!GetCommState(hPort, &dcb)) {
printf("ERROR: failed to get the dcb: %d\n", GetLastError());
return 2;
}
printf("Setting the line characteristics to 9600,8,N,1\n");
dcb.BaudRate = dwBaud;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
bResult = SetCommState(hPort, &dcb);
if (!bResult) {
printf("ERROR: failed to set the comm state: %lx\n", bResult);
return 3;
}
printf("INFO: preparing the transmit buffer: %lx\n", bResult);
for (i = 0; i < BUFSIZE; i++) {
txBuffer[i] = (CHAR)i;
}
for (i = 0; i < BUFSIZE; i++) {
printf(" %d ", txBuffer[i]);
}
for (i = 0; i < BUFSIZE; i++) {
rxBuffer[i] = 0xFF;
}
printf("\n");
printf("Writting transmit buffer to the serial port\n");
bResult = WriteFile(hPort, txBuffer, BUFSIZE, &dwNumWritten, NULL);
if (!bResult) {
printf("ERROR: failed to write to the serial port: %lx\n", bResult);
return 4;
}
printf("WriteFile() returned: %lx, byteswritten: %lx\n", bResult, dwNumWritten);
#if 0
printf("Attempting to read %d bytes from the serial port\n", BUFSIZE);
bResult = ReadFile(hPort, rxBuffer, BUFSIZE, &dwNumRead, NULL);
if (!bResult) {
printf("ERROR: failed to read from the serial port: %lx\n", bResult);
return 5;
}
printf("ReadFile() returned: %lx, bytesread: %lx\n", bResult, dwNumRead);
for (i = 0; i < BUFSIZE; i++) {
printf(" %d ",rxBuffer[i]);
}
#endif
printf("Attempting to close the serial port\n");
bResult = ClearCommError(hPort, &dwErrors, NULL);
printf("ClearCommError returned: %lx, dwErrors: %lx\n", bResult, dwErrors);
bResult = CloseHandle(hPort);
if (!bResult) {
printf("ERROR: failed to close the serial port: %lx\n", bResult);
return 6;
}
printf("Finished\n");
return 0;
}

View File

@@ -1,47 +0,0 @@
#
#
#
PATH_TO_TOP = ../../..
include $(PATH_TO_TOP)/rules.mak
SRV_OBJECTS= shmsrv.o
CLT_OBJECTS= shmclt.o
PROGS= shmsrv.exe shmclt.exe
BASE_CFLAGS = -I$(PATH_TO_TOP)/include
LIBS = $(SDK_PATH_LIB)/kernel32.a \
$(SDK_PATH_LIB)/ntdll.a
all: $(PROGS)
.phony: all
implib:
clean:
- $(RM) *.o *.exe *.sym
.phony: implib clean
install: $(PROGS:%=$(INSTALL_DIR)/bin/%)
$(PROGS:%=$(INSTALL_DIR)/bin/%): $(INSTALL_DIR)/bin/%: %
$(CP) $* $(INSTALL_DIR)/bin/$*
dist: $(PROGS:%=$(DIST_DIR)/apps/%)
$(PROGS:%=$(DIST_DIR)/apps/%): $(DIST_DIR)/apps/%: %
$(CP) $* $(DIST_DIR)/apps/$*
shmsrv.exe: $(SRV_OBJECTS) $(LIBS)
$(CC) $(SRV_OBJECTS) $(LIBS) -o shmsrv.exe
$(NM) --numeric-sort shmsrv.exe > shmsrv.sym
shmclt.exe: $(CLT_OBJECTS) $(LIBS)
$(CC) $(CLT_OBJECTS) $(LIBS) -o shmclt.exe
$(NM) --numeric-sort shmsrv.exe > shmclt.sym
# EOF

View File

@@ -1,61 +0,0 @@
#include <ddk/ntddk.h>
#include <windows.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
HANDLE OutputHandle;
HANDLE InputHandle;
void debug_printf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args,fmt);
vsprintf(buffer,fmt,args);
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
va_end(args);
}
int
main(int argc, char* argv[])
{
HANDLE Section;
PVOID BaseAddress;
char buffer[256];
printf("Shm test server\n");
Section = OpenFileMappingW (
// PAGE_EXECUTE_READWRITE, invalid parameter
FILE_MAP_WRITE,
FALSE,
L"TestSection"
);
if (Section == NULL)
{
printf("Failed to open section (err=%d)", GetLastError());
return 1;
}
BaseAddress = MapViewOfFile(Section,
FILE_MAP_ALL_ACCESS,
0,
0,
8192);
if (BaseAddress == NULL)
{
printf("Failed to map section (err=%d)\n", GetLastError());
return 1;
}
printf("BaseAddress %x\n", (UINT) BaseAddress);
printf("Copying from section\n");
strcpy(buffer, BaseAddress);
printf("Copyed <%s>\n", buffer);
// for(;;);
return 0;
}

View File

@@ -1,53 +0,0 @@
/* $Id: shmsrv.c,v 1.5 2000/06/29 23:35:10 dwelch Exp $
*
* FILE : reactos/apps/shm/shmsrv.c
* AUTHOR: David Welch
*/
#include <ddk/ntddk.h>
#include <windows.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
HANDLE Section;
PVOID BaseAddress;
printf("Shm test server\n");
Section = CreateFileMappingW (
(HANDLE) 0xFFFFFFFF,
NULL,
PAGE_READWRITE,
0,
8192,
L"TestSection"
);
if (Section == NULL)
{
printf("Failed to create section (err=%d)", GetLastError());
return 1;
}
printf("Mapping view of section\n");
BaseAddress = MapViewOfFile(Section,
FILE_MAP_ALL_ACCESS,
0,
0,
8192);
printf("BaseAddress %x\n", (UINT) BaseAddress);
if (BaseAddress == NULL)
{
printf("Failed to map section\n");
}
printf("Copying to section\n");
printf("Copying %s\n", GetCommandLineA());
strcpy(BaseAddress, GetCommandLineA());
Sleep(INFINITE);
return 0;
}

View File

@@ -1,20 +0,0 @@
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = windows
TARGET_NAME = simple
TARGET_SDKLIBS = kernel32.a gdi32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,15 +0,0 @@
/*
* The simplest Windows program you will ever write.
*
* This source code is in the PUBLIC DOMAIN and has NO WARRANTY.
*
* Colin Peters <colinp at ma.kcom.ne.jp>, July 1, 2001.
*/
#include <windows.h>
int STDCALL
WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
{
MessageBox (NULL, "Hello, ReactOS!", "Hello", MB_OK);
return 0;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -1,66 +0,0 @@
# Makefile - Proj_Listing1_5.dsp
ifndef CFG
CFG=Proj_Listing1_5 - Win32 Debug
endif
CC=gcc
CFLAGS=
CXX=g++
CXXFLAGS=$(CFLAGS)
RC=windres -O COFF
ifeq "$(CFG)" "Proj_Listing1_5 - Win32 Release"
CFLAGS+=-fexceptions -O2 -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -W
LD=$(CXX) $(CXXFLAGS)
LDFLAGS=
LDFLAGS+=-Wl,--subsystem,windows
LIBS+=-lkernel32 -luser32 -lgdi32
else
ifeq "$(CFG)" "Proj_Listing1_5 - Win32 Debug"
CFLAGS+=-fexceptions -g -O0 -DWIN32 -D_DEBUG -D_WINDOWS -D_MBCS -W
LD=$(CXX) $(CXXFLAGS)
LDFLAGS=
LDFLAGS+=-Wl,--subsystem,windows
LIBS+=-lkernel32 -luser32 -lgdi32
endif
endif
ifndef TARGET
TARGET=stretchblt.exe
endif
.PHONY: all
all: $(TARGET)
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
%.o: %.cpp
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $<
%.res: %.rc
$(RC) $(CPPFLAGS) -o $@ -i $<
SOURCE_FILES= \
stretchblt.cpp
HEADER_FILES=
RESOURCE_FILES=
SRCS=$(SOURCE_FILES) $(HEADER_FILES) $(RESOURCE_FILES)
OBJS=$(patsubst %.rc,%.res,$(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(filter %.c %.cpp %.rc,$(SRCS)))))
$(TARGET): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
.PHONY: clean
clean:
-del $(OBJS) $(TARGET)
.PHONY: depends
depends:
-$(CXX) $(CXXFLAGS) $(CPPFLAGS) -MM $(filter %.c %.cpp,$(SRCS)) > Proj_Listing1_5.dep
-include Proj_Listing1_5.dep

View File

@@ -1,258 +0,0 @@
// ------------------------------------------------------------------
// Windows 2000 Graphics API Black Book
// Chapter 1 - Listing 1.5 (StretchBlt Zooming Demo)
//
// Created by Damon Chandler <dmc27@ee.cornell.edu>
// Updates can be downloaded at: <www.coriolis.com>
//
// Please do not hesistate to e-mail me at dmc27@ee.cornell.edu
// if you have any questions about this code.
// ------------------------------------------------------------------
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#include <windows.h>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
HWND HListBox = NULL;
const int ID_LISTBOX = 101;
HINSTANCE HInst;
const char* WndClassName = "GMainWnd";
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam);
int APIENTRY WinMain(HINSTANCE HInstance, HINSTANCE HPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
HInst = HInstance;
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS;
wc.lpfnWndProc = MainWndProc;
wc.hInstance = HInstance;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_BTNFACE + 1);
wc.lpszClassName = WndClassName;
if (RegisterClass(&wc))
{
HWND HWnd =
CreateWindow(WndClassName, TEXT("StretchBlt Zooming Demo"),
WS_OVERLAPPEDWINDOW | WS_CAPTION |
WS_VISIBLE | WS_CLIPSIBLINGS,
0, 0, 675, 560,
NULL, NULL, HInst, NULL);
if (HWnd)
{
HListBox =
CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX", "",
LBS_NOTIFY | WS_CHILD | WS_VISIBLE,
530, 5, 130, 150, HWnd,
reinterpret_cast<HMENU>(ID_LISTBOX),
HInst, NULL);
if (HListBox)
{
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 25%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 50%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 75%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 100%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 125%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 150%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 200%"));
SNDMSG(HListBox, LB_ADDSTRING, 0,
reinterpret_cast<LPARAM>("Zoom 300%"));
}
ShowWindow(HWnd, nCmdShow);
UpdateWindow(HWnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
return 0;
}
//------------------------------------------------------------------
// image related
BITMAP bmp;
const char* filename = "LENA.BMP";
HDC HMemDC = NULL;
HBITMAP HOldBmp = NULL;
// zooming related
float zoom_factor = 0.5;
RECT RDest = {5, 5, 0, 0};
enum {ID_ZOOM25, ID_ZOOM50, ID_ZOOM75, ID_ZOOM100,
ID_ZOOM125, ID_ZOOM150, ID_ZOOM200, ID_ZOOM300};
LRESULT CALLBACK MainWndProc(HWND HWnd, UINT Msg, WPARAM WParam,
LPARAM LParam)
{
switch (Msg)
{
case WM_CREATE:
{
// create a memory DC
HMemDC = CreateCompatibleDC(NULL);
if (HMemDC)
{
// load a bitmap from file
HBITMAP HBmp =
static_cast<HBITMAP>(
LoadImage(HInst, filename, IMAGE_BITMAP,
0, 0, LR_LOADFROMFILE)
);
if (HBmp)
{
// extract dimensions of the bitmap
GetObject(HBmp, sizeof(BITMAP), &bmp);
// associate the bitmap with the memory DC
HOldBmp = static_cast<HBITMAP>(
SelectObject(HMemDC, HBmp)
);
}
}
}
case WM_COMMAND:
{
if (WParam == MAKEWPARAM(ID_LISTBOX, LBN_SELCHANGE))
{
switch (SNDMSG(HListBox, LB_GETCURSEL, 0, 0))
{
case ID_ZOOM25: zoom_factor = 0.25; break;
case ID_ZOOM50: zoom_factor = 0.50; break;
case ID_ZOOM75: zoom_factor = 0.75; break;
case ID_ZOOM100: zoom_factor = 1.00; break;
case ID_ZOOM125: zoom_factor = 1.25; break;
case ID_ZOOM150: zoom_factor = 1.50; break;
case ID_ZOOM200: zoom_factor = 2.00; break;
case ID_ZOOM300: zoom_factor = 3.00; break;
}
// calculate the new width and height
const int new_width =
static_cast<int>(zoom_factor * bmp.bmWidth);
const int new_height =
static_cast<int>(zoom_factor * bmp.bmHeight);
// is zooming in?
bool zoom_in = (new_width > RDest.right - RDest.left);
// caculate the area that needs to be updated
RECT RUpdate = {
RDest.left, RDest.top,
RDest.left + max(new_width, RDest.right - RDest.left),
RDest.top + max(new_height, RDest.bottom - RDest.top)
};
// adjust the dimenstions of the
// destination rectangle
RDest.right = RDest.left + new_width;
RDest.bottom = RDest.top + new_height;
// create an update region from the XOR combination
// of the update and destination rectangles
HRGN HUpdateRgn = CreateRectRgnIndirect(&RUpdate);
HRGN HDestRgn = CreateRectRgnIndirect(&RDest);
int result =
CombineRgn(HUpdateRgn, HUpdateRgn, HDestRgn, RGN_XOR);
// incite a repaint
if (result != NULLREGION && result != ERROR)
{
InvalidateRgn(HWnd, HUpdateRgn, true);
RedrawWindow(HWnd, &RDest, NULL, RDW_NOERASE | RDW_INVALIDATE);
}
else if (result == NULLREGION)
{
InvalidateRect(HWnd, &RUpdate, zoom_in ? false : true);
}
// clean up
DeleteObject(HUpdateRgn);
DeleteObject(HDestRgn);
}
break;
}
case WM_PAINT:
{
PAINTSTRUCT ps;
const HDC Hdc = BeginPaint(HWnd, &ps);
try
{
//
// TODO: add palette support (see Chapter 9)...
//
if (RDest.right - RDest.left > 0)
{
// use BitBlt when not zooming
if (zoom_factor == 1.0)
{
BitBlt(Hdc, RDest.left, RDest.top,
RDest.right - RDest.left,
RDest.bottom - RDest.top,
HMemDC, 0, 0,
SRCCOPY);
}
else
{
if (zoom_factor < 1.0)
{
SetStretchBltMode(Hdc, COLORONCOLOR);
}
// render the zoomed image
StretchBlt(Hdc, RDest.left, RDest.top,
RDest.right - RDest.left,
RDest.bottom - RDest.top,
HMemDC, 0, 0,
bmp.bmWidth, bmp.bmHeight,
SRCCOPY);
}
}
}
catch (...)
{
EndPaint(HWnd, &ps);
}
EndPaint(HWnd, &ps);
break;
}
case WM_DESTROY:
{
// clean up
DeleteObject(SelectObject(HMemDC, HOldBmp));
DeleteDC(HMemDC);
PostQuitMessage(0);
return 0;
}
}
return DefWindowProc(HWnd, Msg, WParam, LParam);
}
//------------------------------------------------------------------

View File

@@ -1,21 +0,0 @@
# $Id: makefile,v 1.1 2002/06/17 06:01:17 sedwards Exp $
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = tcpsvr
TARGET_SDKLIBS = kernel32.a ws2_32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,173 +0,0 @@
/* tcpServer.c
*
* Simple Winsock TCP server test.
* Later will be used as base for ReactOS telnetd
*
* HISTORY:
* 6-15-02 - Added Winsock support to UNIX tcp test
* 6-16-02 - Removed Unix support
* 6-17-02 - Added extra comments to code
*
*/
#include <winsock2.h>
#include <stdio.h>
#undef ERROR
#define SUCCESS 0
#define ERROR 1
#define END_LINE 0x0A
#define SERVER_PORT 23
#define MAX_MSG 100
/* function readline */
int read_line();
int main (int argc, char *argv[]) {
WORD wVersionRequested;
WSADATA WsaData;
INT Status;
int sd, newSd, cliLen;
struct sockaddr_in cliAddr, servAddr;
char line[MAX_MSG];
wVersionRequested = MAKEWORD(2, 2);
Status = WSAStartup(wVersionRequested, &WsaData);
if (Status != 0) {
printf("Could not initialize winsock dll.\n");
return FALSE;
}
/* create socket */
sd = socket(AF_INET, SOCK_STREAM, 0);
if(sd<0) {
perror("cannot open socket ");
WSACleanup();
return ERROR;
}
/* bind server port */
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
servAddr.sin_port = htons(SERVER_PORT);
if(bind(sd, (struct sockaddr *) &servAddr, sizeof(servAddr))<0) {
perror("cannot bind port ");
WSACleanup();
return ERROR;
}
listen(sd,5);
while(1) {
printf("%s: \n
To start test, Please telnet to localhost (127.0.0.1) port 23 \n
When connected input raw data followed by End of Line\n
Test is now running on TCP port %u\n",argv[0],SERVER_PORT);
cliLen = sizeof(cliAddr);
newSd = accept(sd, (struct sockaddr *) &cliAddr, &cliLen);
if(newSd<0) {
perror("cannot accept connection ");
WSACleanup();
return ERROR;
}
/* init line */
memset(line,0x0,MAX_MSG);
/* receive segments */
while(read_line(newSd,line)!=ERROR) {
printf("%s: received from %s:TCP%d : %s\n", argv[0],
inet_ntoa(cliAddr.sin_addr),
ntohs(cliAddr.sin_port), line);
/* init line */
memset(line,0x0,MAX_MSG);
} /* while(read_line) */
} /* while (1) */
}
/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING */
/* this function is experimental.. I don't know yet if it works */
/* correctly or not. Use Steven's readline() function to have */
/* something robust. */
/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING */
/* rcv_line is my function readline(). Data is read from the socket when */
/* needed, but not byte after bytes. All the received data is read. */
/* This means only one call to recv(), instead of one call for */
/* each received byte. */
/* You can set END_CHAR to whatever means endofline for you. (0x0A is \n)*/
/* read_lin returns the number of bytes returned in line_to_return */
int read_line(int newSd, char *line_to_return) {
static int rcv_ptr=0;
static char rcv_msg[MAX_MSG];
static int n;
int offset;
offset=0;
while(1) {
if(rcv_ptr==0) {
/* read data from socket */
memset(rcv_msg,0x0,MAX_MSG); /* init buffer */
n = recv(newSd, rcv_msg, MAX_MSG, 0); /* wait for data */
if (n<0) {
perror(" cannot receive data ");
return ERROR;
} else if (n==0) {
printf(" connection closed by client\n");
close(newSd);
WSACleanup();
return ERROR;
}
}
/* if new data read on socket */
/* OR */
/* if another line is still in buffer */
/* copy line into 'line_to_return' */
while(*(rcv_msg+rcv_ptr)!=END_LINE && rcv_ptr<n) {
memcpy(line_to_return+offset,rcv_msg+rcv_ptr,1);
offset++;
rcv_ptr++;
}
/* end of line + end of buffer => return line */
if(rcv_ptr==n-1) {
/* set last byte to END_LINE */
*(line_to_return+offset)=END_LINE;
rcv_ptr=0;
return ++offset;
}
/* end of line but still some data in buffer => return line */
if(rcv_ptr <n-1) {
/* set last byte to END_LINE */
*(line_to_return+offset)=END_LINE;
rcv_ptr++;
return ++offset;
}
/* end of buffer but line is not ended => */
/* wait for more data to arrive on socket */
if(rcv_ptr == n) {
rcv_ptr = 0;
}
} /* while */
}

View File

@@ -1,11 +0,0 @@
#include <stdio.h>
int
main (void)
{
int i;
puts ("This should print \"wow = I\" for I from 0 to 39 inclusive.");
for (i = 0; i < 40; i++)
printf ("%s = %d\n", "wow", i);
return 0;
}

View File

@@ -1,53 +0,0 @@
#include <stdio.h>
#include <string.h>
int
main (void)
{
FILE *f;
int i;
const char filename[] = "/tmp/bug3.test";
f = fopen(filename, "w+");
for (i=0; i<9000; i++)
putc ('x', f);
fseek (f, 8180L, 0);
fwrite ("Where does this text go?", 1, 24, f);
fflush (f);
rewind (f);
for (i=0; i<9000; i++)
{
int j;
if ((j = getc(f)) != 'x')
{
if (i != 8180)
{
printf ("Test FAILED!");
return 1;
}
else
{
char buf[25];
buf[0] = j;
fread (buf + 1, 1, 23, f);
buf[24] = '\0';
if (strcmp (buf, "Where does this text go?") != 0)
{
printf ("%s\nTest FAILED!\n", buf);
return 1;
}
i += 23;
}
}
}
fclose(f);
remove(filename);
puts ("Test succeeded.");
return 0;
}

View File

@@ -1,73 +0,0 @@
#
#
#
PATH_TO_TOP = ../..
PROGS= test-stdio tst-printf tstdiomisc bug2 bug3 \
temptest test-fseek test_rdwr testfsd time_t
all: $(PROGS:%=%.exe)
.phony: all
implib:
clean:
- $(RM) *.o *.exe *.sym
.phony: implib clean
install: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe)
$(PROGS:%=$(FLOPPY_DIR)/apps/%.exe): $(FLOPPY_DIR)/apps/%.exe: %.exe
dist: $(PROGS:%=$(DIST_DIR)/apps/%.exe)
$(PROGS:%=$(DIST_DIR)/apps/%.exe): $(DIST_DIR)/apps/%.exe: %.exe
$(CP) $*.exe $(DIST_DIR)/apps/$*.exe
bug2.exe: bug2.c
$(CC) bug2.c -lkernel32 -o bug2.exe
$(NM) --numeric-sort bug2.exe > bug2.sym
bug3.exe: bug3.c
$(CC) bug3.c -lkernel32 -o bug3.exe
$(NM) --numeric-sort bug3.exe > bug3.sym
temptest.exe: temptest.c
$(CC) temptest.c -lkernel32 -o temptest.exe
$(NM) --numeric-sort temptest.exe > temptest.sym
test-fseek.exe: test-fseek.c
$(CC) test-fseek.c -lkernel32 -o test-fseek.exe
$(NM) --numeric-sort test-fseek.exe > test-fseek.sym
test-fwrite.exe: test-fwrite.c
$(CC) test-fwrite.c -lkernel32 -o test-fwrite.exe
$(NM) --numeric-sort test-fwrite.exe > test-fwrite.sym
test_rdwr.exe: test_rdwr.c
$(CC) test_rdwr.c -lkernel32 -o test_rdwr.exe
$(NM) --numeric-sort test_rdwr.exe > test_rdwr.sym
test-stdio.exe: test-stdio.c
$(CC) test-stdio.c -lkernel32 -o test-stdio.exe
$(NM) --numeric-sort test-stdio.exe > test-stdio.sym
tst-printf.exe: tst-printf.c
$(CC) tst-printf.c -lkernel32 -o tst-printf.exe
$(NM) --numeric-sort tst-printf.exe > tst-printf.sym
tstdiomisc.exe: tstdiomisc.c
$(CC) tstdiomisc.c -lkernel32 -o tstdiomisc.exe
$(NM) --numeric-sort tstdiomisc.exe > tstdiomisc.sym
testfsd.exe: testfsd.c testsuite.c
$(CC) testfsd.c testsuite.c -lkernel32 -o testfsd.exe
$(NM) --numeric-sort testfsd.exe > testfsd.sym
time_t.exe: time_t.c
$(CC) time_t.c -lkernel32 -o time_t.exe
$(NM) --numeric-sort time_t.exe > time_t.sym
include ../../rules.mak

View File

@@ -1,27 +0,0 @@
#include <stdio.h>
#include <string.h>
char *files[500];
int
main (int argc, char *argv[])
{
FILE *fp;
int i;
for (i = 0; i < 500; i++) {
files[i] = tempnam (NULL, "file");
if (files[i] == NULL) {
printf ("tempnam failed\n");
exit (1);
}
printf ("file: %s\n", files[i]);
fp = fopen (files[i], "w");
fclose (fp);
}
for (i = 0; i < 500; i++)
remove (files[i]);
exit (0);
}

View File

@@ -1,85 +0,0 @@
/* Copyright (C) 1991, 1992, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <stdio.h>
#define TESTFILE "/tmp/test.dat"
int
main (void)
{
FILE *fp;
int i, j;
puts ("\nFile seek test");
fp = fopen (TESTFILE, "w");
if (fp == NULL)
{
perror (TESTFILE);
return 1;
}
for (i = 0; i < 256; i++)
putc (i, fp);
if (freopen (TESTFILE, "r", fp) != fp)
{
perror ("Cannot open file for reading");
return 1;
}
for (i = 1; i <= 255; i++)
{
printf ("%3d\n", i);
fseek (fp, (long) -i, SEEK_END);
if ((j = getc (fp)) != 256 - i)
{
printf ("SEEK_END failed %d\n", j);
break;
}
if (fseek (fp, (long) i, SEEK_SET))
{
puts ("Cannot SEEK_SET");
break;
}
if ((j = getc (fp)) != i)
{
printf ("SEEK_SET failed %d\n", j);
break;
}
if (fseek (fp, (long) i, SEEK_SET))
{
puts ("Cannot SEEK_SET");
break;
}
if (fseek (fp, (long) (i >= 128 ? -128 : 128), SEEK_CUR))
{
puts ("Cannot SEEK_CUR");
break;
}
if ((j = getc (fp)) != (i >= 128 ? i - 128 : i + 128))
{
printf ("SEEK_CUR failed %d\n", j);
break;
}
}
fclose (fp);
remove (TESTFILE);
puts ((i > 255) ? "Test succeeded." : "Test FAILED!");
return (i > 255) ? 0 : 1;
}

View File

@@ -1,68 +0,0 @@
#include <stdio.h>
#include <string.h>
int
main (int argc, char *argv[])
{
FILE *f = tmpfile ();
char obuf[99999], ibuf[sizeof obuf];
char *line;
size_t linesz;
if (! f)
{
perror ("tmpfile");
return 1;
}
if (fputs ("line\n", f) == EOF)
{
perror ("fputs");
return 1;
}
memset (obuf, 'z', sizeof obuf);
memset (ibuf, 'y', sizeof ibuf);
if (fwrite (obuf, sizeof obuf, 1, f) != 1)
{
perror ("fwrite");
return 1;
}
rewind (f);
line = NULL;
linesz = 0;
if (getline (&line, &linesz, f) != 5)
{
perror ("getline");
return 1;
}
if (strcmp (line, "line\n"))
{
puts ("Lines differ. Test FAILED!");
return 1;
}
if (fread (ibuf, sizeof ibuf, 1, f) != 1)
{
perror ("fread");
return 1;
}
if (memcmp (ibuf, obuf, sizeof ibuf))
{
puts ("Buffers differ. Test FAILED!");
return 1;
}
asprintf (&line, "\
GDB is free software and you are welcome to distribute copies of it\n\
under certain conditions; type \"show copying\" to see the conditions.\n\
There is absolutely no warranty for GDB; type \"show warranty\" for details.\n\
");
puts ("Test succeeded.");
return 0;
}

View File

@@ -1,55 +0,0 @@
#include <stdio.h>
#include <string.h>
int main()
{
char msg1[] = "testing _write\n";
char msg2[] = "testing putchar.";
char msg3[] = "testing printf.";
char tmpbuf[255];
FILE* f1;
write(1, msg1, strlen(msg1));
write(1, msg2, strlen(msg2));
putchar('o'); putchar('k'); putchar('\n');
write(1, msg3, strlen(msg3));
printf("ok\n");
printf("Testing fopen\n");
f1 = fopen("tmp.txt","w+b");
if (f1 == NULL)
{
printf("fopen failed\n");
return(1);
}
printf("Testing fwrite\n");
if (fwrite(msg1, 1, strlen(msg1)+1, f1) != (strlen(msg1)+1))
{
printf("fwrite failed\n");
return(1);
}
printf("Testing fread\n");
fseek(f1, 0, SEEK_SET);
if (fread(tmpbuf, 1, strlen(msg1)+1, f1) != (strlen(msg1)+1))
{
printf("fread failed\n");
return(1);
}
if (strcmp(tmpbuf,msg1) != 0)
{
printf("fread failed, data corrupt\n");
return(1);
}
printf("Testing fclose\n");
if (fclose(f1) != 0)
{
printf("fclose failed\n");
return(1);
}
return(0);
}

View File

@@ -1,129 +0,0 @@
/* Copyright (C) 1991, 1992, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int
main (int argc, char **argv)
{
static const char hello[] = "Hello, world.\n";
static const char replace[] = "Hewwo, world.\n";
static const size_t replace_from = 2, replace_to = 4;
char filename[FILENAME_MAX];
char *name = strrchr (*argv, '/');
char buf[BUFSIZ];
FILE *f;
int lose = 0;
if (name != NULL)
++name;
else
name = *argv;
(void) sprintf (filename, "/tmp/%s.test", name);
f = fopen (filename, "w+");
if (f == NULL)
{
perror (filename);
exit (1);
}
(void) fputs (hello, f);
rewind (f);
(void) fgets (buf, sizeof (buf), f);
rewind (f);
(void) fputs (buf, f);
rewind (f);
{
size_t i;
for (i = 0; i < replace_from; ++i)
{
int c = getc (f);
if (c == EOF)
{
printf ("EOF at %Zu.\n", i);
lose = 1;
break;
}
else if (c != hello[i])
{
printf ("Got '%c' instead of '%c' at %Zu.\n",
(unsigned char) c, hello[i], i);
lose = 1;
break;
}
}
}
{
long int where = ftell (f);
if (where == (long int) replace_from)
{
register size_t i;
for (i = replace_from; i < replace_to; ++i)
if (putc(replace[i], f) == EOF)
{
printf ("putc('%c') got %s at %Zu.\n",
replace[i], strerror (errno), i);
lose = 1;
break;
}
}
else if (where == -1L)
{
printf ("ftell got %s (should be at %Zu).\n",
strerror (errno), replace_from);
lose = 1;
}
else
{
printf ("ftell returns %lu; should be %Zu.\n", where, replace_from);
lose = 1;
}
}
if (!lose)
{
rewind (f);
if (fgets (buf, sizeof (buf), f) == NULL)
{
printf ("fgets got %s.\n", strerror(errno));
lose = 1;
}
else if (strcmp (buf, replace))
{
printf ("Read \"%s\" instead of \"%s\".\n", buf, replace);
lose = 1;
}
}
if (lose)
printf ("Test FAILED! Losing file is \"%s\".\n", filename);
else
{
(void) remove (filename);
puts ("Test succeeded.");
}
exit (lose ? EXIT_FAILURE : EXIT_SUCCESS);
}

View File

@@ -1,315 +0,0 @@
/* $Id: testfsd.c,v 1.4 2001/07/04 03:07:54 rex Exp $
*
* FILE: testFSD.c
* PURPOSE: A test set for the File System Driver
* PROJECT: ReactOS kernel
* COPYRIGHT: See COPYING in the top level directory
* PROGRAMMER: Rex Jolliff (rex@lvcablemodem.com)
*
*/
#include <errno.h>
#include <stdio.h>
#include <windows.h>
#include <string.h>
#include "testsuite.h"
const char *rootDir = "c:\\";
const char *systemRootDir = "c:\\ReactOS";
const char *systemDllDir = "c:\\ReactOS\\System32";
const char *bogusRootFile = "c:\\bogus";
const char *bogusDirAndFile = "c:\\bogus\\bogus";
const char *bogusSystemRootFile = "c:\\ReactOS\\bogus";
const char *bogusSystemDllFile = "c:\\ReactOS\\System32\\bogus";
const char *shortFile = "c:\\ReactOS\\boot.bat";
const char *longFile = "c:\\ReactOS\\loadros.com";
void testOpenExistant (void)
{
HANDLE fileHandle;
fileHandle = CreateFile (rootDir, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (systemRootDir, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (systemDllDir, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
}
void testOpenNonExistant (void)
{
DWORD status;
HANDLE fileHandle;
fileHandle = CreateFile (bogusRootFile, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_FILE_NOT_FOUND);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusDirAndFile, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_PATH_NOT_FOUND);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusSystemRootFile, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_FILE_NOT_FOUND);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusSystemDllFile, GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_FILE_NOT_FOUND);
CloseHandle (fileHandle);
}
void testCreateExistant (void)
{
DWORD status;
HANDLE fileHandle;
fileHandle = CreateFile (rootDir, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_ALREADY_EXISTS);
fileHandle = CreateFile (systemRootDir, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_ALREADY_EXISTS);
fileHandle = CreateFile (systemDllDir, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_ALREADY_EXISTS);
}
void testCreateNonExistant (void)
{
DWORD status;
HANDLE fileHandle;
fileHandle = CreateFile (bogusRootFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusSystemRootFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusSystemDllFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
#if 0
fileHandle = CreateFile (bogusDirAndFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle == INVALID_HANDLE_VALUE);
status = GetLastError ();
ASSERT (status == ERROR_PATH_NOT_FOUND);
CloseHandle (fileHandle);
#endif
}
void testDeleteFiles (void)
{
BOOL returnValue;
HANDLE fileHandle;
fileHandle = CreateFile ("bogus", GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
returnValue = DeleteFile ("bogus");
ASSERT_MSG (returnValue,
"Delete of bogus failed, error:%d",
GetLastError ());
#if 0
returnValue = DeleteFile (bogusRootFile);
ASSERT_MSG (returnValue,
"Delete of %s failed, error:%d",
bogusRootFile,
GetLastError ());
returnValue = DeleteFile (bogusRootFile);
ASSERT_MSG (!returnValue,
"2nd Delete of %s succeeded but should fail",
bogusRootFile);
returnValue = DeleteFile (bogusSystemRootFile);
ASSERT_MSG (returnValue,
"Delete of %s failed, error:%d",
bogusSystemRootFile,
GetLastError ());
returnValue = DeleteFile (bogusSystemRootFile);
ASSERT_MSG (!returnValue,
"2nd Delete of %s succeeded but should fail",
bogusSystemRootFile);
returnValue = DeleteFile (bogusSystemDllFile);
ASSERT_MSG (returnValue,
"Delete of %s failed, error:%d",
bogusSystemDllFile,
GetLastError ());
returnValue = DeleteFile (bogusSystemDllFile);
ASSERT_MSG (!returnValue,
"2nd Delete of %s succeeded but should fail",
bogusSystemDllFile);
returnValue = DeleteFile (bogusDirAndFile);
ASSERT_MSG (!returnValue,
"Delete of %s succeded but should fail",
bogusDirAndFile);
#endif
}
void testOpenWithBlankPathElements (void)
{
HANDLE fileHandle;
fileHandle = CreateFile ("c:", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\\\", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\\\reactos\\", GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\reactos\\\\", GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\reactos\\\\system32\\", GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile ("c:\\reactos\\system32\\\\", GENERIC_READ, 0, 0,
OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
}
void testReadOnInvalidHandle (void)
{
BOOL returnValue;
char buffer [256];
DWORD bytesRead;
returnValue = ReadFile (INVALID_HANDLE_VALUE,
buffer,
256,
&bytesRead,
NULL);
ASSERT_MSG (!returnValue,
"Read from invalid handle succeeded but should fail",0);
ASSERT (GetLastError () != ENOFILE);
}
void testReadOnZeroLengthFile (void)
{
BOOL returnValue;
HANDLE fileHandle;
char buffer [256];
DWORD bytesRead;
fileHandle = CreateFile (bogusRootFile, GENERIC_READ, 0, 0,
CREATE_NEW, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
CloseHandle (fileHandle);
fileHandle = CreateFile (bogusRootFile, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
returnValue = ReadFile (fileHandle, buffer, 256, &bytesRead, NULL);
ASSERT_MSG (!returnValue,
"Read from zero length file succeeded but should fail",0);
ASSERT (GetLastError () != ERROR_HANDLE_EOF);
CloseHandle (fileHandle);
returnValue = DeleteFile (bogusRootFile);
ASSERT_MSG (returnValue,
"Delete of %s failed, error:%d",
bogusRootFile,
GetLastError ());
}
void testReadOnShortFile (void)
{
BOOL returnValue;
HANDLE fileHandle;
char buffer [256];
DWORD bytesRead;
fileHandle = CreateFile (shortFile, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
returnValue = ReadFile (fileHandle,
buffer,
256,
&bytesRead,
NULL);
ASSERT_MSG (returnValue,
"Read from short length file failed, error:%d",
GetLastError ());
ASSERT (bytesRead > 0 && bytesRead < 256);
CloseHandle (fileHandle);
}
void testReadOnLongFile (void)
{
BOOL returnValue;
HANDLE fileHandle;
char buffer [256];
DWORD bytesRead;
int count;
fileHandle = CreateFile (longFile, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
ASSERT (fileHandle != INVALID_HANDLE_VALUE);
for (count = 0; count < 20; count++)
{
returnValue = ReadFile (fileHandle,
buffer,
256,
&bytesRead,
NULL);
ASSERT_MSG (returnValue,
"Read from short length file failed, error:%d",
GetLastError ());
ASSERT (bytesRead == 256);
}
CloseHandle (fileHandle);
}
int main (void)
{
TEST_RUNNER testRunner;
TEST_SUITE testsToRun [] =
{
ADD_TEST (testOpenExistant),
ADD_TEST (testOpenNonExistant),
ADD_TEST (testCreateExistant),
ADD_TEST (testCreateNonExistant),
ADD_TEST (testDeleteFiles),
/* ADD_TEST (testOverwriteExistant),*/
/* ADD_TEST (testOverwriteNonExistant),*/
ADD_TEST (testOpenWithBlankPathElements),
ADD_TEST (testReadOnInvalidHandle),
ADD_TEST (testReadOnZeroLengthFile),
ADD_TEST (testReadOnShortFile),
ADD_TEST (testReadOnLongFile),
/* ADD_TEST (test), */
END_TESTS
};
memset (&testRunner, 0, sizeof (TEST_RUNNER));
tsRunTests (&testRunner, testsToRun);
tsReportResults (&testRunner);
}

View File

@@ -1,65 +0,0 @@
#include <windows.h>
#include <stdio.h>
#include "testsuite.h"
static PTEST_RUNNER iTestRunner = 0;
void tsRunTests (PTEST_RUNNER pTestRunner, PTEST_SUITE pTests)
{
int testIndex;
iTestRunner = pTestRunner;
for (testIndex = 0; pTests [testIndex].testFunc != 0; testIndex++)
{
pTests [testIndex].testFunc ();
pTestRunner->tests++;
}
}
void tsReportResults (PTEST_RUNNER pTestRunner)
{
printf ("\nTotal of %d tests.\n"
"Assertions: %d\n"
" Assertions which passed: %d\n"
" Assertions which failed: %d\n",
pTestRunner->tests,
pTestRunner->assertions,
pTestRunner->successes,
pTestRunner->failures);
if (pTestRunner->failures == 0)
{
printf ("\n*** OK ***\n");
}
else
{
printf ("\n*** FAIL ***\n");
}
}
void tsDoAssertion (BOOL pTest,
PCHAR pTestText,
PCHAR pFunction,
int pLine,
...)
{
va_list ap;
iTestRunner->assertions++;
if (!pTest)
{
va_start (ap, pLine);
printf ("%s(%d): ", pFunction, pLine);
vprintf (pTestText, ap);
printf ("\n");
va_end(ap);
iTestRunner->failures++;
}
else
{
iTestRunner->successes++;
}
}

View File

@@ -1,44 +0,0 @@
#ifndef H_TESTSUITE_H
#define H_TESTSUITE_H
struct TestSuite
{
char *name;
void (*testFunc)(void);
};
typedef struct TestSuite TEST_SUITE, *PTEST_SUITE;
#define ADD_TEST(x) {#x, x}
#define END_TESTS {0, 0}
#define COUNT_TESTS(x) (sizeof x/sizeof (struct TestSuite))
struct TestRunner
{
int tests;
int assertions;
int failures;
int successes;
};
typedef struct TestRunner TEST_RUNNER, *PTEST_RUNNER;
void tsDoAssertion (BOOL pTest,
PCHAR pTestText,
PCHAR pFunction,
int pLine,
...);
#ifdef ASSERT
#undef ASSERT
#endif
#define ASSERT(x) tsDoAssertion (x, "assertion \"" ## #x ## "\" failed", __FUNCTION__, __LINE__)
#define ASSERT_MSG(x,y,a...) tsDoAssertion (x, y, __FUNCTION__, __LINE__,a)
void tsRunTests (PTEST_RUNNER pTestRunner, PTEST_SUITE pTests);
void tsReportResults (PTEST_RUNNER pTestRunner);
#endif

View File

@@ -1,12 +0,0 @@
#include <stdio.h>
#include <time.h>
int main(void)
{
struct tm *ptr;
time_t lt;
lt = time(NULL);
ptr = localtime(&lt);
printf(asctime(ptr));
}

View File

@@ -1,311 +0,0 @@
/* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifdef BSD
#include </usr/include/stdio.h>
#define EXIT_SUCCESS 0
#else
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#endif
#include <float.h>
void rfg1 (void);
void rfg2 (void);
void
fmtchk (const char *fmt)
{
(void) fputs(fmt, stdout);
(void) printf(":\t`");
(void) printf(fmt, 0x12);
(void) printf("'\n");
}
void
fmtst1chk (const char *fmt)
{
(void) fputs(fmt, stdout);
(void) printf(":\t`");
(void) printf(fmt, 4, 0x12);
(void) printf("'\n");
}
void
fmtst2chk (const char *fmt)
{
(void) fputs(fmt, stdout);
(void) printf(":\t`");
(void) printf(fmt, 4, 4, 0x12);
(void) printf("'\n");
}
/* This page is covered by the following copyright: */
/* (C) Copyright C E Chew
*
* Feel free to copy, use and distribute this software provided:
*
* 1. you do not pretend that you wrote it
* 2. you leave this copyright notice intact.
*/
/*
* Extracted from exercise.c for glibc-1.05 bug report by Bruce Evans.
*/
#define DEC -123
#define INT 255
#define UNS (~0)
/* Formatted Output Test
*
* This exercises the output formatting code.
*/
void
fp_test (void)
{
int i, j, k, l;
char buf[7];
char *prefix = buf;
char tp[20];
puts("\nFormatted output test");
printf("prefix 6d 6o 6x 6X 6u\n");
strcpy(prefix, "%");
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
for (k = 0; k < 2; k++) {
for (l = 0; l < 2; l++) {
strcpy(prefix, "%");
if (i == 0) strcat(prefix, "-");
if (j == 0) strcat(prefix, "+");
if (k == 0) strcat(prefix, "#");
if (l == 0) strcat(prefix, "0");
printf("%5s |", prefix);
strcpy(tp, prefix);
strcat(tp, "6d |");
printf(tp, DEC);
strcpy(tp, prefix);
strcat(tp, "6o |");
printf(tp, INT);
strcpy(tp, prefix);
strcat(tp, "6x |");
printf(tp, INT);
strcpy(tp, prefix);
strcat(tp, "6X |");
printf(tp, INT);
strcpy(tp, prefix);
strcat(tp, "6u |");
printf(tp, UNS);
printf("\n");
}
}
}
}
printf("%10s\n", (char *) NULL);
printf("%-10s\n", (char *) NULL);
}
int
main (int argc, char *argv[])
{
static char shortstr[] = "Hi, Z.";
static char longstr[] = "Good morning, Doctor Chandra. This is Hal. \
I am ready for my first lesson today.";
fmtchk("%.4x");
fmtchk("%04x");
fmtchk("%4.4x");
fmtchk("%04.4x");
fmtchk("%4.3x");
fmtchk("%04.3x");
fmtst1chk("%.*x");
fmtst1chk("%0*x");
fmtst2chk("%*.*x");
fmtst2chk("%0*.*x");
#ifndef BSD
printf("bad format:\t\"%b\"\n");
printf("nil pointer (padded):\t\"%10p\"\n", (void *) NULL);
#endif
printf("decimal negative:\t\"%d\"\n", -2345);
printf("octal negative:\t\"%o\"\n", -2345);
printf("hex negative:\t\"%x\"\n", -2345);
printf("long decimal number:\t\"%ld\"\n", -123456L);
printf("long octal negative:\t\"%lo\"\n", -2345L);
printf("long unsigned decimal number:\t\"%lu\"\n", -123456L);
printf("zero-padded LDN:\t\"%010ld\"\n", -123456L);
printf("left-adjusted ZLDN:\t\"%-010ld\"\n", -123456);
printf("space-padded LDN:\t\"%10ld\"\n", -123456L);
printf("left-adjusted SLDN:\t\"%-10ld\"\n", -123456L);
printf("zero-padded string:\t\"%010s\"\n", shortstr);
printf("left-adjusted Z string:\t\"%-010s\"\n", shortstr);
printf("space-padded string:\t\"%10s\"\n", shortstr);
printf("left-adjusted S string:\t\"%-10s\"\n", shortstr);
printf("null string:\t\"%s\"\n", (char *)NULL);
printf("limited string:\t\"%.22s\"\n", longstr);
printf("e-style >= 1:\t\"%e\"\n", 12.34);
printf("e-style >= .1:\t\"%e\"\n", 0.1234);
printf("e-style < .1:\t\"%e\"\n", 0.001234);
printf("e-style big:\t\"%.60e\"\n", 1e20);
printf ("e-style == .1:\t\"%e\"\n", 0.1);
printf("f-style >= 1:\t\"%f\"\n", 12.34);
printf("f-style >= .1:\t\"%f\"\n", 0.1234);
printf("f-style < .1:\t\"%f\"\n", 0.001234);
printf("g-style >= 1:\t\"%g\"\n", 12.34);
printf("g-style >= .1:\t\"%g\"\n", 0.1234);
printf("g-style < .1:\t\"%g\"\n", 0.001234);
printf("g-style big:\t\"%.60g\"\n", 1e20);
printf (" %6.5f\n", .099999999860301614);
printf (" %6.5f\n", .1);
printf ("x%5.4fx\n", .5);
printf ("%#03x\n", 1);
{
double d = FLT_MIN;
int niter = 17;
while (niter-- != 0)
printf ("%.17e\n", d / 2);
fflush (stdout);
}
printf ("%15.5e\n", 4.9406564584124654e-324);
#define FORMAT "|%12.4f|%12.4e|%12.4g|\n"
printf (FORMAT, 0.0, 0.0, 0.0);
printf (FORMAT, 1.0, 1.0, 1.0);
printf (FORMAT, -1.0, -1.0, -1.0);
printf (FORMAT, 100.0, 100.0, 100.0);
printf (FORMAT, 1000.0, 1000.0, 1000.0);
printf (FORMAT, 10000.0, 10000.0, 10000.0);
printf (FORMAT, 12345.0, 12345.0, 12345.0);
printf (FORMAT, 100000.0, 100000.0, 100000.0);
printf (FORMAT, 123456.0, 123456.0, 123456.0);
#undef FORMAT
{
char buf[20];
printf ("sprintf (\"%%30s\", \"foo\") == %d, \"%.*s\"\n",
sprintf (buf, "%30s", "foo"), sizeof (buf), buf);
}
fp_test ();
printf ("%e should be 1.234568e+06\n", 1234567.8);
printf ("%f should be 1234567.800000\n", 1234567.8);
printf ("%g should be 1.23457e+06\n", 1234567.8);
printf ("%g should be 123.456\n", 123.456);
printf ("%g should be 1e+06\n", 1000000.0);
printf ("%g should be 10\n", 10.0);
printf ("%g should be 0.02\n", 0.02);
{
double x=1.0;
printf("%.17f\n",(1.0/x/10.0+1.0)*x-x);
}
puts ("--- Should be no further output. ---");
rfg1 ();
rfg2 ();
{
char buf[200];
int result;
sprintf(buf,"%*s%*s%*s",-1,"one",-20,"two",-30,"three");
result = strcmp (buf,
"onetwo three ");
puts (result != 0 ? "Test failed!" : "Test ok.");
return result != 0;
}
}
void
rfg1 (void)
{
char buf[100];
sprintf (buf, "%5.s", "xyz");
if (strcmp (buf, " ") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " ");
sprintf (buf, "%5.f", 33.3);
if (strcmp (buf, " 33") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 33");
sprintf (buf, "%8.e", 33.3e7);
if (strcmp (buf, " 3e+08") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 3e+08");
sprintf (buf, "%8.E", 33.3e7);
if (strcmp (buf, " 3E+08") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 3E+08");
sprintf (buf, "%.g", 33.3);
if (strcmp (buf, "3e+01") != 0)
printf ("got: '%s', expected: '%s'\n", buf, "3e+01");
sprintf (buf, "%.G", 33.3);
if (strcmp (buf, "3E+01") != 0)
printf ("got: '%s', expected: '%s'\n", buf, "3E+01");
}
void
rfg2 (void)
{
int prec;
char buf[100];
prec = 0;
sprintf (buf, "%.*g", prec, 3.3);
if (strcmp (buf, "3") != 0)
printf ("got: '%s', expected: '%s'\n", buf, "3");
prec = 0;
sprintf (buf, "%.*G", prec, 3.3);
if (strcmp (buf, "3") != 0)
printf ("got: '%s', expected: '%s'\n", buf, "3");
prec = 0;
sprintf (buf, "%7.*G", prec, 3.33);
if (strcmp (buf, " 3") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 3");
prec = 3;
sprintf (buf, "%04.*o", prec, 33);
if (strcmp (buf, " 041") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 041");
prec = 7;
sprintf (buf, "%09.*u", prec, 33);
if (strcmp (buf, " 0000033") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 0000033");
prec = 3;
sprintf (buf, "%04.*x", prec, 33);
if (strcmp (buf, " 021") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 021");
prec = 3;
sprintf (buf, "%04.*X", prec, 33);
if (strcmp (buf, " 021") != 0)
printf ("got: '%s', expected: '%s'\n", buf, " 021");
}

View File

@@ -1,56 +0,0 @@
#include <stdio.h>
int
t1 (void)
{
int n = -1;
sscanf ("abc ", "abc %n", &n);
printf ("t1: count=%d\n", n);
return n != 5;
}
int
t2 (void)
{
int result = 0;
int n;
long N;
int retval;
#define SCAN(INPUT, FORMAT, VAR, EXP_RES, EXP_VAL) \
VAR = -1; \
retval = sscanf (INPUT, FORMAT, &VAR); \
printf ("sscanf (\"%s\", \"%s\", &x) => %d, x = %ld\n", \
INPUT, FORMAT, retval, (long int) VAR); \
result |= retval != EXP_RES || VAR != EXP_VAL
SCAN ("12345", "%ld", N, 1, 12345);
SCAN ("12345", "%llllld", N, 0, -1);
SCAN ("12345", "%LLLLLd", N, 0, -1);
SCAN ("test ", "%*s%n", n, 0, 4);
SCAN ("test ", "%2*s%n", n, 0, -1);
SCAN ("12 ", "%l2d", n, 0, -1);
SCAN ("12 ", "%2ld", N, 1, 12);
n = -1;
N = -1;
retval = sscanf ("1 1", "%d %Z", &n, &N);
printf ("sscanf (\"1 1\", \"%%d %%Z\", &n, &N) => %d, n = %d, N = %ld\n", \
retval, n, N); \
result |= retval != 1 || n != 1 || N != -1;
return result;
}
int
main (int argc, char *argv[])
{
int result = 0;
result |= t1 ();
result |= t2 ();
result |= fflush (stdout) == EOF;
return result;
}

View File

@@ -1,102 +0,0 @@
/*
* Simple program to display the Windows System Metrics.
*
* This source code is in the PUBLIC DOMAIN and has NO WARRANTY.
*
* Robert Dickenson <robd@reactos.org>, July 11, 2002.
*/
#include <stdio.h>
#include <windows.h>
int PASCAL WinMain (HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
{
fprintf(stderr,"Windows System Metric:\t Value\n");
fprintf(stderr," SM_ARRANGE:\t\t %d\n", GetSystemMetrics(SM_ARRANGE));
fprintf(stderr," SM_CLEANBOOT:\t %d\n", GetSystemMetrics(SM_CLEANBOOT));
// fprintf(stderr," SM_CMONITORS:\t %d\n", GetSystemMetrics(SM_CMONITORS));
fprintf(stderr," SM_CMOUSEBUTTONS:\t %d\n", GetSystemMetrics(SM_CMOUSEBUTTONS));
fprintf(stderr," SM_CXBORDER:\t %d\n", GetSystemMetrics(SM_CXBORDER));
fprintf(stderr," SM_CYBORDER:\t %d\n", GetSystemMetrics(SM_CYBORDER));
fprintf(stderr," SM_CXCURSOR:\t %d\n", GetSystemMetrics(SM_CXCURSOR));
fprintf(stderr," SM_CYCURSOR:\t %d\n", GetSystemMetrics(SM_CYCURSOR));
fprintf(stderr," SM_CXDLGFRAME:\t %d\n", GetSystemMetrics(SM_CXDLGFRAME));
fprintf(stderr," SM_CYDLGFRAME:\t %d\n", GetSystemMetrics(SM_CYDLGFRAME));
fprintf(stderr," SM_CXDOUBLECLK:\t %d\n", GetSystemMetrics(SM_CXDOUBLECLK));
fprintf(stderr," SM_CYDOUBLECLK:\t %d\n", GetSystemMetrics(SM_CYDOUBLECLK));
fprintf(stderr," SM_CXDRAG:\t\t %d\n", GetSystemMetrics(SM_CXDRAG));
fprintf(stderr," SM_CYDRAG:\t\t %d\n", GetSystemMetrics(SM_CYDRAG));
fprintf(stderr," SM_CXEDGE:\t\t %d\n", GetSystemMetrics(SM_CXEDGE));
fprintf(stderr," SM_CYEDGE:\t\t %d\n", GetSystemMetrics(SM_CYEDGE));
fprintf(stderr," SM_CXFIXEDFRAME:\t %d\n", GetSystemMetrics(SM_CXFIXEDFRAME));
fprintf(stderr," SM_CYFIXEDFRAME:\t %d\n", GetSystemMetrics(SM_CYFIXEDFRAME));
fprintf(stderr," SM_CXFRAME:\t\t %d\n", GetSystemMetrics(SM_CXFRAME));
fprintf(stderr," SM_CYFRAME:\t\t %d\n", GetSystemMetrics(SM_CYFRAME));
fprintf(stderr," SM_CXFULLSCREEN:\t %d\n", GetSystemMetrics(SM_CXFULLSCREEN));
fprintf(stderr," SM_CYFULLSCREEN:\t %d\n", GetSystemMetrics(SM_CYFULLSCREEN));
fprintf(stderr," SM_CXHSCROLL:\t %d\n", GetSystemMetrics(SM_CXHSCROLL));
fprintf(stderr," SM_CYHSCROLL:\t %d\n", GetSystemMetrics(SM_CYHSCROLL));
fprintf(stderr," SM_CXHTHUMB:\t %d\n", GetSystemMetrics(SM_CXHTHUMB));
fprintf(stderr," SM_CXICON:\t\t %d\n", GetSystemMetrics(SM_CXICON));
fprintf(stderr," SM_CYICON:\t\t %d\n", GetSystemMetrics(SM_CYICON));
fprintf(stderr," SM_CXICONSPACING:\t %d\n", GetSystemMetrics(SM_CXICONSPACING));
fprintf(stderr," SM_CYICONSPACING:\t %d\n", GetSystemMetrics(SM_CYICONSPACING));
fprintf(stderr," SM_CXMAXIMIZED:\t %d\n", GetSystemMetrics(SM_CXMAXIMIZED));
fprintf(stderr," SM_CYMAXIMIZED:\t %d\n", GetSystemMetrics(SM_CYMAXIMIZED));
fprintf(stderr," SM_CXMAXTRACK:\t %d\n", GetSystemMetrics(SM_CXMAXTRACK));
fprintf(stderr," SM_CYMAXTRACK:\t %d\n", GetSystemMetrics(SM_CYMAXTRACK));
fprintf(stderr," SM_CXMENUCHECK:\t %d\n", GetSystemMetrics(SM_CXMENUCHECK));
fprintf(stderr," SM_CYMENUCHECK:\t %d\n", GetSystemMetrics(SM_CYMENUCHECK));
fprintf(stderr," SM_CXMENUSIZE:\t %d\n", GetSystemMetrics(SM_CXMENUSIZE));
fprintf(stderr," SM_CYMENUSIZE:\t %d\n", GetSystemMetrics(SM_CYMENUSIZE));
fprintf(stderr," SM_CXMIN:\t\t %d\n", GetSystemMetrics(SM_CXMIN));
fprintf(stderr," SM_CYMIN:\t\t %d\n", GetSystemMetrics(SM_CYMIN));
fprintf(stderr," SM_CXMINIMIZED:\t %d\n", GetSystemMetrics(SM_CXMINIMIZED));
fprintf(stderr," SM_CYMINIMIZED:\t %d\n", GetSystemMetrics(SM_CYMINIMIZED));
fprintf(stderr," SM_CXMINSPACING:\t %d\n", GetSystemMetrics(SM_CXMINSPACING));
fprintf(stderr," SM_CYMINSPACING:\t %d\n", GetSystemMetrics(SM_CYMINSPACING));
fprintf(stderr," SM_CXMINTRACK:\t %d\n", GetSystemMetrics(SM_CXMINTRACK));
fprintf(stderr," SM_CYMINTRACK:\t %d\n", GetSystemMetrics(SM_CYMINTRACK));
fprintf(stderr," SM_CXSCREEN:\t %d\n", GetSystemMetrics(SM_CXSCREEN));
fprintf(stderr," SM_CYSCREEN:\t %d\n", GetSystemMetrics(SM_CYSCREEN));
fprintf(stderr," SM_CXSIZE:\t\t %d\n", GetSystemMetrics(SM_CXSIZE));
fprintf(stderr," SM_CYSIZE:\t\t %d\n", GetSystemMetrics(SM_CYSIZE));
fprintf(stderr," SM_CXSIZEFRAME:\t %d\n", GetSystemMetrics(SM_CXSIZEFRAME));
fprintf(stderr," SM_CYSIZEFRAME:\t %d\n", GetSystemMetrics(SM_CYSIZEFRAME));
fprintf(stderr," SM_CXSMICON:\t %d\n", GetSystemMetrics(SM_CXSMICON));
fprintf(stderr," SM_CYSMICON:\t %d\n", GetSystemMetrics(SM_CYSMICON));
fprintf(stderr," SM_CXSMSIZE:\t %d\n", GetSystemMetrics(SM_CXSMSIZE));
fprintf(stderr," SM_CYSMSIZE:\t %d\n", GetSystemMetrics(SM_CYSMSIZE));
// fprintf(stderr," SM_CXVIRTUALSCREEN:\t %d\n", GetSystemMetrics(SM_CXVIRTUALSCREEN));
// fprintf(stderr," SM_CYVIRTUALSCREEN:\t %d\n", GetSystemMetrics(SM_CYVIRTUALSCREEN));
fprintf(stderr," SM_CXVSCROLL:\t %d\n", GetSystemMetrics(SM_CXVSCROLL));
fprintf(stderr," SM_CYVSCROLL:\t %d\n", GetSystemMetrics(SM_CYVSCROLL));
fprintf(stderr," SM_CYCAPTION:\t %d\n", GetSystemMetrics(SM_CYCAPTION));
fprintf(stderr," SM_CYKANJIWINDOW:\t %d\n", GetSystemMetrics(SM_CYKANJIWINDOW));
fprintf(stderr," SM_CYMENU:\t\t %d\n", GetSystemMetrics(SM_CYMENU));
fprintf(stderr," SM_CYSMCAPTION:\t %d\n", GetSystemMetrics(SM_CYSMCAPTION));
fprintf(stderr," SM_CYVTHUMB:\t %d\n", GetSystemMetrics(SM_CYVTHUMB));
fprintf(stderr," SM_DBCSENABLED:\t %d\n", GetSystemMetrics(SM_DBCSENABLED));
fprintf(stderr," SM_DEBUG:\t\t %d\n", GetSystemMetrics(SM_DEBUG));
// fprintf(stderr," SM_IMMENABLED:\t %d\n", GetSystemMetrics(SM_IMMENABLED));
fprintf(stderr," SM_MENUDROPALIGNMENT: %d\n", GetSystemMetrics(SM_MENUDROPALIGNMENT));
fprintf(stderr," SM_MIDEASTENABLED:\t %d\n", GetSystemMetrics(SM_MIDEASTENABLED));
fprintf(stderr," SM_MOUSEPRESENT:\t %d\n", GetSystemMetrics(SM_MOUSEPRESENT));
#ifndef _MSC_VER
fprintf(stderr," SM_MOUSEWHEELPRESENT: %d\n", GetSystemMetrics(SM_MOUSEWHEELPRESENT));
#endif
fprintf(stderr," SM_NETWORK:\t\t %d\n", GetSystemMetrics(SM_NETWORK));
fprintf(stderr," SM_PENWINDOWS:\t %d\n", GetSystemMetrics(SM_PENWINDOWS));
// fprintf(stderr," SM_REMOTESESSION:\t %d\n", GetSystemMetrics(SM_REMOTESESSION));
fprintf(stderr," SM_SECURE:\t\t %d\n", GetSystemMetrics(SM_SECURE));
// fprintf(stderr," SM_SAMEDISPLAYFORMAT: %d\n", GetSystemMetrics(SM_SAMEDISPLAYFORMAT));
fprintf(stderr," SM_SHOWSOUNDS:\t %d\n", GetSystemMetrics(SM_SHOWSOUNDS));
fprintf(stderr," SM_SLOWMACHINE:\t %d\n", GetSystemMetrics(SM_SLOWMACHINE));
fprintf(stderr," SM_SWAPBUTTON:\t %d\n", GetSystemMetrics(SM_SWAPBUTTON));
// fprintf(stderr," SM_XVIRTUALSCREEN: %d\n", GetSystemMetrics(SM_XVIRTUALSCREEN));
// fprintf(stderr," SM_YVIRTUALSCREEN: %d\n", GetSystemMetrics(SM_YVIRTUALSCREEN));
return 0;
}

View File

@@ -1,20 +0,0 @@
PATH_TO_TOP = ../../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = GetSysMetrics
TARGET_SDKLIBS = user32.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

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