Compare commits

...

4996 Commits

Author SHA1 Message Date
Alex Ionescu
e341e1728e Actual merge, sorry for the false alert. Merges with 13937.
svn path=/branches/alex_devel_branch/; revision=13942
2005-03-11 23:56:02 +00:00
Alex Ionescu
e8265f6b9f Final merge with 13934
svn path=/branches/alex_devel_branch/; revision=13939
2005-03-11 23:09:59 +00:00
Aleksey Bragin
76c165b428 Andrey Korotaev (unC0Rr): Added russian translations for control, appwiz and timedate.
svn path=/trunk/; revision=13936
2005-03-11 21:07:55 +00:00
Hervé Poussineau
7699eb9d3b Add semi-implementation of AttachDeviceToDeviceStackSafe
svn path=/trunk/; revision=13935
2005-03-11 18:46:44 +00:00
Filip Navara
ec996ca887 tinus <o112w8r02@sneakemail.com>
Add a Initialized member to TEXTOBJ so it isn't reinitialized all the time.

svn path=/trunk/; revision=13934
2005-03-11 18:34:44 +00:00
Filip Navara
c350cae866 tinus <o112w8r02@sneakemail.com>
Don't allocate 0 bytes of memory for no color map.

svn path=/trunk/; revision=13933
2005-03-11 18:17:29 +00:00
Filip Navara
fc556dfcc1 Check BinUtils and GCC version.
svn path=/trunk/; revision=13932
2005-03-11 17:33:12 +00:00
Gé van Geldorp
2c7442af29 Thomas Larsen <sikker2004@yahoo.com>
- Added Danish language

svn path=/trunk/; revision=13930
2005-03-11 08:53:28 +00:00
Gé van Geldorp
00975016b1 Thomas Larsen <sikker2004@yahoo.com>
- Added Danish language
- Corrected English Ressource for missing Title
- Split The Res Files to make room for more translation to other langs

svn path=/trunk/; revision=13929
2005-03-11 08:50:04 +00:00
Gé van Geldorp
d514b0dc03 Thomas Larsen <sikker2004@yahoo.com>
- Added Danish language
- Move icons to language neutral resources

svn path=/trunk/; revision=13928
2005-03-11 08:43:24 +00:00
Gé van Geldorp
70385eb1e6 Thomas Larsen <sikker2004@yahoo.com>
- Added Danish language

svn path=/trunk/; revision=13927
2005-03-11 08:29:40 +00:00
Gé van Geldorp
edc2f49701 Thomas Larsen <sikker2004@yahoo.com>
- Added Danish language

svn path=/trunk/; revision=13926
2005-03-11 08:22:29 +00:00
Art Yerkes
d3c8339fa1 Uniform handling of stream socket reads.
svn path=/trunk/; revision=13922
2005-03-11 07:30:17 +00:00
Royce Mitchell III
34bc0ec777 turn on all warnings, and fix remaining warnings
svn path=/trunk/; revision=13921
2005-03-11 02:38:55 +00:00
Royce Mitchell III
7b9b41e304 fix gcc4 warnings
svn path=/trunk/; revision=13920
2005-03-11 02:37:30 +00:00
Gé van Geldorp
7dbc98c96c Pass NameLength back to caller
svn path=/trunk/; revision=13919
2005-03-10 22:59:28 +00:00
Art Yerkes
f68df768b9 Caps Lock fix suggested by Johannes Olofsson. We now xor the caps lock
attribute bit with the mod bits before turning them into a column 
number.

svn path=/trunk/; revision=13918
2005-03-10 20:54:53 +00:00
Eric Kohl
2517dde027 Implement '-o' option. This is equivalent to MIDLs '/oldnames' option.
svn path=/trunk/; revision=13916
2005-03-10 20:07:17 +00:00
Steven Edwards
33c313a6ff Change tabs to spaces.
svn path=/trunk/; revision=13910
2005-03-10 16:08:08 +00:00
Royce Mitchell III
60f02a7882 eliminate warnings, fix bug that locked up game when single-clicking a card
svn path=/trunk/; revision=13907
2005-03-10 04:58:40 +00:00
Steven Edwards
26676ade4c remove some backup files created by editplus
svn path=/trunk/; revision=13905
2005-03-10 04:05:53 +00:00
Steven Edwards
e415037205 imported catch-22 sol clone with authors permission
svn path=/trunk/; revision=13904
2005-03-10 04:04:27 +00:00
Steven Edwards
59b8be68dc added winres.h from Wine
svn path=/trunk/; revision=13903
2005-03-10 03:50:43 +00:00
Gunnar Dalsnes
67bd235566 LockFileEx: forward overlapped->hEvent to NtLockFile
LockFile: zero overlapped->hEvent

svn path=/trunk/; revision=13900
2005-03-09 22:20:41 +00:00
Thomas Bluemel
c3564dbbab 1. fixed querying tokens
2. implemented calling vectored exception handlers

svn path=/branches/alex_devel_branch/; revision=13897
2005-03-09 00:04:13 +00:00
Alex Ionescu
7461a505f8 Merge to 13895. Remove ACPI static compiler flag and used dynamic variable with detection done through Freeloader (still some work left). Add more profile code and begin tiny work on Io functions.
svn path=/branches/alex_devel_branch/; revision=13896
2005-03-08 23:33:28 +00:00
Filip Navara
8f22c7534c Fix failure case in IoConnectInterrupt. (Now really)
svn path=/trunk/; revision=13895
2005-03-08 23:15:34 +00:00
Filip Navara
b5d60675a0 Fix failure case in IoConnectInterrupt.
svn path=/trunk/; revision=13894
2005-03-08 23:10:38 +00:00
Art Yerkes
b1bfbd3389 Last fix due to w3seek. I will stop working on this stuff until I have
time to be thorough.

svn path=/trunk/; revision=13893
2005-03-08 23:07:10 +00:00
Art Yerkes
53af8e03f3 Fixes by w3seek regarding interlocked functions. These were due to my
missing a mismatch between the glib functions and windows variants.

svn path=/trunk/; revision=13892
2005-03-08 23:01:54 +00:00
Emanuele Aliberti
34d49aaa33 Refresh RC script for PSX bare sh.
svn path=/trunk/; revision=13891
2005-03-08 22:41:27 +00:00
Art Yerkes
72f40b7d14 Added PowerPC interlocked functions from glib.
svn path=/trunk/; revision=13890
2005-03-08 22:39:53 +00:00
Gé van Geldorp
1dca540f6b Use GDIINFO values instead of DEVMODE values
svn path=/trunk/; revision=13886
2005-03-08 20:23:40 +00:00
Hervé Poussineau
ac74a57d42 Minor changes to remove warnings
"memmory" -> "memory"

svn path=/trunk/; revision=13883
2005-03-08 19:19:45 +00:00
Klemens Friedl
a285c15efb appwiz.cpl:
* add language support
* english and german language files

svn path=/trunk/; revision=13882
2005-03-08 19:03:11 +00:00
Klemens Friedl
7758ecc0bf System Control Panel:
* add language support
* english and german language files

svn path=/trunk/; revision=13881
2005-03-08 19:00:44 +00:00
Klemens Friedl
0b18ff226e Slayer: german language file
svn path=/trunk/; revision=13880
2005-03-08 18:48:01 +00:00
Hervé Poussineau
2ed637d9a6 Remove warning
svn path=/trunk/; revision=13879
2005-03-08 18:25:25 +00:00
Aleksey Bragin
1adf22c4f4 27-Feb-2005 (Konstantinos Paliouras <squarious@gmail.com>)
Implemented all the switches that were missing, and made the ros dir very similar to windows dir. Major part of the code is rewritten. /p is removed, to be rewriten in the main cmd code.

svn path=/trunk/; revision=13877
2005-03-08 15:08:01 +00:00
Aleksey Bragin
2a18423084 Added error_parameter_format(), patch by Konstantinos Paliouras <squarious@gmail.com>
svn path=/trunk/; revision=13876
2005-03-08 15:02:41 +00:00
Emanuele Aliberti
3bb8964ec2 Win32 utility to bootstrap the PSX subsystem (it is an optional subsystem, therefore the SM does not bootstrap it on system startup).
svn path=/trunk/; revision=13875
2005-03-08 14:28:04 +00:00
Emanuele Aliberti
e2a3109a00 Fixed a bug in SmConnectApiPort
svn path=/trunk/; revision=13874
2005-03-08 14:26:31 +00:00
Gé van Geldorp
0537266be6 Properly fill DEVMODE
svn path=/trunk/; revision=13873
2005-03-08 11:41:56 +00:00
Gé van Geldorp
907b461720 Use IC instead of DC when possible
svn path=/trunk/; revision=13871
2005-03-07 22:25:39 +00:00
Gé van Geldorp
49bf05dfb5 Implement Information Contexts
svn path=/trunk/; revision=13870
2005-03-07 22:24:33 +00:00
Hartmut Birr
8399d9c123 Split some of the halmp files according its functions.
svn path=/trunk/; revision=13868
2005-03-07 16:40:32 +00:00
Art Yerkes
63981fc041 Changed exception format in kernel32 slightly to make the offset of the
addresses apparent.  Made a change suggested by ion, to remove the line
numbers of the lines printing the stack trace.


svn path=/trunk/; revision=13867
2005-03-07 16:37:49 +00:00
Thomas Bluemel
15539c1521 change logfont quality to FreeType mode conversion. Patch by tinus.
svn path=/trunk/; revision=13866
2005-03-07 01:40:01 +00:00
Royce Mitchell III
eaf0e227f2 correct dependency for rline target, this fixes bug #519
svn path=/trunk/; revision=13865
2005-03-07 01:26:25 +00:00
Thomas Bluemel
bdf10ff3ff detect hyper-threading, determine number of logical processors per phyiscal processor and it's apic id
svn path=/trunk/; revision=13864
2005-03-07 00:35:49 +00:00
Gunnar Dalsnes
f05c21fa3a fix nasty bug:-(
svn path=/trunk/; revision=13863
2005-03-07 00:04:21 +00:00
Eric Kohl
d95010663e Remove useless calls to ResetEvent.
svn path=/trunk/; revision=13860
2005-03-06 21:01:04 +00:00
Filip Navara
d0c2c28b81 Return AE_NO_ACPI_TABLES instead of AE_OK when the ACPI tables are messed up.
svn path=/trunk/; revision=13857
2005-03-06 18:06:17 +00:00
Filip Navara
dc2b964751 - Fix pipe connection to non-waiting pipes.
- More corrections to the cancellation logic.
- Minor correction to read/write event setting (still I'm getting infinite loops there in some cases).

svn path=/trunk/; revision=13856
2005-03-06 16:42:36 +00:00
Gunnar Dalsnes
91979c15bb add missing newline
svn path=/trunk/; revision=13855
2005-03-06 14:03:37 +00:00
Gunnar Dalsnes
c02ae1b606 IoCancelIrp didnt remove the cancel routine from the irp after canceling it
svn path=/trunk/; revision=13853
2005-03-06 13:48:04 +00:00
Gunnar Dalsnes
4369eecce7 irp cancelation boiler plate, for irp queues you manage yourself
svn path=/trunk/; revision=13852
2005-03-06 13:41:18 +00:00
Filip Navara
ca4d8c0923 Fix some cancellation race conditions.
svn path=/trunk/; revision=13851
2005-03-06 12:37:31 +00:00
Eric Kohl
fb22000d1c Support pointers to simple types as input arguments.
svn path=/trunk/; revision=13850
2005-03-06 12:36:05 +00:00
Gé van Geldorp
d2e60e66f3 Fix compilation with DBG := 1 and KDBG := 0
svn path=/trunk/; revision=13849
2005-03-06 10:44:38 +00:00
Alex Ionescu
d8e8dcbca0 Merge with 13846. Fixes QEMU+KDBG problem.
svn path=/branches/alex_devel_branch/; revision=13847
2005-03-06 05:32:54 +00:00
Gregor Anich
530931df11 Rename KDB.init to KDBinit - it was not an ISO9660 conforming name.
svn path=/trunk/; revision=13846
2005-03-06 02:34:18 +00:00
Gregor Anich
3aa3b694b0 Hopefully fix some input problems. If input does not work for you please let me know.
svn path=/trunk/; revision=13845
2005-03-06 02:06:11 +00:00
Alex Ionescu
77f9f2a33d Merge with 13841:13843. Blight's rewrite adds a bug with ENTER in qemu, waiting on his fix.
svn path=/branches/alex_devel_branch/; revision=13844
2005-03-06 00:50:48 +00:00
Gregor Anich
088d3f0612 Fix build with optimizations and one or two bugs - should have tested with optimizations before committing :-/
svn path=/trunk/; revision=13843
2005-03-06 00:20:32 +00:00
Alex Ionescu
55f889579b Merge with blight's rewrite
svn path=/branches/alex_devel_branch/; revision=13842
2005-03-05 23:58:25 +00:00
Gregor Anich
f3cea5b1a2 Little KDB update ;-) If you have any problems and/or questions let me know. I hope it was tested enough and works well enough for everybody.
svn path=/trunk/; revision=13841
2005-03-05 23:35:08 +00:00
Alex Ionescu
4d17ba7371 - Fix bootlog/debug to file problem -- Steven. 3GB now works (Thanks to Filip) but a bug remains in ntoskrnl.
- Basic beginning of Vector Exception Handling implementation -- Thomas
    - Merge with 13793:13838

svn path=/branches/alex_devel_branch/; revision=13839
2005-03-05 23:19:42 +00:00
Martin Fuchs
ef8c905431 - make new icons look a bit smarter and including a 32 bit alpha channel format
- update ROS icon in about dialog and start menu side bar


svn path=/trunk/; revision=13835
2005-03-05 22:10:01 +00:00
Martin Fuchs
fd6d2a5226 update copyright notice
svn path=/trunk/; revision=13834
2005-03-05 21:35:46 +00:00
Alex Ionescu
4a19968720 - FreeLdr Part II (ntoskrnl is now relocated, removes 3GB compiler flag). Note that there is a bug in LD which Filip and I are examining, so do not try this yet.
- Fix Registry ObRef/ObDeref bug -- Hartmut
    - Fix SID Capture Bug -- Thomas
    - Use KPRCB pointer properly (results in more portable and much faster code)

svn path=/branches/alex_devel_branch/; revision=13832
2005-03-05 20:44:57 +00:00
Martin Fuchs
c9b6889b66 case insensitive startmenu merging
svn path=/trunk/; revision=13831
2005-03-05 20:44:41 +00:00
Martin Fuchs
a0acd5386b install ibrowser.exe in system32 dir
svn path=/trunk/; revision=13829
2005-03-05 17:27:21 +00:00
Eric Kohl
8027ba84c5 Support asynchronous (aka overlapped) connect, read and write requests.
svn path=/trunk/; revision=13826
2005-03-05 12:08:50 +00:00
Eric Kohl
888cadd6ea Fix calls to ReadFile and WriteFile for asynchronous I/O.
svn path=/trunk/; revision=13825
2005-03-05 11:38:48 +00:00
Filip Navara
594c2c424b - Implement NtCancelIoFile.
- Queue the IRP to correct thread in IoQueueThreadIrp.
- Cancel I/O requests when thread is about to be terminated.
- Do not queue close requests to thread IRP list.

svn path=/trunk/; revision=13824
2005-03-05 11:27:15 +00:00
James Tabor
3d5ac6b2be Added comments about systemHandleInfo.
svn path=/trunk/; revision=13822
2005-03-05 00:21:38 +00:00
Alex Ionescu
5a6d0e7770 Add SEH to more functions, clean up some things, initialize profiling stuff (not yet enabled), and fix Registry Object re/defrecenging bug (Jim -- please retest). Thanks to Thomas for Security fixes and Iocompletion SEH + CM fix.
svn path=/branches/alex_devel_branch/; revision=13821
2005-03-04 20:56:32 +00:00
Aleksey Bragin
e2444ad438 New ReactOS icon by Mindflyer. Just give ros a fresh look :)
svn path=/trunk/; revision=13818
2005-03-04 17:26:51 +00:00
Aleksey Bragin
75d5b7d4f9 New StartMenu and ReactOS icons by Mindflyer
svn path=/trunk/; revision=13817
2005-03-04 17:24:08 +00:00
Art Yerkes
f01eb33dad Suggested by d_layer: Remove -Wconversion. I had planted these flags here
because they were used in the original makefile from before the import.
I was trying to remove the warnings in a hurry and didn't think to check.


svn path=/trunk/; revision=13816
2005-03-04 11:40:10 +00:00
Hartmut Birr
025e2010b4 Implemented 48(32)bit lba support.
svn path=/trunk/; revision=13815
2005-03-04 09:43:34 +00:00
Art Yerkes
bb41c20ca7 Recommented vprintf out. Not strictly needed but I should figure out what to
do here eventually.

svn path=/trunk/; revision=13814
2005-03-04 04:57:42 +00:00
Alex Ionescu
53fa90faf0 Fix queue item not being cleaned. Thank you Jim
svn path=/branches/alex_devel_branch/; revision=13813
2005-03-04 04:15:46 +00:00
Alex Ionescu
96541a41d0 Fix queue item not being cleaned. Thank you Jim
svn path=/branches/alex_devel_branch/; revision=13812
2005-03-04 04:10:03 +00:00
Art Yerkes
ac309256c3 Warning cleanups.
- #define log to something else that isn't a gcc intrinsic
- Move some definitions around in the bsd headers so that proper order is
  maintained between selinfo and socket and functions that take these as
  arguments.
- Miscellaneous casts.

svn path=/trunk/; revision=13811
2005-03-04 02:09:43 +00:00
Art Yerkes
8dd6c79a58 Some warning suppression. Read the <rant/>.
svn path=/trunk/; revision=13810
2005-03-04 01:47:01 +00:00
Alex Ionescu
4c05caf407 Remove kdbg profiling so that NT Native Kernel profiling can be used with it (to come before the merge), more cleanup and movning stuff around, fix building with kdbg (a bug is left with debug flag though), implement KeRemoveSystemDescriptorTable, merge with latest HEAD
svn path=/branches/alex_devel_branch/; revision=13809
2005-03-04 00:18:25 +00:00
Alex Ionescu
9f8029eb42 Move Win32K callbacks to Win32K where they belong. Registrationis done with Ps function just like on XP+. Also allows non-win32k stuff to manage their own desktops and Window stations
svn path=/branches/alex_devel_branch/; revision=13806
2005-03-03 06:18:18 +00:00
Alex Ionescu
1a8d3f0b5c Fix bug with registry loading on bootcd (Thanks Steven). Properly implement Profile Objects with Ex/Ke architecture (structures are a guess, and code is based on dwelch and some simple testing/common sense, but not ready for primetime (NT doesnt even use theirs). Optimize Device Queues a bit and use the inserted field properly.
svn path=/branches/alex_devel_branch/; revision=13805
2005-03-03 03:57:59 +00:00
Royce Mitchell III
e3fe1f6006 fix spelling mistakes
svn path=/trunk/; revision=13804
2005-03-03 02:46:43 +00:00
Filip Navara
113ecdfc88 Fix W->A conversions in EnumDisplaySettingsExA. This is dedicated to Caroline!
svn path=/trunk/; revision=13802
2005-03-02 22:29:11 +00:00
Emanuele Aliberti
e5948313f6 Mispelled word and wrong past tense in a comment.
svn path=/trunk/; revision=13801
2005-03-02 22:17:34 +00:00
Emanuele Aliberti
5bef1d9303 Kmode subsystem no more hardwired.
svn path=/trunk/; revision=13800
2005-03-02 22:09:53 +00:00
Alex Ionescu
31bc805285 Make this header shared internally.
svn path=/branches/alex_devel_branch/; revision=13799
2005-03-02 21:54:58 +00:00
Alex Ionescu
9472476bff Make ASSERTs bugcheck properly. Thanks Steven
svn path=/branches/alex_devel_branch/; revision=13798
2005-03-02 21:54:28 +00:00
Hartmut Birr
2078ec7054 Fixed smp boot.
svn path=/trunk/; revision=13796
2005-03-02 20:35:18 +00:00
James Tabor
c8e6164e8c Clean up.
svn path=/trunk/; revision=13795
2005-03-02 07:11:26 +00:00
Alex Ionescu
3094c6b3d4 Random fixes
svn path=/branches/alex_devel_branch/; revision=13794
2005-03-02 03:09:37 +00:00
Alex Ionescu
59ddacc24b Fix bugcheck code and make debugging easier for unhandled exceptions/spinlocks. fixg a race condition with tab+b, fix irql to be high_level, fix calling unsafe function by caching bugcode data, fix support for smp by using IPI, fix not-breakpointing when no debugger is there, implement KeBugCheck callbacks with Reason, fix callbacks not being called, fix proper breakpoint during bugcheck, fix errenous assert, merge with 13774.
svn path=/branches/alex_devel_branch/; revision=13793
2005-03-02 02:55:16 +00:00
Emanuele Aliberti
6bcdd89778 Fix SM\Subsystems\Required and SM\Subsystems\Optional.
svn path=/trunk/; revision=13792
2005-03-01 22:56:51 +00:00
Gunnar Dalsnes
f1a3bf3cef tcharize a couple of routines
svn path=/trunk/; revision=13791
2005-03-01 22:22:56 +00:00
Gunnar Dalsnes
926067bd87 init. work on a notify-directory impl.
svn path=/trunk/; revision=13790
2005-03-01 22:13:40 +00:00
Gunnar Dalsnes
2093306969 remove local EOF define
svn path=/trunk/; revision=13789
2005-03-01 13:53:32 +00:00
James Tabor
d81708951e Dereference process object.
svn path=/trunk/; revision=13788
2005-03-01 06:34:16 +00:00
James Tabor
95957e5826 Partial implementation of SystemHandleInformation and ObpGetNextHandleByProcessCount (Name will change very soon). Fix GetHandleCountByHandleTable return real number of open handles.
svn path=/trunk/; revision=13787
2005-03-01 02:32:09 +00:00
Alex Ionescu
6f0e1ef75b My kernel fixes, new apis, reformatting, commenting, documenting, reorganizing, bug fixing, optimizing patch. More detailed changelog at www.relsoft.net/changelog. Passes all regression tests and installs/runs Abiword. Will be updated along the week and merged later.
svn path=/branches/alex_devel_branch/; revision=13786
2005-02-28 22:03:10 +00:00
Emanuele Aliberti
643b34465c Fix FsRtlNotifyInitializeSync signature.
svn path=/trunk/; revision=13785
2005-02-28 21:59:47 +00:00
Gregor Anich
56a2f29715 Patch by tinus: clean up long lines of = outputted by freeldr build.
svn path=/trunk/; revision=13784
2005-02-28 21:10:39 +00:00
Klemens Friedl
fbafe04bf2 fix spelling mistake
svn path=/trunk/; revision=13783
2005-02-28 21:07:30 +00:00
Gunnar Dalsnes
799674bef8 init. work on a notify-directory impl.
svn path=/trunk/; revision=13782
2005-02-28 21:00:59 +00:00
Hartmut Birr
e508120441 Fixed german resource script for desk.cpl.
svn path=/trunk/; revision=13781
2005-02-28 20:43:23 +00:00
Steven Edwards
90ca24a29a and remove regedt32 from the install CD
svn path=/trunk/; revision=13780
2005-02-28 19:46:39 +00:00
Steven Edwards
7faea85017 disable buggy German resource script for desk.cpl. Remove regedt32 as even Microsoft sees having two registry editors is pointless.
svn path=/trunk/; revision=13779
2005-02-28 19:45:54 +00:00
Alex Ionescu
c413e47865 testing...
svn path=/branches/alex_devel_branch/; revision=13778
2005-02-28 18:16:48 +00:00
Alex Ionescu
db4c78ea86 Reverting to 13775. Sorry for the mess. This is dedicated to Jane! 19934415.
svn path=/trunk/; revision=13777
2005-02-28 17:40:15 +00:00
Alex Ionescu
ecfad8ec74 Test commit. Not official branch release -- it will follow shortly in 15 minutes. If this ends up in HEAD i will revert immediately (i have svn switched so it shouldn't)
svn path=/trunk/; revision=13776
2005-02-28 16:44:38 +00:00
Thomas Bluemel
24fd581490 German translation fixes by Rouven Wessling
svn path=/trunk/; revision=13775
2005-02-28 14:38:02 +00:00
Alex Ionescu
bc694ae803 Finally a bootable version
svn path=/branches/alex_devel_branch/; revision=13774
2005-02-28 04:43:30 +00:00
Art Yerkes
2df169cd4a First shot at some primitives for powerpc. Untested yet.
svn path=/trunk/; revision=13773
2005-02-28 00:26:28 +00:00
Steven Edwards
219b034127 merge in Winehq changes to reduce noise
svn path=/trunk/; revision=13772
2005-02-27 22:55:54 +00:00
Klemens Friedl
8619cecdb3 Add support for explorer to load the desk.cpl when right clicking on background.
svn path=/trunk/; revision=13771
2005-02-27 21:40:32 +00:00
Klemens Friedl
a923f5285c update files (rundll32 moved)
svn path=/trunk/; revision=13770
2005-02-27 21:31:07 +00:00
Klemens Friedl
0de2f0e2ca move rundll32
svn path=/trunk/; revision=13769
2005-02-27 21:22:04 +00:00
James Tabor
ab1066da6a Check for removable media and Partition length is 0, for DiskClassCheckReadWrite.
svn path=/trunk/; revision=13768
2005-02-27 21:17:24 +00:00
Hartmut Birr
2e93c2f4d9 Do only signal the other side of the pipe if the pipe is connected.
svn path=/trunk/; revision=13767
2005-02-27 20:38:36 +00:00
Royce Mitchell III
4674211527 small efficiency fix
svn path=/trunk/; revision=13766
2005-02-27 17:03:00 +00:00
Eric Kohl
ccabddbffd ConnectNamedPipe must return TRUE if lpOverlapped is not NULL and NtFsIoControl returns STATUS_PENDING.
svn path=/trunk/; revision=13765
2005-02-27 15:46:46 +00:00
Filip Navara
2229c3b1f4 Use unadjusted rect (the one calculated before sending WM_SIZING) for sizing calculations while resizing windows.
svn path=/trunk/; revision=13764
2005-02-27 14:55:01 +00:00
Eric Kohl
2f494319c3 - Data is now written to the readers data buffer and the reader reads from his own data buffer. This fixes Filip's wrokaround to enable the reader to read data although the writers side was closed.
- Minor cleanup.

svn path=/trunk/; revision=13763
2005-02-27 12:43:37 +00:00
Emanuele Aliberti
b6701ec6f9 SM some simple work (wip)
svn path=/trunk/; revision=13762
2005-02-26 23:22:48 +00:00
Emanuele Aliberti
0cd607f519 CSR: Wrong event and wrong place for mu.
svn path=/trunk/; revision=13761
2005-02-26 23:21:58 +00:00
Emanuele Aliberti
57b7d1bf18 sm namespace macros
svn path=/trunk/; revision=13760
2005-02-26 23:19:56 +00:00
Emanuele Aliberti
d080afd5a6 DbgPrint calls DbgPrintEx
(which runs the code previously belonging to DbgPrint).

svn path=/trunk/; revision=13759
2005-02-26 23:18:27 +00:00
Eric Kohl
ab419177d6 - Server stubs are void functions.
- Fix a warning in the server stub descriptor.

svn path=/trunk/; revision=13752
2005-02-26 15:54:27 +00:00
Emanuele Aliberti
22e4fff2f1 Multiuser Win32: empty server dll
svn path=/trunk/; revision=13751
2005-02-26 15:17:54 +00:00
Emanuele Aliberti
825a47e3ad CSR pre-init cleanup
svn path=/trunk/; revision=13748
2005-02-26 15:06:19 +00:00
Casper Hornstrup
01e577bd0d Move to media directory
svn path=/trunk/; revision=13747
2005-02-25 21:22:05 +00:00
Klemens Friedl
bc40692e0a Create rosmedia subfolder (artworks, themes, ...)
svn path=/trunk/; revision=13745
2005-02-25 20:53:00 +00:00
Aleksey Bragin
d531c3bb21 Updated linux wrapper to contain more funcs (to allow UHCI in the future), also wait added into hub thread, so it *should* take much fewer cpu time then it was taking before (though I haven't tested it at all - will do later). Added dependency tracking to makefiles.
svn path=/trunk/; revision=13741
2005-02-25 15:05:51 +00:00
Eric Kohl
83c3f7b4ef - Support multiple interfaces per idl file.
- Support explicit binding handles.

svn path=/trunk/; revision=13740
2005-02-25 12:20:36 +00:00
Art Yerkes
7732bb216d Reads are allowed on connecting sockets. They act like normal reads
with no data available.

svn path=/trunk/; revision=13739
2005-02-25 05:28:54 +00:00
Art Yerkes
333c14350e Set nonblocking on all sockets initially.
Zero flags and other junk in the ea buffer when creating a new socket.
More correct error return function (check both Errno and ReturnedBytes ptrs).

svn path=/trunk/; revision=13738
2005-02-25 05:27:43 +00:00
Art Yerkes
9127a1ca9d Noticed that I had not used the right status for EOF when consolidating
some code.  Added a flag that governs whether we are after or at EOF.

svn path=/trunk/; revision=13737
2005-02-25 03:02:45 +00:00
Emanuele Aliberti
cea1f1e0a6 Added some init code for the embedded DBGSS.
svn path=/trunk/; revision=13736
2005-02-24 22:20:43 +00:00
Hervé Poussineau
0218879b00 Silent debug messages
svn path=/trunk/; revision=13735
2005-02-24 21:28:49 +00:00
Hervé Poussineau
60cb1041df Fix various warnings
svn path=/trunk/; revision=13734
2005-02-24 20:47:07 +00:00
Eric Kohl
a6d6b56960 Support remaining basic types (float, double, small, wchar_t and handle_t).
svn path=/trunk/; revision=13733
2005-02-24 16:48:16 +00:00
Art Yerkes
b0588e3ebf Fixed more socket close problems. You could get through TCPClose, unlock
the socket, have somebody else service and even, and unlink the connection
object at the same time.  Now we hold the TCP lock while removing a connection.

svn path=/trunk/; revision=13732
2005-02-24 08:51:18 +00:00
Emanuele Aliberti
31907da958 Minor changes and documentation.
svn path=/trunk/; revision=13731
2005-02-23 23:37:06 +00:00
Casper Hornstrup
b5c75a66cb Add resources
svn path=/trunk/; revision=13730
2005-02-23 22:03:02 +00:00
Klemens Friedl
d5ec45d101 German language file (minor update)
svn path=/trunk/; revision=13729
2005-02-23 18:45:46 +00:00
Hartmut Birr
3d2a023ce8 Used HasTerminated as bitmap for flags to make difference between calling PsTerminateCurrentThread and delivering an apc which calls PsTerminateCurrentThread.
svn path=/trunk/; revision=13728
2005-02-23 18:43:25 +00:00
Klemens Friedl
6e837055bc German language support added
svn path=/trunk/; revision=13727
2005-02-23 18:40:51 +00:00
Klemens Friedl
429b485443 Change icons: speaker
svn path=/trunk/; revision=13726
2005-02-23 18:36:04 +00:00
Eric Kohl
593c579794 WIDL: Support basic type function arguments.
svn path=/trunk/; revision=13725
2005-02-23 13:15:40 +00:00
Thomas Bluemel
23bfc70050 added msacm32.dll to the bootcd
svn path=/trunk/; revision=13724
2005-02-23 10:37:46 +00:00
Thomas Bluemel
d60f4e5131 added more irql checks
svn path=/trunk/; revision=13723
2005-02-23 09:56:36 +00:00
Gé van Geldorp
1d8b8598af tinus <o112w8r02@sneakemail.com>
Cleanup the timers after sending WM_NCDESTROY

svn path=/trunk/; revision=13722
2005-02-23 08:16:19 +00:00
Gé van Geldorp
53f1824b0e tinus <o112w8r02@sneakemail.com>
Fix the caret timer warnings
Don't kill the timer unless we added it.

svn path=/trunk/; revision=13721
2005-02-23 08:14:48 +00:00
Thomas Bluemel
756ab632ca added more irql checks
svn path=/trunk/; revision=13720
2005-02-22 22:19:14 +00:00
Eric Kohl
2c2b8c9796 Remove accidentially committed changes.
svn path=/trunk/; revision=13719
2005-02-22 22:08:04 +00:00
Thomas Bluemel
310c7ac816 added more irql checks and secured access to buffers in symbolic link code
svn path=/trunk/; revision=13718
2005-02-22 21:09:54 +00:00
Thomas Bluemel
87428f5f55 German translation of winecalc by Rouven Wessling
svn path=/trunk/; revision=13717
2005-02-22 20:08:06 +00:00
Gé van Geldorp
ee72d4c019 Remove bison/flex dependency
svn path=/trunk/; revision=13716
2005-02-22 19:59:12 +00:00
Magnus Olsen
d041e45119 Fix a small bug I did found in no gdi hook code
for SysMouseAImpl_GetDeviceData
no buffer implenet yet

svn path=/trunk/; revision=13715
2005-02-22 19:26:40 +00:00
Thomas Bluemel
f871df2c56 added more irql checks
svn path=/trunk/; revision=13714
2005-02-22 19:25:17 +00:00
Thomas Bluemel
fee36b29eb German translation by Rouven Wessling
svn path=/trunk/; revision=13713
2005-02-22 18:17:16 +00:00
Thomas Bluemel
ea5929db62 1. added irql checks to various rtl and security functions
2. RtlGetVersion needs to be implemented differently in ntoskrnl and ntdll, ntoskrnl's version must not access the PEB (which might not be present) while ntdlls gets most information from the PEB structure
3. can't use spinlocks to serialize access to the security descriptor cache since it calls sd rtl functions which require to run < apc level

svn path=/trunk/; revision=13712
2005-02-22 17:58:19 +00:00
Eric Kohl
2020a93026 - Support implict_handle attribute in IDL files.
- Build mixed-mode stub files.

svn path=/trunk/; revision=13711
2005-02-22 11:46:44 +00:00
Thomas Bluemel
2ef42901b7 remove obsolete check in InterlockedPopEntrySList()
svn path=/trunk/; revision=13710
2005-02-22 09:35:59 +00:00
Thomas Bluemel
d2417ffe5a InterlockedPushEntrySList() and InterlockedPopEntrySList() shouldn't serialize access to the list with semaphores
svn path=/trunk/; revision=13709
2005-02-22 01:07:41 +00:00
Martin Fuchs
7e242c624b move public expat headers into common include folder
svn path=/trunk/; revision=13708
2005-02-21 21:40:31 +00:00
Martin Fuchs
68ab4001fa update Expat and XMLStorage files
svn path=/trunk/; revision=13707
2005-02-21 20:40:30 +00:00
Filip Navara
14db1027b7 Fix build on Linux.
svn path=/trunk/; revision=13706
2005-02-21 20:30:10 +00:00
Gé van Geldorp
9eacf9de6f Fix csrss shutdown/cleanup
svn path=/trunk/; revision=13705
2005-02-21 17:42:23 +00:00
Eric Kohl
065eb0823f Add basic support for creating client and server stub files.
svn path=/trunk/; revision=13704
2005-02-21 12:38:50 +00:00
Thomas Bluemel
b1bfb456c9 synchronized with wine to get tools build again (missing definition of RPC_FC_CVSTRUCT)
svn path=/trunk/; revision=13703
2005-02-21 11:01:32 +00:00
Eric Kohl
d80f7d2798 Build unmodified widl.
svn path=/trunk/; revision=13702
2005-02-21 09:48:09 +00:00
Thomas Bluemel
a7b3295667 implemented CmUnRegisterCallback() and CmUnRegisterCallback()
svn path=/trunk/; revision=13701
2005-02-21 02:41:16 +00:00
Thomas Bluemel
838bea2661 handle the case when ExRundownCompleted() was called before ExReleaseRundownProtectionEx()
svn path=/trunk/; revision=13700
2005-02-21 00:39:59 +00:00
Thomas Bluemel
502d8150de fixed some bugs in ExWaitForRundownProtectionRelease() and ExReleaseRundownProtectionEx()
svn path=/trunk/; revision=13699
2005-02-20 23:56:47 +00:00
Hervé Poussineau
96969f6dc7 Allow HAL choice during first stage setup
svn path=/trunk/; revision=13698
2005-02-20 22:40:30 +00:00
Filip Navara
c0cf3a6c0a I shouldn't commit at night...never!
svn path=/trunk/; revision=13697
2005-02-20 20:46:59 +00:00
Filip Navara
55344520dd Fix a stupid cut & paste error.
svn path=/trunk/; revision=13696
2005-02-20 20:41:11 +00:00
Filip Navara
6c64024a25 Add KeMemoryBarrier.
svn path=/trunk/; revision=13695
2005-02-20 20:35:59 +00:00
Steven Edwards
535d688d66 Added a Open dialog. Right now it still opens new windows
rather than opening documents in a existing ibrowser window.

svn path=/trunk/; revision=13694
2005-02-20 19:51:38 +00:00
Gé van Geldorp
16a80322bb Forgotten file
svn path=/trunk/; revision=13693
2005-02-20 19:07:24 +00:00
Alex Ionescu
0880766ff5 People keep telling me to use a branch...here goes nothing
svn path=/branches/alex_devel_branch/; revision=13692
2005-02-20 18:46:57 +00:00
Hervé Poussineau
d958d95934 Handle NULL values in IntGdiPolygon and IntRectangle
svn path=/trunk/; revision=13691
2005-02-20 18:01:03 +00:00
Hervé Poussineau
5f5e7e77d2 Handle NULL values in IntRoundRect and NtGdiEllipse
svn path=/trunk/; revision=13690
2005-02-20 17:35:50 +00:00
Emanuele Aliberti
9eb2145d0e SM_ missing updated headers
svn path=/trunk/; revision=13689
2005-02-20 16:46:10 +00:00
Emanuele Aliberti
49c033c5fa FreeType: version information
- original copyright added
- year updated

svn path=/trunk/; revision=13688
2005-02-20 16:37:58 +00:00
Filip Navara
fa7fc028cf Fix the compilation of expat.
svn path=/trunk/; revision=13687
2005-02-20 15:24:06 +00:00
Gé van Geldorp
50c2b29389 Import from Wine
svn path=/trunk/; revision=13686
2005-02-20 15:02:48 +00:00
Gé van Geldorp
6fac7dc1d1 Build unicode and wpp as host_library
svn path=/trunk/; revision=13683
2005-02-20 14:54:18 +00:00
Gé van Geldorp
b9eeb2efc0 Add host_library TARGET_TYPE
svn path=/trunk/; revision=13682
2005-02-20 14:52:47 +00:00
Gé van Geldorp
a3ee39d788 Update status
svn path=/trunk/; revision=13679
2005-02-20 11:33:58 +00:00
Gé van Geldorp
4aa97b408b Wine-20050211 vendor import
svn path=/trunk/; revision=13675
2005-02-20 11:11:20 +00:00
Gé van Geldorp
5b3bf12e75 Prepare for vendor import
svn path=/trunk/; revision=13673
2005-02-20 11:07:59 +00:00
Gé van Geldorp
d32375b57f Sync to Wine-20050211
Eric Pouech <pouech-eric@wanadoo.fr>
- rewrite MCI interfaces as Unicode interface (as it should be)
- made some winmm APIs rely on the Unicode version for the core
  implementation (instead of Ansi flavor)
Klemens Friedl <klemens_friedl@gmx.net>
Henning Gerhardt <henning.gerhardt@web.de>
- Spelling fixes.

svn path=/trunk/; revision=13671
2005-02-20 11:03:14 +00:00
Gé van Geldorp
4d728cef69 Need to W->A convert the ReactOS version string too
svn path=/trunk/; revision=13670
2005-02-20 10:48:44 +00:00
Martin Fuchs
73da0f2435 handle new expat 1.95.8 error codes
svn path=/trunk/; revision=13669
2005-02-20 10:43:00 +00:00
Martin Fuchs
f0fa701704 fix XBEL write routine
svn path=/trunk/; revision=13668
2005-02-20 10:36:35 +00:00
Martin Fuchs
c011b2f3f4 update Expat and XMLStorage files
svn path=/trunk/; revision=13667
2005-02-20 10:21:20 +00:00
Thomas Bluemel
c7a7f1b757 append the reactos string after a null-character
svn path=/trunk/; revision=13666
2005-02-20 10:21:19 +00:00
Martin Fuchs
5d24e9057f rm expat.h
svn path=/trunk/; revision=13665
2005-02-20 10:20:15 +00:00
Martin Fuchs
93fb87de71 update to Expat 2.0 pre-release
svn path=/trunk/; revision=13664
2005-02-20 10:12:49 +00:00
Mike Nordell
bd53a68ef3 Make sure to actually include symbols that are needed! Thanks to Usurp.
svn path=/trunk/; revision=13663
2005-02-20 02:32:23 +00:00
Mike Nordell
5585cc057b Used, but never set include-guard macro fixed. Thanks to Usurp.
svn path=/trunk/; revision=13662
2005-02-20 02:30:28 +00:00
Art Yerkes
a9f369b8ed Finish zeroing fields that need it.
svn path=/trunk/; revision=13661
2005-02-19 23:24:38 +00:00
Aleksey Bragin
1053eac705 Make OHCI+Core drivers really working, they are basically working now. Next thing to do is to make them working better (e.g. having a thread infinitely looping to serve irqs/other stuff isn't a good solution for multitasking OS) - add interrupt handler, spinlocks wrappers, waits etc.
svn path=/trunk/; revision=13660
2005-02-19 23:12:32 +00:00
Emanuele Aliberti
bc1516fae9 CSRSS: silenced debug messages.
svn path=/trunk/; revision=13658
2005-02-19 23:07:22 +00:00
Aleksey Bragin
e677819f8c Remove cromwell from default build for now (it can significantly slow down work without any usb devices really working)
svn path=/trunk/; revision=13657
2005-02-19 23:06:59 +00:00
Gé van Geldorp
5de6577d1f Don't use svn command line tool to get revision number
XML code stolen from the xmlbuildsystem branch, we need
to merge this when merging the xmlbuildsystem back into trunk

svn path=/trunk/; revision=13656
2005-02-19 23:05:09 +00:00
Emanuele Aliberti
915fb7c58c SM: added keys for env subsystem startup (not yet used)
svn path=/trunk/; revision=13655
2005-02-19 22:59:17 +00:00
Emanuele Aliberti
5ea38c2861 SM: subsystem registration (partial)
- merged duplicate code in process creation
- experimental implementation of env subsystem registration

svn path=/trunk/; revision=13654
2005-02-19 22:58:18 +00:00
Emanuele Aliberti
1c2c6c8582 CSRSS: register CSRSS to manage IMAGE_SUBSYSTEM_WINDOWS_CUI (experimental).
svn path=/trunk/; revision=13653
2005-02-19 22:56:59 +00:00
Gé van Geldorp
b36baad125 Import Wine Resource Compiler and use it for winedll's
svn path=/trunk/; revision=13652
2005-02-19 22:30:27 +00:00
Art Yerkes
67f6f9d307 Zero queue fields needed for accept.
svn path=/trunk/; revision=13651
2005-02-19 22:22:45 +00:00
Thomas Bluemel
dfc35c22f3 silence debug message
svn path=/trunk/; revision=13645
2005-02-19 18:12:44 +00:00
Gregor Anich
de7052f5bf One could have the impression that I am bored ;-)
svn path=/trunk/; revision=13644
2005-02-19 16:36:51 +00:00
Thomas Bluemel
879f12f1f8 revert my changes to RtlTryEnterCriticalSection()
svn path=/trunk/; revision=13643
2005-02-19 14:30:32 +00:00
Thomas Bluemel
f66a4cec4d don't increment the lock count twice in RtlTryEnterCriticalSection() and added some more comments
svn path=/trunk/; revision=13642
2005-02-19 13:44:56 +00:00
Thomas Bluemel
c6a8c7496f fixed RtlEnterCriticalSection not to fail on wrong assumptions and added comment on why the debug message "Critical section not initialized (guess)" is wrong
svn path=/trunk/; revision=13641
2005-02-19 13:13:17 +00:00
Thomas Bluemel
99f3640c17 don't pass NULL handles to NtGdiCombineRgn
svn path=/trunk/; revision=13640
2005-02-19 11:13:41 +00:00
Thomas Bluemel
5239de8ad5 1. made the PEB structure match xp's layout
2. fixed GetVersionEx()

svn path=/trunk/; revision=13639
2005-02-19 03:38:43 +00:00
Gé van Geldorp
c8ad5d3ade Include svn revision in build string
svn path=/trunk/; revision=13638
2005-02-18 22:46:49 +00:00
Filip Navara
f4c555b1ee Remove expat.dll from the list.
svn path=/trunk/; revision=13637
2005-02-18 21:20:01 +00:00
Gregor Anich
9097259b0e Add shutdown message.
svn path=/trunk/; revision=13636
2005-02-18 20:52:24 +00:00
Gé van Geldorp
c53bc44bae Protect against bogus string offsets
svn path=/trunk/; revision=13635
2005-02-18 20:19:49 +00:00
Gregor Anich
41475e9941 Fix KeUnstackDetachProcess.
svn path=/trunk/; revision=13634
2005-02-18 18:28:49 +00:00
Filip Navara
299de40214 Fix the detection of /3GB switch.
svn path=/trunk/; revision=13633
2005-02-18 17:15:01 +00:00
Thomas Bluemel
d10dba35e6 don't call win32k for GetObjectType() and query the information directly from the shared handle table
svn path=/trunk/; revision=13632
2005-02-18 15:13:02 +00:00
Gunnar Dalsnes
2daefe4dcd workaround for buggy mingw include search order on linux (gvg)
svn path=/trunk/; revision=13631
2005-02-18 13:53:21 +00:00
Thomas Bluemel
ed7f80714a minor fix
svn path=/trunk/; revision=13630
2005-02-18 13:07:27 +00:00
Thomas Bluemel
5b3d4bc5b1 only dump stack traces when GDI_DEBUG is enabled
svn path=/trunk/; revision=13629
2005-02-18 12:59:30 +00:00
Thomas Bluemel
d786cecb72 implemented reuse counters for gdi objects
svn path=/trunk/; revision=13628
2005-02-18 12:54:17 +00:00
Gé van Geldorp
738f6ff916 We don't have separate .sym files anymore
svn path=/trunk/; revision=13627
2005-02-18 09:17:56 +00:00
Gunnar Dalsnes
a3b58dfa4c remove duplicate typedef
svn path=/trunk/; revision=13626
2005-02-18 02:41:49 +00:00
Gunnar Dalsnes
d9c59d586a remove duplicate typedef
svn path=/trunk/; revision=13625
2005-02-18 02:28:16 +00:00
Thomas Bluemel
18a7ecc14b 1. implemented shared sections used for (shared) desktop heaps
2. map the gdi handle table to userland

svn path=/trunk/; revision=13624
2005-02-18 01:57:32 +00:00
Thomas Bluemel
6d97eb3b0f 1. object type names are stored in ntoskrnl's image (which is nonpaged memory), so there's no need to allocate and copy them to new memory
2. fixed PsLookupThreadByThreadId() prototype
3. renamed the process list to PsActiveProcessHead and use fast mutexes to serialize access to it

svn path=/trunk/; revision=13623
2005-02-17 16:41:28 +00:00
Thomas Bluemel
e376d4e01d declare NtTerminateThread()
svn path=/trunk/; revision=13622
2005-02-17 15:11:36 +00:00
Thomas Bluemel
d86b66f04d fixed includes
svn path=/trunk/; revision=13621
2005-02-17 15:10:55 +00:00
Gunnar Dalsnes
5e471fb25d add missing include
svn path=/trunk/; revision=13620
2005-02-17 14:35:47 +00:00
Gunnar Dalsnes
ffb21066c5 _T should not be defined here
svn path=/trunk/; revision=13619
2005-02-17 14:06:19 +00:00
Eric Kohl
8764a46ff1 Build lsass.exe.
svn path=/trunk/; revision=13618
2005-02-17 12:46:56 +00:00
Eric Kohl
1f5552d521 - Make lsass.exe a win32 application.
- Load and initialize lsasrv.dll.

svn path=/trunk/; revision=13617
2005-02-17 12:45:13 +00:00
Gunnar Dalsnes
598769de43 forgot to change those two...
svn path=/trunk/; revision=13616
2005-02-17 12:18:10 +00:00
Gunnar Dalsnes
f7a525a34b add workarounds for mingw runtime version differences
gave directory routines a good cleanup (based on wine)
more tcharizing of routines

svn path=/trunk/; revision=13615
2005-02-17 11:38:16 +00:00
Gunnar Dalsnes
2374843a9d fix typo
svn path=/trunk/; revision=13614
2005-02-17 10:44:57 +00:00
Gunnar Dalsnes
f0d29764b0 remove more cruft
svn path=/trunk/; revision=13613
2005-02-17 00:01:54 +00:00
Casper Hornstrup
a1c0271111 Interpret numeric values as being hexadecimal values if they contain hex digits a-f
svn path=/trunk/; revision=13612
2005-02-16 23:17:17 +00:00
Gunnar Dalsnes
8bab7189cb hack into private crt headers
svn path=/trunk/; revision=13611
2005-02-16 23:08:04 +00:00
Casper Hornstrup
d57dd016c4 Support private messages
svn path=/trunk/; revision=13610
2005-02-16 22:38:49 +00:00
Gunnar Dalsnes
bdce06f005 ntdll:
-critical.c: catch (more) invalid use
-impl. sscanf (stolen from wine)
crt:
-use native mingw headers and not private copies of them
-converted some routines to using tchar == impl. many missing unicode routines
-impl. sscanf and friends correctly (stolen from wine)
tchar.h:
-added lotsa missin stuff

svn path=/trunk/; revision=13609
2005-02-16 22:30:50 +00:00
Gunnar Dalsnes
55fb40a502 ntdll:
-critical.c: catch (more) invalid use
-impl. sscanf (stolen from wine)
crt:
-use native mingw headers and not private copies of them
-converted some routines to using tchar == impl. many missing unicode routines
-impl. sscanf and friends correctly (stolen from wine)
tchar.h:
-added lotsa missin stuff

svn path=/trunk/; revision=13608
2005-02-16 22:29:48 +00:00
Gunnar Dalsnes
0645d3e055 ntdll:
-critical.c: catch (more) invalid use
-impl. sscanf (stolen from wine)
crt:
-use native mingw headers and not private copies of them
-converted some routines to using tchar == impl. many missing unicode routines
-impl. sscanf and friends correctly (stolen from wine)
tchar.h:
-added lotsa missin stuff

svn path=/trunk/; revision=13607
2005-02-16 22:29:16 +00:00
Gunnar Dalsnes
66c87c2788 crt:
-use native mingw headers and not private copies of them
tchar.h:
-added lotsa missin stuff

svn path=/trunk/; revision=13606
2005-02-16 22:22:42 +00:00
Eric Kohl
159e5dbdb6 Add lsasrv.dll stub.
svn path=/trunk/; revision=13605
2005-02-16 21:59:00 +00:00
Casper Hornstrup
70350430a5 Support multiple channels
svn path=/trunk/; revision=13604
2005-02-16 21:07:55 +00:00
Filip Navara
6536947239 Cast pointers to ULONG_PTR instead of ULONG.
svn path=/trunk/; revision=13603
2005-02-16 18:21:21 +00:00
Filip Navara
bc6becf4da Fix email address.
svn path=/trunk/; revision=13602
2005-02-16 18:19:54 +00:00
Filip Navara
e757e556cf Fix a typo.
svn path=/trunk/; revision=13601
2005-02-16 18:12:15 +00:00
Filip Navara
85d110c02b Fix definition of MIDL_SERVER_INFO structure.
svn path=/trunk/; revision=13600
2005-02-16 18:10:12 +00:00
Filip Navara
95a579734f Minor formatting change.
svn path=/trunk/; revision=13599
2005-02-16 18:02:50 +00:00
Art Yerkes
ed90f1d041 Fix compilation with -O3 and fix bugs 484 and 505. win32k patches by Tinus.
svn path=/trunk/; revision=13598
2005-02-16 16:52:51 +00:00
Thomas Bluemel
ca22e241e0 get rid of libunicode
svn path=/trunk/; revision=13597
2005-02-16 16:45:51 +00:00
Thomas Bluemel
3f7501d7c3 Forward to user32 when appropriate in shlwapi and removed dependencies to libunicode
svn path=/trunk/; revision=13596
2005-02-16 16:44:54 +00:00
Eric Kohl
dd88251afc - Implement CaptureStringArg and CaptureAndConvertAnsiArg.
- FileExists: Restore error mode.
- Move configuration manager functions to a separate file.
- Add cfgmgr32.h.

svn path=/trunk/; revision=13595
2005-02-16 15:44:34 +00:00
Filip Navara
4b76287e18 File system drivers should forward the IRP_MJ_SHUTDOWN request to underlying storage drivers. Fixes bug #504.
svn path=/trunk/; revision=13594
2005-02-16 15:27:30 +00:00
Thomas Bluemel
7e682fbbd0 converted libexpat to a static library
svn path=/trunk/; revision=13593
2005-02-16 14:01:34 +00:00
Steven Edwards
e651dfa82d Add EOL to make gcc shutup.
svn path=/trunk/; revision=13592
2005-02-16 03:17:36 +00:00
James Tabor
65ebf7f999 Update and sync Msiexec with Wine Cvs.
svn path=/trunk/; revision=13591
2005-02-16 00:24:12 +00:00
Filip Navara
b670149976 Fix inline assembler register specification (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10153).
svn path=/trunk/; revision=13587
2005-02-15 19:43:17 +00:00
Gé van Geldorp
1217e4a19d Use bitwise operators for ROUND_UP/DOWN and rename them
to ROUND_UP_POW2/ROUND_DOWN_POW2

svn path=/trunk/; revision=13585
2005-02-15 19:26:13 +00:00
Gé van Geldorp
14f94bc26a Fix ROUND_UP when N is a multiple of S. Proposed by unC0Rr.
svn path=/trunk/; revision=13584
2005-02-15 17:25:01 +00:00
Thomas Bluemel
382d68525a secured buffer access in NtCreateSection(), NtOpenSection(), NtMapViewOfSection(), NtQuerySection() and NtExtendSection()
svn path=/trunk/; revision=13583
2005-02-15 15:46:22 +00:00
Thomas Bluemel
a2e0ee8993 don't leak the captured file name in NtCreatePagingFile() when probing the other parameters failed
svn path=/trunk/; revision=13582
2005-02-15 14:37:53 +00:00
Thomas Bluemel
4f0495a525 distinguish kmode and umode alertability
svn path=/trunk/; revision=13581
2005-02-15 13:40:10 +00:00
Thomas Bluemel
b24437e1ae NtQueueApcThread always inserts a umode apc
svn path=/trunk/; revision=13580
2005-02-15 11:46:31 +00:00
Thomas Bluemel
f4c9f96205 secured access to buffers in NtWaitForSingleObject(), NtWaitForMultipleObjects() and NtSignalAndWaitForSingleObject()
svn path=/trunk/; revision=13579
2005-02-14 22:50:15 +00:00
Thomas Bluemel
eafae64526 fixed the NtRaiseHardError() prototype
svn path=/trunk/; revision=13578
2005-02-14 21:41:49 +00:00
Mike Nordell
03b34e7857 Fix broken DEVICE_NO_FLUSH handling for ATAPI devices, with augmentation to check the SupportedFeatures83 of the device. Thanks to tinus_ for finding and fixing.
svn path=/trunk/; revision=13577
2005-02-14 21:07:25 +00:00
Thomas Bluemel
f0222daf5d 1. a few previous mode fixes
2. implemented NtSetDefaultHardErrorPort() with help of pseudo code from windowsitlibrary.com

svn path=/trunk/; revision=13576
2005-02-14 21:00:05 +00:00
Gé van Geldorp
36e7b406b5 Sync to Wine-20050211
svn path=/trunk/; revision=13573
2005-02-14 18:39:15 +00:00
Gé van Geldorp
eb51ddf583 Delete old version in preparation of vendor drop
svn path=/trunk/; revision=13572
2005-02-14 18:36:46 +00:00
Eric Kohl
861abd2956 Export splay-tree and generic table functions.
svn path=/trunk/; revision=13569
2005-02-14 17:10:20 +00:00
Thomas Bluemel
2e2b7b4073 don't walk all the timers as they're sorted.
svn path=/trunk/; revision=13568
2005-02-14 17:03:16 +00:00
Thomas Bluemel
f9f5d87742 fixed typo and don't use memcpy to just copy a 32bit variable...
svn path=/trunk/; revision=13567
2005-02-14 16:49:36 +00:00
Thomas Bluemel
04380923bf don't remove the timer from the list before walking to the next timer. also handle over-due timers in KeSetTimerEx(). This should make the system bootable again.
svn path=/trunk/; revision=13566
2005-02-14 16:41:53 +00:00
Gé van Geldorp
40623e356a Sync to Wine-20050211
Oleh R. Nykyforchyn <nick@pu.if.ua>
- Ukrainian codepage 21866 added and respective files corrected. Two
  keyboard layouts (for Ukrainian and Russian) added.

svn path=/trunk/; revision=13562
2005-02-14 15:55:32 +00:00
Gé van Geldorp
e2e83d6591 Sync to Wine-20050211
James Hawkins <truiken@gmail.com>
- Properly implement DllCanUnloadNow ref counting.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.

svn path=/trunk/; revision=13561
2005-02-14 15:04:09 +00:00
Gé van Geldorp
05ba38b081 Sync to Wine-20050211
James Hawkins <truiken@gmail.com>
- use only stored result of Interlocked* in AddRef/Release
- expand TRACEs to display the ref count
Hans Leidekker <hans@it.vu.nl>
- Stub implementations for PathUnExpandEnvStringsSHRegEnumUSValue{A,W},
  SHRegCreateUSKey{A,W}, SHRegDeleteEmptyUSKey{A,W},
  SHRegDeleteUSValue{A,W}, SHRegEnumUSValue{A,W}.
- Implement and test PathIsValidChar{A,W}.
Paul Vriens <Paul.Vriens@xs4all.nl>
- Change the order of Src and Dst in CopyKey calls/functions.

svn path=/trunk/; revision=13560
2005-02-14 14:55:38 +00:00
Gé van Geldorp
54eed4d708 Sync to Wine-20050211
James Hawkins <truiken@gmail.com>
- use only stored result of Interlocked* in AddRef/Release
- expand TRACEs to display the ref count
Hans Leidekker <hans@it.vu.nl>
- Stub implementations for PathUnExpandEnvStringsSHRegEnumUSValue{A,W},
  SHRegCreateUSKey{A,W}, SHRegDeleteEmptyUSKey{A,W},
  SHRegDeleteUSValue{A,W}, SHRegEnumUSValue{A,W}.
- Implement and test PathIsValidChar{A,W}.
Paul Vriens <Paul.Vriens@xs4all.nl>
- Change the order of Src and Dst in CopyKey calls/functions.

svn path=/trunk/; revision=13559
2005-02-14 14:50:45 +00:00
Eric Kohl
dfa5c9434a - Implement RtlSetAttributesSecurityDescriptor, RtlInitializeGenericTableAvl, RtlNumberGenericTableElements and RtlNumberGenericTableElementsAvl.
svn path=/trunk/; revision=13558
2005-02-14 14:36:03 +00:00
Thomas Bluemel
3922c4030b fixed some warnings
svn path=/trunk/; revision=13557
2005-02-14 11:57:51 +00:00
Thomas Bluemel
31a913fde7 don't leak a reference to the timer object when copying to the buffer failed in NtQueryTimer() and don't use uninitialized variable in NtSetTimer()
svn path=/trunk/; revision=13556
2005-02-14 11:46:17 +00:00
Gé van Geldorp
be2fa40d3e netzimme@netscape.net
Make RTL8029 work with NE2000 driver

svn path=/trunk/; revision=13555
2005-02-14 07:46:14 +00:00
Alex Ionescu
3f700c132c Reimplemented Kernel and Executive Timers. Use Microsoft documented structures, added locks to protect against race conditions, use dispatcher database, implement new features like wake timers, use thread timer lists, simplify timer list, add more comments and debug info, actually add apc/dpc functions which do what the should do, fix a couple of bugs, simplfiy absolute vs relative timers. I will do more testing and see wether an experimental Timer Tree patch (which greatly speeds up timer processing) is necessary.
svn path=/trunk/; revision=13554
2005-02-14 05:36:04 +00:00
Thomas Bluemel
44b4c1125e probe pointers in NtCreateToken. Still needs some work as access to the buffers needs to be secured
svn path=/trunk/; revision=13553
2005-02-14 00:32:09 +00:00
Thomas Bluemel
caea1ad51f secure access to buffers in NtAllocateLocallyUniqueId
svn path=/trunk/; revision=13552
2005-02-14 00:28:12 +00:00
Gé van Geldorp
9a76ee5861 Sync to Wine-20050211
James Hawkins <truiken@gmail.com>
- Properly implement DllCanUnloadNow ref counting. Make sure the mozilla
  control is ready to unload as well.
- Use Interlocked* instead of ++/-- in AddRef/Release.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.
Mike McCormack <mike@codeweavers.com>
- Stub definition for OpenUrl.

svn path=/trunk/; revision=13551
2005-02-13 23:10:36 +00:00
Emanuele Aliberti
ca70c99dad Resource script uses the new generic rc script.
svn path=/trunk/; revision=13550
2005-02-13 23:03:17 +00:00
Thomas Bluemel
9ad7ca2ec1 don't return value of uninitialized variable
svn path=/trunk/; revision=13549
2005-02-13 23:01:33 +00:00
Thomas Bluemel
013461bd7d don't return value of uninitialized variable
svn path=/trunk/; revision=13548
2005-02-13 22:56:12 +00:00
Emanuele Aliberti
f4bc26733a SM - some more work
svn path=/trunk/; revision=13547
2005-02-13 22:55:28 +00:00
Gé van Geldorp
f890195506 Sync to Wine-20050211
James Hawkins <truiken@gmail.com>
- Use Interlocked* instead of ++/-- in AddRef/Release.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Mike McCormack <mike@codeweavers.com>
- Implement GetAdvise and SetAdvise.
Henning Gerhardt <henning.gerhardt@web.de>
- A small spelling fix and a small update (thank to Andreas Mohr).
- Update German resources.
Joris Huizer <jorishuizer@planet.nl>
- add file_operation_delete
- add file_operation_checkFlags
- use these in SHFileOperationW replacing inline code

svn path=/trunk/; revision=13544
2005-02-13 22:42:47 +00:00
Thomas Bluemel
52cb066916 fixed wrong buffer check in NtDuplicateToken and added buffer checks in NtOpenThreadTokenEx
svn path=/trunk/; revision=13541
2005-02-13 22:00:36 +00:00
Hartmut Birr
e63c27b419 - Silence a debug message.
svn path=/trunk/; revision=13540
2005-02-13 21:32:50 +00:00
Emanuele Aliberti
ca17def287 LPC message type LPC_CONNECTION_REFUSED does not exist in NT.
svn path=/trunk/; revision=13539
2005-02-13 21:32:41 +00:00
Emanuele Aliberti
3565708b26 NtAcceptConnectPort signature fixed.
svn path=/trunk/; revision=13538
2005-02-13 21:31:34 +00:00
Emanuele Aliberti
f2b1a2e2a0 Fix OriginalCopyright.
svn path=/trunk/; revision=13537
2005-02-13 21:18:37 +00:00
Emanuele Aliberti
69e17b8f04 OriginalCopyright added.
svn path=/trunk/; revision=13536
2005-02-13 21:17:34 +00:00
Emanuele Aliberti
62ed018810 Resource script added.
svn path=/trunk/; revision=13535
2005-02-13 21:16:59 +00:00
Gé van Geldorp
e655d1606e Sync to Wine-20050211
Jonathan Ernst <Jonathan@ErnstFamily.ch>
- Updated French resources.

svn path=/trunk/; revision=13534
2005-02-13 21:06:18 +00:00
Gé van Geldorp
5faf6ad9c1 Sync to Wine-20050211
James Hawkins <truiken@gmail.com>
- Use Interlocked* instead of ++/-- in AddRef/Release.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.
Alex Villacis Lasso <a_villacis@palosanto.com>
- Initialize temporary variants before calling VariantChangeTypeEx.
- When parsing an hex/oct integer value, copy value verbatim in VARIANT,
  rather than a negated value. Add test case for this behavior.
Vincent Beron <vberon@mecano.gme.usherb.ca>
- Remove message telling users to copy native stdole32.tlb over as we
  now provide it.
- Better trace in LoadTypeLib.
- Change debug messages type to reflect we provide stdole32.tlb.
Robert Shearman <rob@codeweavers.com>
- Move OLE automation interface registration to oleaut32.
- Add IRemUnknown to list of interfaces to register.
Mike Hearn <mh@codeweavers.com>
- Change some FIXMEs to ERRs to reflect the fact that nothing needs
  fixing.
- Fix some memory leaks on error paths in _marshal_interface.
- Fix a typo, propagate errors better from inside the typelib
  marshaller.
- Return OLE automation build value as win2k by default.
Rein Klazes <wijn@wanadoo.nl>
- SafeArrayDestroy() returns success when called with a NULL
  pointer. Added to the test cases.
Paul Vriens <Paul.Vriens@xs4all.nl>
- Add WinXP to OaBuildVersion.

svn path=/trunk/; revision=13533
2005-02-13 21:03:37 +00:00
Gé van Geldorp
f4477fcb16 Sync to Wine-20050211
Robert Shearman <rob@codeweavers.com>
- Add documentation for most Co* functions.
- Move several functions into different files to group them with
  similar functions.
- Implement CoDisconnectObject.
- Change CoLockObjectExternal so that it does the correct action now
  and eliminate a fair few lines of now redundant code.
- Rename OLE32_Dll{Register,Unregister}Server to
  Dll{Register,Unregister}Server.
- Move OLE automation interface registration to oleaut32.
- Add IRemUnknown to list of interfaces to register.
- Make proxy manager use IMultiQI instead of IInternalUnknown as tests
  show that IInternalUnknown isn't exposed.
- Implement IMultiQI on top of IRemUnknown calls.
- Silence some fixmes that occur during tests and don't give us any
  useful information.
- Fix typo in class factory proxy that caused us to use the wrong
  offset into the CFProxy structure, causing us to not call the
  outer_unknown properly.
- Use InterlockedIncrement for the ipid counter instead of a critical
  section (suggested by Mike Hearn).
- Remove a line added by a bad merge.
- Implement RemUnkStub_Disconnect.
- Remove all of the RPC disconnect code.
- Implement IRemUnknown.
- Use IRemUnknown for life-cycle management instead of the current
  hacks.
- Generate machine-local IPIDs.
- Make pipes be uniquely identified only by their IPID.
- Implement table marshaling.
- The apartment reference should be held while the stub manager
  reference is held.
- Fix same apartment-unmarshal detection.
- Proxies/stubs for IRemUnknown methods, based on code written by Ove
  Ksven.
- Initialize ppv pointer in ClientIdentity_QueryInterface to NULL as
  apps depend on this.
- Don't release IRpcProxyBuffer on ifproxy destruction - the caller
  will do this for us.
- Make find_proxy_manager add a reference to the proxy manager and
  make proxy_manager_construct return an object with a valid
  ref-count.
- Remove stray not operator to fix a memory leak / crash in
  proxy_manager_destroy.
- More debug messages, especially on errors.
- Fix ref-count leak in the Class Factory proxy.
- Add a test case for IClassFactory_CreateInstance.
- Split up apartment creation so that the long code paths that don't
  need locking no longer have locking.
- Add special cases for the threads that join apartments but can't
  increase the refcount of the apartment.
- Free TLS storage on thread destruction (including releasing the
  apartment the thread is in, if any, and so making another test
  pass).
- More tests.
- Change return code of CoGetPSClsid to match test result.
- Do a slight hack to make IRemUnknown proxies be added after the
  proxy that uses them to stop them being used after they are
  destroyed.
- Fix multiple local server connections.
- The apartment reference should be held while the stub manager
  reference is held.
- Fix same apartment-unmarshal detection.
- Don't use the pipe caching code because it doesn't work correctly at
  the moment.
- Always write disconnect reply packet, even in failure cases.
- Move object-to-stub-manager mapping rule to register_ifstub.
- Pass the original IID to IMarshal_UnmarshalInterface and query for
  the requested interface.
- Unmarshaling IID_NULL means use the IID the interface was originally
  marshaled with.
- Add code for destroying the thread-local storage data, but don't use
  it yet.
- Don't release apartment on changing modes because we didn't add a
  reference anywhere.
- Quieten the RPC_E_DISCONNECTED error message as it is an expected
  return code.
- Treat IID_NULL the same as IID_IUnknown.
- Make tests compile on Win95 again.
- Fix copy+paste error where the test failure should be from the
  CoUnmarshalInterface function.
- Give IUnknown its own ifstub to fix ref-counting and ipid storage
  issues.
- Add a new flag SORFP_NOLIFETIMEMGMT to tell the proxy manager not to
  call any IRemUnknown functions.
- Move the low-level unmarshaling code into a new function,
  unmarshal_object, so that it can be easily reused for unmarshaling
  IRemUnknown.
- Consolidate more stub creation details into register_ifstub.
- Replace the current wine_marshal_id structure with STDOBJREF for the
  on-the-wire format.
- Initialize clsid member to the marshaler clsid to fix custom
  marshaling.
- Make proxy shutdown test succeed by releasing the channel on
  disconnect.
- Remove wine_marshal_data: it is unneeded and there is no equivalent in
  STDOBJREF.
- Remove obsolete structs, rearrange things to group the structs
  together and to group similar functions.
- Document thread-safety of members of structs.
- Document CoSetState & CoGetState.
- Rewrite them to only retrieve TLS info once.
- Remove trailing whitespace in COM_CurrentInfo.
- Release the client security objects when no longer needed (reported by
  Mike McCormack).
- Implement CoSetProxyBlanket, CoQueryProxyBlanket and CoCopyProxy.
- Update todo list.
- Destroy stubs on apartment shutdown.
- Make MTA dynamically allocated so that proxies and other resources
  are freed at the proper time.
- Changed/removed some incorrect comments regarding apartments.
Mike Hearn <mh@codeweavers.com>
- Various formatting/style changes.
- Force context switch on chanbuf disconnect to avoid a race in the test
  suite.
Mike Hearn <mh@codeweavers.com>
Robert Shearman <rob@codeweavers.com>
- Rework RPC dispatch layer to be simpler and not get confused by
  server/client duality.
- Make threads shut down at the right time and not access freed memory
  after apartment destruction.
- Rename stub_dispatch_thread to client_dispatch_thread.
- Add some more tracing
- Check return value of WaitNamedPipe.
- Change named pipe timeouts to 0.5s, which should be enough for even the
  slowest machines.
Christian Costa <titan.costa@wanadoo.fr>
- CoInitialize(Ex) should return S_FALSE when COM is already initialized
  for the current thread.

svn path=/trunk/; revision=13532
2005-02-13 20:52:16 +00:00
Hartmut Birr
4267da8a2f - Forgot this file.
- Prepared cdfs for using CcInitializeCacheMap/CcUninitializeCacheMap instead of CcRosInitializeFileCache/CcRosReleaseFileCache.

svn path=/trunk/; revision=13531
2005-02-13 17:25:52 +00:00
Hartmut Birr
11aca778bc - Prepared ntfs for using CcInitializeCacheMap/CcUninitializeCacheMap instead of CcRosInitializeFileCache/CcRosReleaseFileCache.
svn path=/trunk/; revision=13530
2005-02-13 17:23:41 +00:00
Hartmut Birr
be6f666161 - Prepared cdfs for using CcInitializeCacheMap/CcUninitializeCacheMap instead of CcRosInitializeFileCache/CcRosReleaseFileCache.
svn path=/trunk/; revision=13529
2005-02-13 17:21:16 +00:00
Hartmut Birr
6dc6d975d8 - Partial implementation of IoSetInformation.
svn path=/trunk/; revision=13528
2005-02-13 17:10:59 +00:00
Hartmut Birr
516c6b3ffc - Initialize the Lock value of a stream file object.
svn path=/trunk/; revision=13527
2005-02-13 17:09:10 +00:00
Hartmut Birr
6277bda603 - Changed the definition of fpos_t to a 64bit value to get binutils 2.15.94 working.
svn path=/trunk/; revision=13526
2005-02-13 15:38:56 +00:00
Klemens Friedl
b331ffc1b7 VMware SVGA Wizard:
* add title and subtitle (wizard window)
* center the wizard window
* update english and german language files

svn path=/trunk/; revision=13525
2005-02-13 13:49:55 +00:00
Thomas Bluemel
ecc1462959 fixed returning the reference to the token in SeCopyClientToken() and probe pointer when neccessary
svn path=/trunk/; revision=13524
2005-02-13 13:03:44 +00:00
Steven Edwards
9e0d358564 Remove the old control apps from rosapps/control.
svn path=/trunk/; revision=13522
2005-02-13 02:11:22 +00:00
Aleksey Bragin
9f1be875f3 Some basics of driver wrapper - establish dispatch functions, a very basic AddDevice handler. Still stubs, but they will be filled with something very soon!
svn path=/trunk/; revision=13521
2005-02-12 23:31:15 +00:00
Aleksey Bragin
4ba5ab7473 Added cromwell's drivers into build/install process. Now we have two alternatives: usbport/usbXhci or usbcore/ohci.sys. With time they will be merged into one, or cromwell will be wasted and usbport/usbXhci will be written from scratch.
svn path=/trunk/; revision=13520
2005-02-12 23:27:27 +00:00
Aleksey Bragin
aacb7a22f6 Fixed a copy-n-paste typo in usbuhci ("Type"->"Image" reg key), also adding ohci driver entry (loads in VirtualPC).
svn path=/trunk/; revision=13519
2005-02-12 23:11:10 +00:00
Gé van Geldorp
c4a2530191 Sync to Wine-20050211
Mike McCormack <mike@codeweavers.com>
- add support for Edit boxes in MSI dialogs
- run the message loop when waiting for threads or processes
- fix the dialog font
- allow waiting on a handle while running the message loop
- implement checkboxes in dialogs
- use TextStyle enumeration instead of numbers
- fix MSI_IterateRecords to return the correct count
- Add more dialog controls, do something when they're clicked on.
- Implement MsiPreviewDialog.
- Implement and document MsiLoadString.
- Added stub implementations for MsiPreviewDialog and
  MsiPreviewBillboard.
- Fix MsiModifyView and MsiViewGetColumnInfo to use MSIRECORD* not MSIHANDLE.
- Implement, test and document MsiDecomposeDescriptor.
- Handle a number as a parameter for custom action 19.
- Move OpenQuery into msiquery.c and make it non-static.
- Fix and test inserting records.
- Fix refcounting, use Interlocked functions.
- MsiEvaluateCondition returns an error when passed NULL as a
  condition.
- Lock record in MsiViewExecute, move stubs to end.
- Fix MsiRecordSetString for NULL strings and update test case.
- Fix a bug caused by freeing memory too soon in the table code.
- Update headers, add MsiGetUserInfoA stub implementation.
- Fix a memory leak in MsiConfigureProductExW.
- Indentation and style cleanup.
- implement MsiOpenPackageEx, and forward MsiOpenPackage there
- make a MSI_CreatePackage function and use it in MSI_OpenPackage
- move MsiOpenPackageA down with the rest of the API functions
Juan Lang <juan_lang@yahoo.com>
- Partially implement AppSearch action.
- If a full path isn't specified, search across all fixed drives.
- Simplify AppSearch error checking.
- Identifiers evaluate to true if they are non-empty, regardless of
  value.
Aric Stewart <aric@codeweavers.com>
- action.c is getting too big, so split out all the handling of
  CustomActions into custom.c. Cleaned up a lot of the handling of
  custom actions including scripting actions and processing return
  codes.
- Mike McCormack pointed out that MsiFormatRecord is basically the
  same as internal function deformat_string. So broke deformat_string
  out and updated it to function as MsiFormatRecord and implemented
  MsiFormatRecord.
- A number of random fixes to action.c including properly calculating
  the length for the LocalPackage name, not forcing a reboot when
  really we should just return ERROR_INSTALL_SUSPEND and handling
  REG_MULTI_SZ now that we can deformat the properly.
- Move the guid squishing functions out of msi.c and make a new
  registry.c file. Also clean up all the various registry keys we need
  to open and create to this module and modify the functions for msi.c
  to call these functions.
- Added a few more stub implementations.
- Implement custom action type 19, Halt install and display error
  message.
- Continued work to simplify the ProcessAction call, also split it into
  a ProcessAction and ProcessUIAction for future dialog box work.
  Also fix a bug in deformat_string where i was not freeing the created
  record.
- Make a temp file for each dll saved for custom actions. This prevents
  name collisions from causing custom actions to fail.
- Do not track the temp files for custom actions based on the name from
  the table because then we get conflicts and files not tracked or
  cleaned up.
- Add the RegisterUser action.
- Implement RegisterExtensionInfo and RegisterMIMEInfo.
- Add logic to be able to resolve the SourceDir based on
  CurrentPath. Also add logic to get the source locations of a file if
  it is not in a cabinet.
- Finish up the framework by stubbing out all the remaining Standard
  actions.
- A fix to deformat_string so it only returns a null return if you
  provided a null buffer.
- Eliminate the giant if.. else if block from ACTION_ProcessAction in
  favor of a table of handlers.
- Return code of the install should not depend on the return code of the
  final action.
- Update component installed states as they are installed so that
  conditions based on component states are at least a little more
  correct.
- Add icon and argument when regestering clsids.
- Add a stub for ResolveSource because we do that work just not in
  ResolveSource like we should.
- When quering a Component state return the correct state.
- Enable the updating of Feature and thus the resulting component
  states.
- Run the end of install actions for suspend and user exit states as
  well.
- Start putting in place a currently running state for future ui use.
- Use the new registry functions in registry.c.
- Do not force a reboot, just return ERROR_INSTALL_SUSPEND and write
  some keys to the registry.
- Quite a few fixes:
- Allow for the queing of custom actions to trigger on the
  InstallExecute or InstallExecuteAgain actions.
- allow for the queing of custom actions to trigger on
  InstallFinalize.
- Properly set the CustomActionData property for said queued actions.
- Implement RegisterProduct.
- Beginning implementation of ForceReboot.
- Don't kill install if an item to be duplicated does not exist.
- Write out SourceList and LastUsedSource for resuming installs.
- Use regsvr32 to register self reg dlls.
- Implementations for SelfRegModules and PublishFeatures.
- Set default ACTION property for Install.
- Deformat more than JUST properties properly. Allows for Files and
  Component paths in deformat.
- Properly deformat a LaunchCondition failure dialog box.
- Resolve and save registry Keypaths.
- Write the Features published keys more correctly. Still some
  problems.
- First implementation of the WriteIniValues action.
- Custom actions can have null in their target parameters, handle that
  without crashing. Also enable deformating of lines greater than 256
  characters.
- Added some more suminfo stubs.
- An implementation of MsiSummaryInfoGetPropertyW based off of
  MsiSummaryInfoGetPropertyA.
- Added stubs for MsiGetShortcutTargetA/W.
- Do a very basic first implementation of MsiConfigureProductExW for
  msiexec /@  when run as a reboot.
- Also add a number of new stubs for the office xp and 2k3 install and
  startup process.
- Fix a copy and paste error, check for a null value and discard
  unneeded errors.
- Do not limit properties to 256 characters when evaluating them.
- Setting a record to an empty string is the same as making it null.
- First pass implement ion of MsiQueryProductState[A/W] as well as a few
  fixes for MsiGetComponentPath.
- Actually start on an implemention for MsiGetComponentPathW that should
  handle all keypaths that are files.
- A reworking of format.c to remove the recursion, clean things up and
  stabilize behavior to match windows.
- Cleanup processing a bit more.
- Allow for nested keys to work properly.
- MsiGetProperty does not return any error on missing properties.
- The new Insert fixes now properly require ?,? instead of just ? for
  the Insert call. This fix modifies the MSI_SetProperty query to be
  correct.
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
  redundant.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Ulrich Czekalla <ulrich@codeweavers.com>
- Handle 0 length buffers in MSI_FormatRecordW.
- Remove unused buffer in deformat_string.
Mike Hearn <mh@codeweavers.com>
- Correctly ensure properties set from resolved directory paths are
  backslash terminated.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Marcus Meissner <meissner@suse.de>
- Initialize rc in create_component_directory().
Alexandre Julliard <julliard@winehq.org>
- Avoid unnecessary run-time initializations.

svn path=/trunk/; revision=13518
2005-02-12 22:59:04 +00:00
Gé van Geldorp
b14fe2e98e Sync to Wine-20050211
Alexandre Julliard <julliard@winehq.org>
- It makes no sense to export the dll entry point as stub.

svn path=/trunk/; revision=13517
2005-02-12 21:46:45 +00:00
Gé van Geldorp
f2d6147dc9 Sync to Wine-20050211
Juan Lang <juan_lang@yahoo.com>
- Make netspi.h private, as some of its declarations conflict with
  npapi.h.  Spotted by Paul Vriens.
Jonathan Ernst <Jonathan@ErnstFamily.ch>
- Updated French resources.
Henning Gerhardt <henning.gerhardt@web.de>
- Update German resources.

svn path=/trunk/; revision=13516
2005-02-12 21:26:15 +00:00
Gé van Geldorp
a8037e241c Sync to Wine-20050211
Carlos Lozano <clozano@andago.com>
- Fix regression in Fallout game.
Remi Assailly <remi.assailly@free.fr>
- char -> const char fixes.
Robert Reif <reif@earthlink.net>
- Copy data structures one at a time using supplied size.

svn path=/trunk/; revision=13515
2005-02-12 21:07:16 +00:00
Gé van Geldorp
b0c3deb666 Henning Gerhardt <henning.gerhardt@web.de>
- Update German resources.
Robert Shearman <rob@codeweavers.com>
- Draw a representation of a document in the page setup dialog.
- Change some FIXME's to TRACE's because everything we need is
  implemented and they fire for ones that we don't need to implement.
Remi Assailly <remi.assailly@free.fr>
- char -> const char fixes.
Jose Manuel Ferrer Ortiz <jmfo1982@yahoo.es>
- Updated Spanish resources.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Correct coordinates of a couple of controls.
- Do not forget to allocate internal OPENFILENAMEW structure for 16-bit
  GetOpenFileName, initialize it by zeros for 16/A cases.
- Make GetOpenFileNameW with an old style open file dialog work with the
  original OPENFILENAMEW structure, making sure that all changes are
  passed back to the caller.
Ulrich Czekalla <ulrich@codeweavers.com>
- GetFileName31W should call unicode version of FD31_AllocPrivate.
Jonathan Ernst <Jonathan@ErnstFamily.ch>
- Updated French resources.

svn path=/trunk/; revision=13514
2005-02-12 21:03:08 +00:00
Gé van Geldorp
2b5f93358a Sync to Wine-20050211
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Dimitrie O. Paun <dpaun@rogers.com>
- Use the LVCFMT_{LEFT,RIGHT,CENTER} enumeration flags properly.
Alexandre Julliard <julliard@winehq.org>
- Store the "managed" flag as a window property instead of the
  Wine-specific WS_EX_MANAGED style bit.
Paul Vriens <Paul.Vriens@xs4all.nl>
- Remove needless check for horizontal or vertical pager.
Paul Vriens <Paul.Vriens@xs4all.nl>
- Remove the checking/setting of the defaults in TRACKBAR_Create.

svn path=/trunk/; revision=13513
2005-02-12 20:51:20 +00:00
Thomas Bluemel
709af1f28a the callback management doesn't have to be serialized as it's only accessed by the thread itself
svn path=/trunk/; revision=13512
2005-02-12 20:37:04 +00:00
Thomas Bluemel
a780838c2e added stubs for NeedCurrentDirectoryForExePathA/W()
svn path=/trunk/; revision=13511
2005-02-12 17:15:04 +00:00
Emanuele Aliberti
5d99bb07ca SM - Sorry, I forgot silence dbg messages!
svn path=/trunk/; revision=13505
2005-02-12 14:34:39 +00:00
Emanuele Aliberti
68537ca04f PSX: posixw32: some work for compatibility with future SM
svn path=/trunk/; revision=13504
2005-02-12 14:33:41 +00:00
Eric Kohl
feb76365e7 - Implement RtlGetLastNtStatus, RtlGetLastWin32Error, RtlRestoreLastWin32Error, RtlSetLastWin32Error and RtlSetLastWin32ErrorAndNtStatusFromNtStatus.
svn path=/trunk/; revision=13503
2005-02-12 12:42:10 +00:00
Thomas Bluemel
df616c9b3b The structure layout of self-relative security descriptors may be different from absolute security descriptors depending on the platform. Self-relative security descriptors always use 32 bit offsets while absolute security descriptors use pointers which could be 64 bits.
svn path=/trunk/; revision=13502
2005-02-12 11:47:03 +00:00
Gé van Geldorp
18e42fda45 Check subsystem
svn path=/trunk/; revision=13501
2005-02-12 09:17:51 +00:00
Emanuele Aliberti
3cc5374fe1 SM - clean, simplify, make more readable
- split initialization in more files to make it more readable
- cleaned up some code
- simplified some code
- documented some todos

svn path=/trunk/; revision=13500
2005-02-12 09:08:52 +00:00
Art Yerkes
165794f5c8 AddrWidenAddress: set type
NBFlushPackets: We already hold the table lock when calling this.

svn path=/trunk/; revision=13499
2005-02-12 03:53:19 +00:00
Gé van Geldorp
6d7d3aaff6 Be compatible with some of the crap apps out there
svn path=/trunk/; revision=13497
2005-02-11 21:02:35 +00:00
Eric Kohl
1a4bf3f6f5 Ooops! These are the correct exports.
svn path=/trunk/; revision=13494
2005-02-11 16:01:10 +00:00
Eric Kohl
1ca75be5f0 Implement RtlGetSecurityDescriptorRMControl, RtlSetSecurityDescriptorRMControl, SetSecurityDescriptorControl, GetSecurityDescriptorRMControl and SetSecurityDescriptorRMControl.
svn path=/trunk/; revision=13493
2005-02-11 15:52:38 +00:00
Eric Kohl
5930efc575 - Implement RtlSetControlSecurityDescriptor
- Remove property set functions from ntdll.def because they are not implemented in Win2K and above.

svn path=/trunk/; revision=13492
2005-02-11 12:06:29 +00:00
Gé van Geldorp
e37dad5493 Match packing in DDK
svn path=/trunk/; revision=13491
2005-02-10 22:54:30 +00:00
Aleksey Bragin
7d5865df32 Deleted binaries, added ignore
svn path=/trunk/; revision=13490
2005-02-10 22:08:39 +00:00
Aleksey Bragin
a66312aa06 Deleted binaries, added ignore
svn path=/trunk/; revision=13489
2005-02-10 22:05:40 +00:00
Thomas Bluemel
a5f97a39da removed obsolete typecast in AllocConsole()
svn path=/trunk/; revision=13487
2005-02-10 19:38:47 +00:00
Thomas Bluemel
ca15298d31 fixed ObpCaptureObjectAttributes()
svn path=/trunk/; revision=13486
2005-02-10 11:32:06 +00:00
Thomas Bluemel
f49c77e03f revert the changes to NtCreateEvent and do the real fix
svn path=/trunk/; revision=13485
2005-02-10 09:22:27 +00:00
Alex Ionescu
ef53ccc2a8 Fix APC problems. Thanks to Arty for finding this. This makes vncviewer work
svn path=/trunk/; revision=13484
2005-02-10 05:13:43 +00:00
Art Yerkes
73f1d215e0 Patch to fix NtCreateSempahore, in the case where the initial lookup
succeeds.  We previously left the function without initializing 
hSemaphore.  Patch suggested by me and executed by hpoussin.

svn path=/trunk/; revision=13483
2005-02-10 03:58:03 +00:00
Steven Edwards
231989d7ac Added note about freeldr 2.0 changes
svn path=/trunk/; revision=13482
2005-02-10 01:42:58 +00:00
Gé van Geldorp
2bdc976286 Big change warrants major version number bump
svn path=/trunk/; revision=13481
2005-02-09 23:57:07 +00:00
Gé van Geldorp
00c444e957 Pass PageDirectoryStart and End so the memory manager
knows not to clobber it

svn path=/trunk/; revision=13480
2005-02-09 23:52:27 +00:00
Gé van Geldorp
2da2045b7f Add DPRINT_HWDETECT to DEBUG_ALL
svn path=/trunk/; revision=13479
2005-02-09 20:53:18 +00:00
Mike Nordell
a309fd9ca9 Send the correct handle_s_. tinus found this one.
svn path=/trunk/; revision=13478
2005-02-09 20:11:48 +00:00
Gé van Geldorp
9d11fdcdac Don't include NEVER_LOAD sections in image size.
Rename SizeOfImage to ResidentSize to avoid confusion

svn path=/trunk/; revision=13477
2005-02-09 18:34:13 +00:00
Gé van Geldorp
22b2e24aea Fix EOL setting
svn path=/trunk/; revision=13476
2005-02-09 18:18:20 +00:00
Gé van Geldorp
44705e9fdb - Fix quoting of .cpl filename.
- Use "cplopen" verb to execute .cpl files.

svn path=/trunk/; revision=13475
2005-02-09 17:33:36 +00:00
Art Yerkes
877b125678 Made a nice function CantReadMore which tells if we can't possibly fill
the buffer any longer, and don't have waiting data.
Return an EOF in every case where a read could hit EOF from tcpip,
Return a hard error thereafter.

svn path=/trunk/; revision=13474
2005-02-09 08:38:46 +00:00
Gé van Geldorp
cf6b823a18 - Add entry for .cpl files
- Disable recycle bin for now

svn path=/trunk/; revision=13473
2005-02-08 22:52:16 +00:00
Gé van Geldorp
d45db8b732 Prefer SEE_MASK_IDLIST, since that one is actually implemented in shell32...
svn path=/trunk/; revision=13471
2005-02-08 22:23:05 +00:00
Gé van Geldorp
183a36f0fb You can't execute a DLL
svn path=/trunk/; revision=13469
2005-02-08 22:11:27 +00:00
Gé van Geldorp
9b0eaad850 Hervé Poussineau <poussine@freesurf.fr>
Initialize default partition size to maximum size.

svn path=/trunk/; revision=13468
2005-02-08 21:27:49 +00:00
Gé van Geldorp
1914ba8245 Set eol-style
svn path=/trunk/; revision=13467
2005-02-08 18:58:59 +00:00
Art Yerkes
4b90e54e6f There's no need to link ntdll here.
svn path=/trunk/; revision=13466
2005-02-08 17:10:19 +00:00
Eric Kohl
b03a789169 - Convert U32 to ULONG.
svn path=/trunk/; revision=13465
2005-02-08 14:46:44 +00:00
Gé van Geldorp
ead52a2278 Redraw shell background when wallpaper is changed
svn path=/trunk/; revision=13464
2005-02-08 12:35:44 +00:00
Alex Ionescu
e2de4723c6 Forgot this file
svn path=/trunk/; revision=13463
2005-02-08 01:55:04 +00:00
Alex Ionescu
518763e600 FreeLdr Patch. Now fully loads ntoskrnl using a PE Loader, supports /3gb dynamically but this is NOT enabled yet, so please continue using the 3GB entry in config until r2 is ready which will support relocation and remove the config entry. You must also supply /3GB to the commandline if you're using 3GB, just like since the previous patch. Also freeldr now uses w32api headers. Janitors will clean the dupes up. Thank you: Mike, Royce, Hartmut, Blight, Filip and everyone who reviewed. Hartmut, if anything is missing from the patch you sent me, feel free to add it. More info at http://blogs.reactos.com/Alex_Ionescu.
svn path=/trunk/; revision=13462
2005-02-08 01:46:01 +00:00
Emanuele Aliberti
f390d143d5 Typographic errors fixed and a function name changed.
svn path=/trunk/; revision=13461
2005-02-07 23:11:30 +00:00
Thomas Bluemel
7a4e07b567 revert moving smdll to rosrtl.
svn path=/trunk/; revision=13460
2005-02-07 12:58:08 +00:00
Thomas Bluemel
61c28f28b3 moved smdll to rosrtl. We just _can't_ have separate dlls for everything internal, that's what static libraries are for. Unless we want a dll hell even worse than necessary...
svn path=/trunk/; revision=13459
2005-02-07 11:35:29 +00:00
Thomas Bluemel
fb80c5416d moved smdll to rosrtl. We just _can't_ have separate dlls for everything internal, that's what static libraries are for. Unless we want a dll hell even worse than necessary...
svn path=/trunk/; revision=13458
2005-02-07 11:35:10 +00:00
Thomas Bluemel
63e01b63df moved smdll to rosrtl. We just _can't_ have separate dlls for everything internal, that's what static libraries are for. Unless we want a dll hell even worse than necessary...
svn path=/trunk/; revision=13457
2005-02-07 11:34:52 +00:00
Eric Kohl
30b7d49ae6 - Nt->Zw
- Assign an instance path to the root device node and reports its arrival.

svn path=/trunk/; revision=13456
2005-02-07 10:33:44 +00:00
Gé van Geldorp
e4e9497fb0 Remove no longer needed hack
svn path=/trunk/; revision=13455
2005-02-07 10:30:14 +00:00
Gé van Geldorp
8b55015f04 Fix definition of LUID constants
svn path=/trunk/; revision=13454
2005-02-07 10:29:44 +00:00
Gé van Geldorp
4cc354816b Hervé Poussineau <poussine@freesurf.fr>
(Partial) implementation of CheckTokenMembership()

svn path=/trunk/; revision=13453
2005-02-06 22:16:05 +00:00
Emanuele Aliberti
210f9b4812 Add SMDLL to the boot CD.
svn path=/trunk/; revision=13452
2005-02-06 22:06:44 +00:00
Emanuele Aliberti
b77a02dbef SMDLL: add it to the build process.
svn path=/trunk/; revision=13451
2005-02-06 22:03:32 +00:00
Gé van Geldorp
97bae25ad4 - Add RegisterServiceCtrlHandlerExA/W
- Add stubs for CheckTokenMembership and LsaGetUserName

svn path=/trunk/; revision=13450
2005-02-06 21:57:44 +00:00
Emanuele Aliberti
9e799af696 Some preliminary work on the SM to make it manage environment servers.
svn path=/trunk/; revision=13449
2005-02-06 21:55:07 +00:00
Gé van Geldorp
e8a6256e32 Export some Lsa stubs
svn path=/trunk/; revision=13448
2005-02-06 21:21:22 +00:00
Gé van Geldorp
8efa6b64a6 - Prevent image loading and symbol loading getting each others way
- DPRINT1 is preferred over DbgPrint

svn path=/trunk/; revision=13447
2005-02-06 19:52:26 +00:00
Gunnar Dalsnes
fa4b4f314a -add macros for msvc/gcc portable int64 suffix/LARGE_INTEGER handling
-add C_ASSERT (compile-time asserts)

svn path=/trunk/; revision=13446
2005-02-06 19:04:00 +00:00
Gé van Geldorp
bc7bba6f78 Pass ROP4 instead of ROP3 to drivers
svn path=/trunk/; revision=13445
2005-02-06 18:27:06 +00:00
Gé van Geldorp
78a54aa150 Properly synchronize with GPU
svn path=/trunk/; revision=13444
2005-02-06 18:24:31 +00:00
Emanuele Aliberti
90b5ddc462 SMDLL: helper to use the SM
svn path=/trunk/; revision=13443
2005-02-06 17:00:53 +00:00
Emanuele Aliberti
e0d9326630 SM & SMDLL definitions
svn path=/trunk/; revision=13442
2005-02-06 16:59:55 +00:00
Mike Nordell
d31b888c46 Remove COM1 as default debug messages output channel for LiveCD.
If users are skilled enough to make use of it, it can be turned on manually during boot.

svn path=/trunk/; revision=13441
2005-02-06 14:13:32 +00:00
Martin Fuchs
97715243ac owner drawn context menus for lean explorer version
svn path=/trunk/; revision=13440
2005-02-06 14:03:25 +00:00
Martin Fuchs
24ed9a6f95 owner drawn context menus for FileChild
svn path=/trunk/; revision=13439
2005-02-06 13:28:34 +00:00
Martin Fuchs
32ded4ebff fix warning message
svn path=/trunk/; revision=13438
2005-02-06 13:12:07 +00:00
Martin Fuchs
ac1bda4c72 generic support for owner drawn context menus
svn path=/trunk/; revision=13437
2005-02-06 13:02:48 +00:00
Filip Navara
b98bef3c5f Fix a typo.
svn path=/trunk/; revision=13436
2005-02-06 12:39:41 +00:00
Martin Fuchs
3af8771d1a prevent crash related to unsupported context menu types
svn path=/trunk/; revision=13434
2005-02-06 10:50:50 +00:00
Martin Fuchs
7ae66a94b0 support for owner drawn context menus on the desktop
svn path=/trunk/; revision=13433
2005-02-06 10:38:51 +00:00
Filip Navara
a1775e6e4c Use only 80 character wide lines in the comments.
svn path=/trunk/; revision=13431
2005-02-06 10:01:07 +00:00
Art Yerkes
a6b98eefa1 Kill only selects involving a named file descriptor when clearing exclusive
selects.  This makes ASECHO32 work perfectly.

svn path=/trunk/; revision=13430
2005-02-06 07:56:45 +00:00
Thomas Bluemel
8f344fcd2f Just cleaned up the code and changed the name of a few things. Patch by Trevor McCort.
svn path=/trunk/; revision=13429
2005-02-06 00:01:21 +00:00
Alex Ionescu
59a9bf1efc Prevent buffer overflow on SMP systems. The buffer may be filled with 'Unknown CPU with family ID %ld and model ID %ld. Patch by Herve Poussineau.
svn path=/trunk/; revision=13427
2005-02-05 21:04:17 +00:00
Gregor Anich
75f792014d Raise exception when MmMapLockedPagesSpecifyCache fails to map into UserMode.
svn path=/trunk/; revision=13425
2005-02-05 18:59:14 +00:00
Gé van Geldorp
cb884ccdb4 Re-use (better) stack backtrace function
svn path=/trunk/; revision=13423
2005-02-05 18:49:43 +00:00
Eric Kohl
bda30e3034 Use the allocated buffer size in the call to NtGetPlugPlayEvent.
svn path=/trunk/; revision=13422
2005-02-05 10:54:00 +00:00
Thomas Bluemel
bb766d5404 only attach to the process to be queried when necessary
svn path=/trunk/; revision=13421
2005-02-05 10:31:37 +00:00
Gé van Geldorp
7cd9c86676 Convert ROP2 to MIX when calling driver
svn path=/trunk/; revision=13420
2005-02-05 10:19:49 +00:00
Gé van Geldorp
a1c0a3b1d6 Silence debug messages
svn path=/trunk/; revision=13419
2005-02-05 10:17:33 +00:00
Filip Navara
e83557fa58 Dynamically reallocate the buffer for PnP event if it's too small.
svn path=/trunk/; revision=13418
2005-02-05 08:44:49 +00:00
Filip Navara
92a1779473 Use CONTAINING_RECORD macro instead of type cast, fix the copyright header.
svn path=/trunk/; revision=13417
2005-02-05 08:43:52 +00:00
Art Yerkes
41918c7577 Read: Change AFD_EVENT_CLOSE to AFD_EVENT_DISCONNECT when the other end
hangs up.  The socket isn't closed yet.
Listen: Turn off fired flag for AFD_EVENT_ACCEPT.

svn path=/trunk/; revision=13416
2005-02-05 05:40:35 +00:00
Art Yerkes
c7bf3eead3 Fixed some signalling problems.
1) Always OR the current state bits into the socket for the handler to see
2) Remove special case for SEL_CONNECT | SEL_FIN in the signalled handler.
   Now it's much cleaner.

svn path=/trunk/; revision=13415
2005-02-05 04:56:04 +00:00
Thomas Bluemel
ab73f037f8 implemented GetConsoleProcessList()
svn path=/trunk/; revision=13414
2005-02-05 01:44:05 +00:00
Eric Kohl
2b921cb3e3 svn path=/trunk/; revision=13413 2005-02-05 00:20:14 +00:00
Gregor Anich
b70985ca99 Change WNDOBJ implementation a bit to make the NVIDIA driver happy.
svn path=/trunk/; revision=13412
2005-02-05 00:17:49 +00:00
Gregor Anich
824d1552c9 Fix VideoPortMapMemory.
svn path=/trunk/; revision=13411
2005-02-05 00:09:56 +00:00
Gregor Anich
9566275d1b Small update of opengl32.
svn path=/trunk/; revision=13410
2005-02-05 00:07:57 +00:00
Eric Kohl
61f4f70343 - Link ntoskrnl against libwdmguid.a.
- Report device arrival events to the user-mode pnp manager.

svn path=/trunk/; revision=13409
2005-02-05 00:04:52 +00:00
Eric Kohl
b0e251bab8 - Fix WDM-GUIDs. Patch by Filip Navara.
- Implement libwdmguid.a.

svn path=/trunk/; revision=13408
2005-02-04 23:24:32 +00:00
Thomas Bluemel
efd11df7cc Trevor McCort implemented desktop wallpaper changing
svn path=/trunk/; revision=13406
2005-02-04 20:39:10 +00:00
Aleksey Bragin
01e24007ea Include usbd.sys in build of usb drivers
svn path=/trunk/; revision=13405
2005-02-04 16:51:11 +00:00
Aleksey Bragin
81d6ebf9e3 usbd.sys implementation - done long time ago by Filip, I just added .def and changed .rc (I think he doesn't mind it :))
svn path=/trunk/; revision=13404
2005-02-04 16:49:17 +00:00
Eric Kohl
fc76ea5157 Implement DelayedMove and FileExists.
svn path=/trunk/; revision=13403
2005-02-04 12:27:34 +00:00
Mike Nordell
f09c1928ae Fix broken year handling.
svn path=/trunk/; revision=13402
2005-02-04 03:21:46 +00:00
Gé van Geldorp
14986414b9 Always create debug info (-g)
svn path=/trunk/; revision=13400
2005-02-03 22:01:00 +00:00
Gé van Geldorp
c41788a8a2 Always clean the .gch file, even if ROS_USE_PCH is not active. This prevents
problems when switching between PCH and non-PCH builds.

svn path=/trunk/; revision=13398
2005-02-03 21:31:57 +00:00
Aleksey Bragin
85f0f3de51 Cromwell <-> PCI interface (stubs now) is taken to another file. In the long run I'm gonna change the file structure, but for now it's ok.
svn path=/trunk/; revision=13397
2005-02-03 20:38:38 +00:00
Filip Navara
bb6b84b0af Correct the library order.
svn path=/trunk/; revision=13396
2005-02-03 19:15:43 +00:00
Filip Navara
56b11588c4 Prevent linking to MSVCRT in case some CRT function isn't found.
svn path=/trunk/; revision=13394
2005-02-03 19:08:54 +00:00
Gé van Geldorp
8b7ac2780a Store symbolic information in a .rossym section in the
executable/library/driver/whatever

svn path=/trunk/; revision=13392
2005-02-02 23:07:33 +00:00
Emanuele Aliberti
b7ecf6f1ef Make Jim Tabor visible.
svn path=/trunk/; revision=13389
2005-02-02 21:40:33 +00:00
Aleksey Bragin
5f67689cbb Make dev node count correct, since for example Mac Virtual PC BIOS reports slightly wrong number which must be &0xFF.
This patch removes "Memory allocation failed: Out of memory" error while booting Freeldr.

svn path=/trunk/; revision=13387
2005-02-02 15:42:48 +00:00
Filip Navara
446441503d Protect against writes beyond the end of partition.
svn path=/trunk/; revision=13386
2005-02-01 21:21:33 +00:00
Filip Navara
02f0f81fc0 Correct prototype for NtGetPlugPlayEvent and use the ntpnp.h header.
svn path=/trunk/; revision=13384
2005-02-01 17:54:25 +00:00
Gunnar Dalsnes
6705201337 RtlCreateUnicodeString->RtlpCreateUnicodeString
svn path=/trunk/; revision=13383
2005-02-01 17:53:55 +00:00
Filip Navara
2eaa151579 - Header with declarations for NtPlugPlayControl and NtGetPlugPlayEvent.
svn path=/trunk/; revision=13382
2005-02-01 17:41:49 +00:00
James Tabor
786b85342f Added Jimtabor to list.
svn path=/trunk/; revision=13381
2005-02-01 17:40:21 +00:00
Eric Kohl
abbcb5b10f NtDisplayString: Convert Unicode string to OEM.
svn path=/trunk/; revision=13380
2005-02-01 16:40:23 +00:00
James Tabor
abd3d65035 But back Advpack for now.
svn path=/trunk/; revision=13379
2005-02-01 16:38:02 +00:00
Hartmut Birr
a11189968c - Removed some wrong calls to MmUnlockAddressSpace.
- Dereference the section object after creating the section. 

svn path=/trunk/; revision=13378
2005-02-01 16:35:30 +00:00
Eric Kohl
0a44e5f7e6 First attempt at implementing NtGetPlugPlayEvent.
svn path=/trunk/; revision=13377
2005-02-01 16:24:10 +00:00
Eric Kohl
7a91135976 Fix typos in shutdown messages.
svn path=/trunk/; revision=13376
2005-02-01 16:15:24 +00:00
Eric Kohl
736ae5e36b - Implement SetupDiBuildClassInfoListExA, SetupDiClassGuidsFromNameExA, SetupDiCreateDeviceInfoListExA and SetupDiOpenClassRegKeyExA using MultiByteToUnicode.
- Retrieve OS version upon process attach.

svn path=/trunk/; revision=13375
2005-02-01 13:58:33 +00:00
Steven Edwards
ff4e3250a0 forward stubs for Escape and GetSystemPaletteUse. Working on a real patch.
svn path=/trunk/; revision=13374
2005-01-31 23:58:10 +00:00
James Tabor
9535cafaaf Remove building of Advpack for now.
svn path=/trunk/; revision=13373
2005-01-31 23:33:34 +00:00
Gunnar Dalsnes
cf5aa86154 remove obvious duplicates
svn path=/trunk/; revision=13372
2005-01-31 22:13:43 +00:00
Eric Kohl
949f9a7ff6 - Implement DoesUserHavePrivilege and EnablePrivilege.
- Fix IsUserAdmin.

svn path=/trunk/; revision=13370
2005-01-31 12:49:46 +00:00
Filip Navara
418a089cb3 Force non-inlining of ctype functions even in OPTIMIZED builds. Fixes bug #497.
svn path=/trunk/; revision=13369
2005-01-30 19:40:24 +00:00
Thomas Bluemel
36cdd4e24b fixed warnings when compiling with DBG:=1 and OPTIMIZE:=1
svn path=/trunk/; revision=13368
2005-01-30 15:27:13 +00:00
Eric Kohl
84b7df2861 - Implement IsUserAdmin (untested), MultiByteToUnicode and UnicodeToMultiByte.
- Sort prototypes in setupapi.h.

svn path=/trunk/; revision=13367
2005-01-30 13:48:51 +00:00
Filip Navara
fe2f2f66fc Attempt to solve the imfamous WM_NCPAINT handle leak. The message handler isn't required to delete the region handle while it's also valid to delete it (eg. by calling GetDCEx with it). Thus we have to send the WM_NCPAINT message only synchronously and verify the handle after the SendMessage call.
svn path=/trunk/; revision=13366
2005-01-30 12:56:12 +00:00
Filip Navara
fb16822055 Don't shutdown devices before flushing registry and shutting down filesystems.
svn path=/trunk/; revision=13365
2005-01-30 09:46:15 +00:00
Gunnar Dalsnes
7aefb1c881 msvcrt: fix incorrect export
misc

svn path=/trunk/; revision=13364
2005-01-29 22:36:52 +00:00
Steven Edwards
deee81164b Allow IntEngExtEscape stub to return something.
svn path=/trunk/; revision=13363
2005-01-29 20:16:48 +00:00
Martin Fuchs
5f08703823 border for address bar
svn path=/trunk/; revision=13362
2005-01-29 17:39:09 +00:00
Thomas Bluemel
b3f22aba55 fixed compiling with optimizations
svn path=/trunk/; revision=13361
2005-01-29 15:29:20 +00:00
Thomas Bluemel
a725df1b30 securely access buffers in NtSetContextThread() and NtGetContextThread()
svn path=/trunk/; revision=13360
2005-01-29 12:24:15 +00:00
Royce Mitchell III
1291972098 remove eol whitespace
svn path=/trunk/; revision=13359
2005-01-29 03:15:05 +00:00
Thomas Bluemel
48bc6a5e53 added buffer checks to NtCreateThread()
svn path=/trunk/; revision=13358
2005-01-28 22:43:13 +00:00
Filip Navara
00ae7e938d Hervé Poussineau <poussine@freesurf.fr>
Use fast mutexes instead of spin locks because the file system callbacks shouldn't be called at DISPATCH_LEVEL.

svn path=/trunk/; revision=13357
2005-01-28 21:17:11 +00:00
Steven Edwards
66044ade6b setupapi was sync'd to winehq.
svn path=/trunk/; revision=13356
2005-01-28 21:04:12 +00:00
Thomas Bluemel
5149504971 securely access buffers in NtImpersonateThread()
svn path=/trunk/; revision=13355
2005-01-28 20:48:43 +00:00
Thomas Bluemel
87e189fd31 GetTempPathW should write an empty string to the buffer in case it wasn't large enough
svn path=/trunk/; revision=13354
2005-01-28 19:28:24 +00:00
Thomas Bluemel
919a5257b4 also save the esi register. Thx to d_layer
svn path=/trunk/; revision=13352
2005-01-28 18:35:21 +00:00
Thomas Bluemel
22501b78f9 When a toolbar doesn't have the TBSTYLE_FLAT style redrawing the buttons when moving the mouse is not necessary.
Merged back from winehq. Fixes bug #404

svn path=/trunk/; revision=13351
2005-01-28 18:29:13 +00:00
Eric Kohl
9f44705b10 Use the service contol pipe to send a start command in order to start a service thread.
svn path=/trunk/; revision=13350
2005-01-28 13:28:56 +00:00
Thomas Bluemel
91337fece1 reverted my previous two commits, they are part of not yet committed changes...
svn path=/trunk/; revision=13349
2005-01-28 12:12:42 +00:00
Thomas Bluemel
747952fbac removed double definition of Nt/ZwSecureConnectPort
svn path=/trunk/; revision=13348
2005-01-28 12:06:50 +00:00
Thomas Bluemel
38e941330d removed double definition of Nt/ZwSecureConnectPort
svn path=/trunk/; revision=13347
2005-01-28 12:04:37 +00:00
Thomas Bluemel
fef48ab3fa 1. fixed InbvPutPixels() to save the ebx register which caused bootvid to crash when built with optimizations
2. build bootvid with optimizations when enabled

svn path=/trunk/; revision=13346
2005-01-28 11:37:09 +00:00
Royce Mitchell III
c6e6ddf2d4 allow oring multiple DebugPort values
svn path=/trunk/; revision=13345
2005-01-28 06:10:01 +00:00
Royce Mitchell III
d2f23650e6 bug fix: use the requested default os when timeout is 0 instead of defaulting to the first OS in the list.
svn path=/trunk/; revision=13344
2005-01-28 06:07:48 +00:00
Gunnar Dalsnes
4b5d785258 build msvcrt and crtdll from same source via lib\crt
fix problem with scanf/printf reading/printing doubles

svn path=/trunk/; revision=13343
2005-01-27 21:23:43 +00:00
Gunnar Dalsnes
b6a8b98ef0 build msvcrt and crtdll from same source via lib\crt
fix problem with scanf/printf reading/printing doubles

svn path=/trunk/; revision=13342
2005-01-27 21:18:04 +00:00
Gunnar Dalsnes
5379bfaa41 build msvcrt and crtdll from same source via lib\crt
fix problem with scanf/printf reading/printing doubles

svn path=/trunk/; revision=13341
2005-01-27 21:17:28 +00:00
Gunnar Dalsnes
b9d18ec3d7 build msvcrt and crtdll from same source via lib\crt
fix problem with scanf/printf reading/printing doubles

svn path=/trunk/; revision=13340
2005-01-27 21:16:41 +00:00
Mike Nordell
60d9e9aa67 Help freeloader stop crashing from divide-by-zero, provoked by drain-bamaged BIOS.
svn path=/trunk/; revision=13339
2005-01-27 21:12:05 +00:00
Eric Kohl
2829fb845f CreateNamedPipeW(): Set access rights according to the given open mode.
svn path=/trunk/; revision=13338
2005-01-27 15:28:08 +00:00
Thomas Bluemel
466fa48bd1 1. fixed prototypes of NtQueryPerformanceCounter() and NtDelayExecution() and made them safely access buffers
2. moved the implementation of Sleep(Ex)() into more a appropriate file

svn path=/trunk/; revision=13337
2005-01-27 14:11:19 +00:00
Art Yerkes
6a5c36c54a There is no WinSta in here.
svn path=/trunk/; revision=13335
2005-01-27 04:15:14 +00:00
Martin Fuchs
46a940fddb move address bar into top rebar
svn path=/trunk/; revision=13334
2005-01-27 01:03:37 +00:00
Thomas Bluemel
a84129a69e This patch removes the cursor location from the window station object and always uses it in the GDIDEVICE. Patch by tinus. Fixes bug #484
svn path=/trunk/; revision=13333
2005-01-27 00:49:24 +00:00
Martin Fuchs
f99bb4b97d fix UNICODE command line handling for MinGW builds
svn path=/trunk/; revision=13332
2005-01-27 00:33:11 +00:00
Martin Fuchs
15476f2d69 fix UNICODE command line handling for MinGW builds
svn path=/trunk/; revision=13331
2005-01-27 00:33:05 +00:00
Thomas Bluemel
fb5a8b1c3c don't optimize reading/writing from/to vga memory away in optimized builds. this fixes bug #490
svn path=/trunk/; revision=13330
2005-01-27 00:29:12 +00:00
Martin Fuchs
002ed92443 fix typos
svn path=/trunk/; revision=13329
2005-01-27 00:21:34 +00:00
Martin Fuchs
0fc75e8bd1 store startup path statically
svn path=/trunk/; revision=13328
2005-01-27 00:20:40 +00:00
Martin Fuchs
9e0b60cb02 store start URL statically
svn path=/trunk/; revision=13327
2005-01-27 00:18:30 +00:00
Martin Fuchs
47335997a6 - rename some Explorer strings to IBrowser
- fix child window size

svn path=/trunk/; revision=13326
2005-01-27 00:09:43 +00:00
Gé van Geldorp
9627e4ac70 Avoid crash if import directory is messed up
svn path=/trunk/; revision=13325
2005-01-26 23:30:50 +00:00
Aleksey Bragin
d3fb293ea3 This is the initial version of USB port+hub+hostcontroller drivers from a special version of Linux USB Stack. More info will be placed at ROS-Wiki.
svn path=/trunk/; revision=13324
2005-01-26 22:34:39 +00:00
Filip Navara
5546cc5fd3 Hervé Poussineau <poussine@freesurf.fr>
No need to create \??\Mouse symlink in mouse driver, it's done in mouclass.

svn path=/trunk/; revision=13323
2005-01-26 22:05:12 +00:00
Steven Edwards
0053497f82 added ibrowser to the makefile
svn path=/trunk/; revision=13322
2005-01-26 22:03:05 +00:00
Gé van Geldorp
c05831ef5f Hervé Poussineau <poussine@freesurf.fr>
Replace GET_RETRIEVAL_DESCRIPTOR structure (undocumented) by
RETRIEVAL_POINTERS_BUFFER. Correct alignment for some structures

svn path=/trunk/; revision=13321
2005-01-26 20:31:05 +00:00
Hartmut Birr
b142dbd5d2 - Fixed a crash in PAE mode and without the '/3GB' switch.
svn path=/trunk/; revision=13319
2005-01-26 19:43:03 +00:00
Steven Edwards
5d781df325 fix resouce compiling on cross-compile
svn path=/trunk/; revision=13318
2005-01-26 19:22:37 +00:00
Thomas Bluemel
66af63e1c7 fixed typo, "fixes" bug 486
svn path=/trunk/; revision=13317
2005-01-26 19:19:07 +00:00
Thomas Bluemel
92ce1ebfdc don't return a random status code in case of probing failed, initialize the Status variable first
svn path=/trunk/; revision=13316
2005-01-26 17:54:26 +00:00
Thomas Bluemel
a3d5e1cf55 Heap32ListFirst() should check the number of heaps in the list, not the numer of modules
svn path=/trunk/; revision=13315
2005-01-26 17:53:01 +00:00
Thomas Bluemel
87e84448db NtCreatePagingFile() should release the captured unicode string even if probing the other parameters failed
svn path=/trunk/; revision=13314
2005-01-26 14:38:27 +00:00
Thomas Bluemel
a2ea8e6fef Fixed GetTempPathA/W and GetCurrentDirectoryA/W. Patch by tinus, Eric Kohl and me, fixes bug #482
svn path=/trunk/; revision=13313
2005-01-26 14:15:38 +00:00
Eric Kohl
77a7f19e4f Remove RtlImageNtHeader, RtlImageDirectoryEntryToData, RtlImageRvaToSection and RtlImageRvaToVa because these function have been moved to lib/rtl/image.c.
svn path=/trunk/; revision=13312
2005-01-26 14:00:41 +00:00
Alex Ionescu
fe6116543e Standardize comment headers. Patch by Trevor McCort
svn path=/trunk/; revision=13311
2005-01-26 13:58:37 +00:00
Thomas Bluemel
c7348f1204 fixed usage of NtQueryDirectoryObject()
svn path=/trunk/; revision=13310
2005-01-26 13:54:53 +00:00
Thomas Bluemel
c4ee7a37ef fixed NtQueryDirectoryObject() to properly handle buffers that are not large enough
svn path=/trunk/; revision=13309
2005-01-26 13:54:07 +00:00
Eric Kohl
49cd29484d Replace hardcoded values by known constants.
svn path=/trunk/; revision=13308
2005-01-26 13:52:53 +00:00
Eric Kohl
4556d3a778 - Replace NtQuerySystemTime by KeQuerySystemTime
- Nt->Zw

svn path=/trunk/; revision=13307
2005-01-26 13:48:38 +00:00
Thomas Bluemel
0ce1bb564c securely access buffers in NtOpenDirectoryObject(), NtQueryDirectoryObject() and NtCreateDirectoryObject()
svn path=/trunk/; revision=13306
2005-01-26 12:47:38 +00:00
Alex Ionescu
394f14a702 Dynamic 3GB support, part 1. Only multiboot.S remains to be changed, all other parts of the Kernel now used KERNEL_BASE based on the command-line (Please don't use /3gb if you don't compile 3GB)
svn path=/trunk/; revision=13305
2005-01-26 05:00:08 +00:00
Steven Edwards
d533b8c5d3 Windows is stupid. Why they hell would you be case insensitive but case retaining
svn path=/trunk/; revision=13304
2005-01-26 00:43:49 +00:00
Thomas Bluemel
180cf153bb don't shift the PIDs of objects so the first bit can be used to lock objects, as the lower 2 bits of PIDs are now always zero just test and set this bit
svn path=/trunk/; revision=13303
2005-01-26 00:43:24 +00:00
Martin Fuchs
0cf4124706 first draft of SDI browser application derived from ROS Explorer
svn path=/trunk/; revision=13302
2005-01-26 00:12:33 +00:00
Thomas Bluemel
b55653e57c 1. fixed NtCreateProcess to do some buffer checks and moved the implementation to an internal function so it can be shared with PsCreateSystemProcess(). Also don't leak so many resources on failures
2. processes should acuire a cid handle for their unique process id
3. fixed several instances in structures where process ids were DWORD/ULONG instead of HANDLEs

svn path=/trunk/; revision=13301
2005-01-26 00:03:05 +00:00
Thomas Bluemel
e91cfb5065 enable the SeSystemtimePrivilege privilege which is required to call SetLocalTime
svn path=/trunk/; revision=13300
2005-01-25 23:57:57 +00:00
Steven Edwards
e22aec2f4a Forgot to add Makefiles
svn path=/trunk/; revision=13299
2005-01-25 23:50:22 +00:00
Alex Ionescu
5078cef23f Sorry for incorrect file comiited.
svn path=/trunk/; revision=13298
2005-01-25 23:40:05 +00:00
Steven Edwards
c4e6624f9a fixed building of setupapi.
svn path=/trunk/; revision=13297
2005-01-25 23:39:07 +00:00
Steven Edwards
bd706b9ed3 Imported setupapi from the vendor branch. (Again).
svn path=/trunk/; revision=13296
2005-01-25 23:36:57 +00:00
Alex Ionescu
9238d3d14f Remove debug output from user mode exceptions. Reported by hbirr.
svn path=/trunk/; revision=13295
2005-01-25 23:36:23 +00:00
Steven Edwards
30e78f58a6 removing this to reimport it
svn path=/trunk/; revision=13294
2005-01-25 23:36:16 +00:00
Steven Edwards
3cae21ed95 Imported vendor drop of setupapi.
svn path=/trunk/; revision=13293
2005-01-25 23:23:38 +00:00
Gé van Geldorp
8948ac5248 Replace wcschr. Fixes bug #488.
svn path=/trunk/; revision=13290
2005-01-25 22:58:47 +00:00
Hartmut Birr
1701ae1191 - Removed slab.c, because this functions are not used.
svn path=/trunk/; revision=13289
2005-01-25 22:51:51 +00:00
Hartmut Birr
6193b59bb3 - Implemented a kernel mapping region which is process local.
This mapping can be used to map temporary memory pages from 
  other process's like  pde's/pte's. It is also used to make 
  a copy of a page or to clean a page.

svn path=/trunk/; revision=13288
2005-01-25 22:50:47 +00:00
Hartmut Birr
df79339515 - Renamed UpdateProgress to VfatxUpdateProgress.
svn path=/trunk/; revision=13287
2005-01-25 22:36:28 +00:00
Hartmut Birr
85d156faef - Added vfatxlib.
svn path=/trunk/; revision=13286
2005-01-25 22:10:39 +00:00
Hartmut Birr
ce143bb72c - Fixed the directory index of a file for FATX.
- Initialize some values from the RFCB.

svn path=/trunk/; revision=13285
2005-01-25 21:16:19 +00:00
Hartmut Birr
0bc04189e7 - Fixed the directory index of a file for FATX.
- Check for the file size before eache call to CcMapData. W2K doesnt like to map over the end of a directory.

svn path=/trunk/; revision=13284
2005-01-25 21:14:57 +00:00
Hartmut Birr
0d6305b3bc - Print the major function codes if debug prints are enabled.
svn path=/trunk/; revision=13283
2005-01-25 21:13:28 +00:00
Hartmut Birr
9147b52d01 - Allow the second device name RosFat to make it possible to load vfatfs on W2k if fastfat is already loaded.
- Moved the initialisation of the callback and fast io functions to fastio.c.

svn path=/trunk/; revision=13282
2005-01-25 21:12:52 +00:00
Hartmut Birr
b3dd7cd455 - Fixed some problems to recognize a FATX partition on a non xbox (Should be tested on a real xbox).
- Fixed the calculation of the number of clusters.

svn path=/trunk/; revision=13281
2005-01-25 21:11:46 +00:00
Hartmut Birr
4ef74de489 - Print the file information class if debug prints are enabled in VfatGet/SetInformation.
- Check for the open handle count instead of the reference count if file deletion is requested.

svn path=/trunk/; revision=13280
2005-01-25 21:10:42 +00:00
Hartmut Birr
81ddc4aa52 - Implemented dummy stubs for all fast io entry points. W2K does ignore the IsFastIoPossible variable of the fcb.
- Fixed the directory index of a file for FATX.

svn path=/trunk/; revision=13279
2005-01-25 21:09:55 +00:00
Hartmut Birr
c25206e880 - Check for some special file streams in VfatUpdateEntry.
W2K does open the volume for changing the date and time, 
  but the volume hasn't a parent fcb.  
- Fixed the directory index of a file for FATX.

svn path=/trunk/; revision=13278
2005-01-25 21:08:54 +00:00
Hartmut Birr
4211cf6398 - Fixed the directory index of a file for FATX.
- Replaced VfatSupersedeFile with VfatSetAllocationSizeInformation.  
- Check for the file size before each call to CcMapData. W2K doesn't like it to map over the end of a directory.


svn path=/trunk/; revision=13277
2005-01-25 21:07:32 +00:00
Hartmut Birr
4240c717c7 - Always try to uninitialize the file cache in VfatCleanupFile.
- Try to purge the file cache if the last handle is closed and deleting of the file was requested.

svn path=/trunk/; revision=13276
2005-01-25 21:05:38 +00:00
Mike Nordell
afec493812 NtGdiExtTextOut (ExtTextOut in user-mode) should now obey at least the right clipping edge with ETO_CLIPPED.
svn path=/trunk/; revision=13275
2005-01-25 20:53:37 +00:00
Steven Edwards
83b24c1c23 added winetests for version.dll
svn path=/trunk/; revision=13274
2005-01-25 19:11:22 +00:00
Steven Edwards
c7fd3f9438 remove some duplicate definintions.
svn path=/trunk/; revision=13273
2005-01-25 17:52:28 +00:00
Mike Nordell
c819a16600 Fixe use of memory after it had been free'd.
svn path=/trunk/; revision=13272
2005-01-25 16:38:18 +00:00
Mike Nordell
b0fc9bcff6 Kill compiler warning.
svn path=/trunk/; revision=13271
2005-01-25 16:26:01 +00:00
Mike Nordell
c4566e585f Fix declaration of WSAStartup
svn path=/trunk/; revision=13270
2005-01-25 14:22:50 +00:00
Gé van Geldorp
0b1105fc94 tinus <o112w8r02@sneakemail.com>
Properly allow removing toolbar bitmaps by changing it into 0.

svn path=/trunk/; revision=13269
2005-01-25 08:32:47 +00:00
Alex Ionescu
e032cf1fe8 Set up ACPI Interrupt data before creating the interrupt, to fix case where interrupt is being called as soon as it's being set up, before the data is set. Patch by tinus. Fixes bug 472
svn path=/trunk/; revision=13268
2005-01-25 05:38:01 +00:00
Alex Ionescu
c0441b0e5f Fix compiler errors. Patch by Herve Poussineau. Fixes bug 478
svn path=/trunk/; revision=13267
2005-01-25 05:11:17 +00:00
Alex Ionescu
dcee180336 Fix bug 474. Patch by tinus
svn path=/trunk/; revision=13266
2005-01-25 05:00:57 +00:00
Steven Edwards
ce861ca908 finished merging setupapi with Winehq CVS. Tommrow I will do a vendor drop of the latest Winehq CVS.
svn path=/trunk/; revision=13265
2005-01-25 01:35:43 +00:00
Alex Ionescu
05ea4c4aa5 Fix bugs on optimized build, fix RtlpDispatchException gobbling up ebx (thx ge), remove obsolete files
svn path=/trunk/; revision=13264
2005-01-25 01:23:23 +00:00
Steven Edwards
e19650d041 sync'd more of Wine setupapi. Added stubs and such.
svn path=/trunk/; revision=13263
2005-01-25 01:22:10 +00:00
Steven Edwards
6fba4c4f68 update to latest setupapi.h
svn path=/trunk/; revision=13262
2005-01-25 01:21:38 +00:00
Hartmut Birr
93e62510cf - Enabled SYSENTER/SYSEXIT for application processors on smp machines.
svn path=/trunk/; revision=13261
2005-01-25 00:28:45 +00:00
Thomas Bluemel
a3209eaf3e return error status in case probing the parameters failed in IoCreateFile()
svn path=/trunk/; revision=13260
2005-01-25 00:05:56 +00:00
Thomas Bluemel
5cb56337b2 some more parameter checks in IoCreateFile()
svn path=/trunk/; revision=13259
2005-01-24 23:59:30 +00:00
Hartmut Birr
24154dbca8 - Fixed my last commit.
svn path=/trunk/; revision=13258
2005-01-24 23:23:38 +00:00
Hartmut Birr
a7cbe13790 - Interpret STATUS_TIMEOUT as error in PsLockProcess.
svn path=/trunk/; revision=13257
2005-01-24 22:58:54 +00:00
Gé van Geldorp
93551abbd2 Implement IO_NO_PARAMETER_CHECKING flag
svn path=/trunk/; revision=13256
2005-01-24 22:02:09 +00:00
Martin Fuchs
d7aea92eeb adjust properties (CRLF line endlings, ignores)
svn path=/trunk/; revision=13255
2005-01-24 21:25:27 +00:00
Gé van Geldorp
d4d3631bfe Rollback last change, since we found out that IoCreateFile can accept
usermode parameters too

svn path=/trunk/; revision=13254
2005-01-24 21:21:17 +00:00
Martin Fuchs
4b48677143 fix typo and update CVS->Subversion
svn path=/trunk/; revision=13253
2005-01-24 21:05:37 +00:00
Gé van Geldorp
fe7b4968ce IoCreateFile should be passed kernelmode parameters.
svn path=/trunk/; revision=13252
2005-01-24 19:42:54 +00:00
Gé van Geldorp
c011a8410e Check error code before it is possibly clobbered. Spotted by w3seek.
svn path=/trunk/; revision=13251
2005-01-24 19:32:40 +00:00
Art Yerkes
c396222f34 Minor fix to ICMP receive.
svn path=/trunk/; revision=13249
2005-01-24 16:58:53 +00:00
Eric Kohl
0523b42582 Implement DuplicateString and QueryRegistryValue.
svn path=/trunk/; revision=13248
2005-01-24 14:17:30 +00:00
Eric Kohl
0c3b08d721 MyMalloc must not zero the memory.
svn path=/trunk/; revision=13247
2005-01-24 11:53:36 +00:00
Gé van Geldorp
87be65443f tinus <o112w8r02@sneakemail.com>
Don't allow selecting disabled menu items

svn path=/trunk/; revision=13246
2005-01-24 09:41:00 +00:00
Gé van Geldorp
5888e99ef3 Sylvain Petreolle <spetreolle@yahoo.fr>:
Add makefile for "polytest" test & enable it.
Fix compile warnings for diskspeed & zwcontinue tests

svn path=/trunk/; revision=13245
2005-01-24 09:33:21 +00:00
Gé van Geldorp
1aef2603e8 Fix compilation
svn path=/trunk/; revision=13244
2005-01-24 09:31:42 +00:00
Steven Edwards
c8f0cffff4 Correct location of a few stubs. Getting ready to sync in a day or so.
svn path=/trunk/; revision=13243
2005-01-24 05:12:15 +00:00
Alex Ionescu
a7272a8721 Proper support for vfatlib and allow -j2 to work (as long as make tools && make implib && make -j2 is used).
svn path=/trunk/; revision=13242
2005-01-24 02:08:25 +00:00
Thomas Bluemel
35c792ee32 fixed prototype of ZwOpenSemaphore
svn path=/trunk/; revision=13241
2005-01-24 00:44:21 +00:00
Thomas Bluemel
1796f01382 minor fixes
svn path=/trunk/; revision=13240
2005-01-24 00:43:39 +00:00
Gé van Geldorp
b1f6601134 Nt -> Zw
svn path=/trunk/; revision=13239
2005-01-24 00:18:57 +00:00
Gé van Geldorp
49af955e23 Make memory layout of GET_RETRIEVAL_DESCRIPTOR match RETRIEVAL_POINTERS_BUFFER
svn path=/trunk/; revision=13238
2005-01-24 00:15:29 +00:00
Thomas Bluemel
e453a1e961 don't copy the entire security descriptor to the stack in SeCaptureSecurityDescriptor() when previous mode is kernel mode and capturing for kernel mode is undesired
svn path=/trunk/; revision=13237
2005-01-24 00:09:04 +00:00
Thomas Bluemel
064504a61d 1. fixed the timer functions to securely access buffers
2. minor fixes due to copy+paste

svn path=/trunk/; revision=13236
2005-01-23 23:51:40 +00:00
Thomas Bluemel
7c02041548 1. fixed prototypes of NtSetSystemTime and NtQuerySystemTime and made them handle passed buffers securely
2. check for the SeSystemtimePrivilege privilege in NtSetSystemTime()
3. write debug messages when privileges are missing

svn path=/trunk/; revision=13235
2005-01-23 23:02:19 +00:00
Emanuele Aliberti
4301549d0d ObjectBody->Permanent setting cleaned.
svn path=/trunk/; revision=13234
2005-01-23 22:42:31 +00:00
Gé van Geldorp
60a81b9a9b Fix typo
svn path=/trunk/; revision=13233
2005-01-23 22:25:11 +00:00
Thomas Bluemel
baf658a398 fixed semaphore functions to securely access buffers and some minor fixes
svn path=/trunk/; revision=13232
2005-01-23 22:09:27 +00:00
Alex Ionescu
b25bf92b14 Fix svn:ignore problems and remove alignment hacks
svn path=/trunk/; revision=13231
2005-01-23 21:26:27 +00:00
Gé van Geldorp
acb0d0d67d Nt -> Zw fixes
svn path=/trunk/; revision=13230
2005-01-23 21:19:24 +00:00
Thomas Bluemel
7b20e4cdbf get rid of the reactos-only RTL_REGISTRY_ENUM flag and added more debug messages to ease debugging failures
svn path=/trunk/; revision=13229
2005-01-23 20:58:28 +00:00
Gé van Geldorp
05934c33b6 Make gdb stack trace back to usermode work again
svn path=/trunk/; revision=13228
2005-01-23 20:57:45 +00:00
Gé van Geldorp
c377a52fa4 Keep usermode stack 4-byte aligned
svn path=/trunk/; revision=13227
2005-01-23 20:48:19 +00:00
Thomas Bluemel
e9c80bcd6f the system process should be called "System", not "SYSTEM"
svn path=/trunk/; revision=13226
2005-01-23 18:18:08 +00:00
Art Yerkes
fcfa663724 Fixed DNS lookup in ping.
Fixed output format.

Patch by Andrew Munger (WaxDragon)

svn path=/trunk/; revision=13224
2005-01-23 11:01:51 +00:00
Art Yerkes
a23df2bed0 Fixed broadcast UDP.
lan: Added calculation of broadcast address.
fileobjs: Check for broadcast receive.
neighbor: Check for broadcast send.
interface: Use cached broadcast address.
udp: Fix port allocation.

svn path=/trunk/; revision=13223
2005-01-23 09:51:03 +00:00
Thomas Bluemel
063e4f41a5 don't leak resources on failure
svn path=/trunk/; revision=13220
2005-01-22 20:59:49 +00:00
Thomas Bluemel
31067aaecb RtlCaptureUnicodeString should also check the buffers that the UNICODE_STRING structure points to...
svn path=/trunk/; revision=13219
2005-01-22 20:53:14 +00:00
Thomas Bluemel
87a8d3ebeb more NtXxx vs. ZwXxx fixes
svn path=/trunk/; revision=13215
2005-01-22 15:48:00 +00:00
Thomas Bluemel
96245a4ae9 return the status code when probing the buffer failed
svn path=/trunk/; revision=13212
2005-01-22 14:34:54 +00:00
Thomas Bluemel
d361170c2c 1. remove obsolete buffer size checks from NtQueryInformationProcess()
2. fixed some buffer checks

svn path=/trunk/; revision=13210
2005-01-22 13:34:27 +00:00
Thomas Bluemel
1be6d7bcaa fixed the prototype of KePulseEvent() and made NtPulseEvent() return the previous state
svn path=/trunk/; revision=13209
2005-01-22 12:45:03 +00:00
Thomas Bluemel
72ae3c4197 1. A few Nt vs. Zw fixes
2. Fixed and extended RtlCaptureUnicodeString()
3. securely access buffers in NtQuerySystemEnvironmentValue() and NtSetSystemEnvironmentValue() and check for required SeSystemEnvironmentPrivilege privilege

svn path=/trunk/; revision=13208
2005-01-22 12:20:12 +00:00
Art Yerkes
9fbbec950f Working ping.
msafd: Added datagram flag to SOCK_RAW sockets
transport/* did some refactoring, added some printing.
  Main thing: there is now a generic IP only header builder in rawip that's
  shared by udp and rawip.
afd: Make sure datagram sockets always select writable
     Add some socket close infrastructure to kill associated active polls

svn path=/trunk/; revision=13207
2005-01-22 06:47:33 +00:00
Alex Ionescu
07ea0d9fa0 Fix remaning ROS bugs. A minor hack has been added to ObCreateObject because it seems that gcc doesn't dword-align the stacks?!! Thanks to w3seek for some of the ex patches.
svn path=/trunk/; revision=13206
2005-01-22 03:54:23 +00:00
Steven Edwards
c6bd59c308 more syncing of setupapi
svn path=/trunk/; revision=13205
2005-01-22 02:38:07 +00:00
Art Yerkes
7d3a25e1cc Removed uninitialized uSec and its use.
svn path=/trunk/; revision=13204
2005-01-22 02:06:56 +00:00
Steven Edwards
e6c8a783fb started syncing setupapi.dll with Winehq. Once I get things in sync I will import to the vendor branch and do a proper merge.
svn path=/trunk/; revision=13203
2005-01-22 01:35:07 +00:00
Alex Ionescu
e5c8bc95a6 Fix all remaning alignment errors. Ros is now moderately usable. Error in explorer remains making disk browsing impossible, but with other tools it still works
svn path=/trunk/; revision=13202
2005-01-22 01:30:05 +00:00
Alex Ionescu
f01dc245a1 ReactOS now boots. More bug fixes needed
svn path=/trunk/; revision=13201
2005-01-22 01:00:12 +00:00
Thomas Bluemel
06bcb7b055 remove double function head of NtCreateEvent()
svn path=/trunk/; revision=13200
2005-01-21 23:58:30 +00:00
Alex Ionescu
686128e903 First patch to fix seriously broken ROS (thank Thomas). Work in progress, will be cleaned up at the end
svn path=/trunk/; revision=13199
2005-01-21 23:35:19 +00:00
Thomas Bluemel
1b5ef0524f don't probe ObjectAttributes if NULL
svn path=/trunk/; revision=13198
2005-01-21 23:01:33 +00:00
Thomas Bluemel
bbc9243d77 NtCreateJobObject() should create the handle instead of just returning a uninitialized variable
svn path=/trunk/; revision=13197
2005-01-21 22:25:54 +00:00
Thomas Bluemel
81fd53f09d Simplify buffer checks for NtQueryInformation...() and NtSetInformation...() using universal macros and information class tables
svn path=/trunk/; revision=13196
2005-01-21 21:37:32 +00:00
Thomas Bluemel
52fadec1ee the ProcessPriorityBoost class expects ULONG, not BOOL
svn path=/trunk/; revision=13195
2005-01-21 21:34:49 +00:00
Thomas Bluemel
ec6ea0795a properly query the device map
svn path=/trunk/; revision=13194
2005-01-21 21:29:29 +00:00
Thomas Bluemel
4da8f45753 properly set the access token in CreateProcessAsUser()
svn path=/trunk/; revision=13192
2005-01-21 20:31:24 +00:00
Gregor Anich
955bb3e32e Fix compiler warning.
svn path=/trunk/; revision=13189
2005-01-21 17:24:34 +00:00
Thomas Bluemel
a016befb78 fixed ASSERT statement, thanks to blight for pointing it out
svn path=/trunk/; revision=13188
2005-01-21 17:17:13 +00:00
Gé van Geldorp
27c9d50d1d Merge back commit from winehq
svn path=/trunk/; revision=13187
2005-01-21 16:50:11 +00:00
Thomas Bluemel
1e0c9bb940 partial implementation of NtTerminateJobObject()
svn path=/trunk/; revision=13186
2005-01-21 14:52:53 +00:00
Thomas Bluemel
21f9ca1b64 implemented NtOpenJobObject()
svn path=/trunk/; revision=13185
2005-01-21 14:40:06 +00:00
Thomas Bluemel
f67131616e partial implementation of NtAssignProcessToJobObject() and NtCreateJobObject()
svn path=/trunk/; revision=13184
2005-01-21 14:12:03 +00:00
Thomas Bluemel
b3dfa90a2f add PoolType parameter to ObpCaptureObjectAttributes() and removed an unused parameter
svn path=/trunk/; revision=13183
2005-01-21 13:25:28 +00:00
Eric Kohl
3c5d760b6c Implement MyFree, MyMalloc and MyReAlloc.
svn path=/trunk/; revision=13182
2005-01-21 12:27:32 +00:00
Thomas Bluemel
599f7e108c fixed ObpCaptureObjectAttributes() so it doesn't copy the object name if probing previously failed
svn path=/trunk/; revision=13181
2005-01-21 11:14:41 +00:00
Thomas Bluemel
0dbd86466b fixed usage of uninitialized variable
svn path=/trunk/; revision=13180
2005-01-21 10:33:30 +00:00
Thomas Bluemel
f15230fffc added helper functions ObpCaptureObjectAttributes() and ObpReleaseObjectAttributes() to be used to safely capture OBJECT_ATTRIBUTES structures
svn path=/trunk/; revision=13179
2005-01-21 10:28:13 +00:00
Thomas Bluemel
d183d616d0 SeCaptureSecurityDescriptor() should only copy SIDs and ACLs when present
svn path=/trunk/; revision=13178
2005-01-21 02:39:59 +00:00
Mike Nordell
53ea2da74d Fix crashing browsing namespace with non-zero-terminated UNICODE_STRING.
svn path=/trunk/; revision=13177
2005-01-21 02:34:33 +00:00
Thomas Bluemel
be2cf1c579 SeCaptureSecurityDescriptor() should take PoolType into account...
svn path=/trunk/; revision=13176
2005-01-21 02:19:13 +00:00
Thomas Bluemel
f693575e35 implemented SeCaptureSecurityDescriptor() and SeReleaseSecurityDescriptor(), thanks also to Alex
svn path=/trunk/; revision=13175
2005-01-21 02:14:52 +00:00
Gunnar Dalsnes
e0e2a23ad6 forgot a letter...
svn path=/trunk/; revision=13174
2005-01-20 23:25:05 +00:00
Gunnar Dalsnes
759171e1fe add readme with rtl restrictions info
svn path=/trunk/; revision=13172
2005-01-20 23:21:14 +00:00
Gé van Geldorp
1e2f8e3c7d Gedi <gedi@ntworld.com>
Prevent possible use of uninitialized var warning

svn path=/trunk/; revision=13170
2005-01-20 22:45:22 +00:00
Thomas Bluemel
808fec3b76 don't touch memory outside the area to be probed in ProbeForWrite() and minor address range check fixes in ProbeForRead/Write()
svn path=/trunk/; revision=13167
2005-01-20 21:03:35 +00:00
Alex Ionescu
0b7bbeea36 Fix FsRtl function prototypes
svn path=/trunk/; revision=13166
2005-01-20 13:31:49 +00:00
Thomas Bluemel
1afa98bcff fixed uninitialized variables warning
svn path=/trunk/; revision=13165
2005-01-20 13:17:57 +00:00
Thomas Bluemel
0d3598e98b fixed uninitialized variables warning
svn path=/trunk/; revision=13164
2005-01-20 13:13:16 +00:00
Gé van Geldorp
5be65d6f1d ReactOS additions/changes
svn path=/trunk/; revision=13163
2005-01-20 11:41:23 +00:00
Gé van Geldorp
f24b6093d2 Initial vendor drop
svn path=/trunk/; revision=13162
2005-01-20 11:37:29 +00:00
Gé van Geldorp
4ba8fcfa61 Remove old version
svn path=/trunk/; revision=13161
2005-01-20 11:23:48 +00:00
Eric Kohl
cba8100915 - Update LegalAnsiCharacterArray (set FAT, HPFS and NTFS flags).
- Improve the prototypes of FsRtlIsDbcsInExpression, FsRtlIsFatDbcsLegal and FsRtlIsHpfsDbcsLegal.

svn path=/trunk/; revision=13156
2005-01-20 10:04:22 +00:00
Thomas Bluemel
c894dc2473 fixed copying buffers in the ProcessImageFileName class in NtQueryInformationProcess() when copying the image name from a process other than the current one
svn path=/trunk/; revision=13151
2005-01-20 02:14:20 +00:00
Thomas Bluemel
e9bb005dfb fixed ProbeForWrite() for optimized builds
svn path=/trunk/; revision=13149
2005-01-20 01:19:52 +00:00
Thomas Bluemel
f9c455c59e move implementation of NtOpenProcessToken() to NtOpenProcessTokenEx()
svn path=/trunk/; revision=13148
2005-01-20 00:44:55 +00:00
Thomas Bluemel
d6628e3e23 wrap access to foreign Peb with SEH
svn path=/trunk/; revision=13147
2005-01-20 00:31:52 +00:00
Thomas Bluemel
cfdf8abfca fixed typo
svn path=/trunk/; revision=13146
2005-01-20 00:14:50 +00:00
Thomas Bluemel
80d404e4e9 implemented the ProcessDebugPort class for NtSetInformationProcess()
svn path=/trunk/; revision=13145
2005-01-20 00:12:38 +00:00
Thomas Bluemel
f006a0d6f9 1. implemented the ProcessDebugPort class for NtQueryInformationProcess()
2. Probe user mode pointers in NtQueryInformationProcess() and NtSetInformationProcess()

svn path=/trunk/; revision=13144
2005-01-19 23:38:06 +00:00
Thomas Bluemel
3638fef3ce secure access to buffers in NtQueryInformationProcess() and NtSetInformationProcess()
svn path=/trunk/; revision=13143
2005-01-19 22:47:26 +00:00
Thomas Bluemel
9543041c3d implemented the TokenSessionId class for NtQueryInformationToken()
svn path=/trunk/; revision=13142
2005-01-19 22:45:14 +00:00
Thomas Bluemel
51e2ff7462 1. fixed the ProcessAccessToken information class to properly check buffers
2. implemented the ProcessExceptionPort information class

svn path=/trunk/; revision=13141
2005-01-19 21:47:51 +00:00
KJK::Hyperion
223c560590 Temporary hack to make ntoskrnl stop crashing - an user-mode pointer (in the EBP register) was being dereferenced without any check
Since I don't know what this is for, I'm disabling it for now - it works for people reporting the crash, and it apparently only breaks GDB support. Alex, this should be your baby, please have a look

svn path=/trunk/; revision=13140
2005-01-19 21:05:26 +00:00
Thomas Bluemel
030b284e30 fixed typo in PsLockProcess()
svn path=/trunk/; revision=13139
2005-01-19 21:04:37 +00:00
Thomas Bluemel
f2e99da071 implemented the ProcessSessionInformation information class
svn path=/trunk/; revision=13138
2005-01-19 20:59:53 +00:00
Steven Edwards
edd0e23bb6 make NtFlushVirtualMemory return STATUS_SUCCESS rather than hanging as being UNIMPLEMENTED. Added a DPRINT to warn that its a stub
svn path=/trunk/; revision=13137
2005-01-19 20:26:56 +00:00
Thomas Bluemel
837f31e111 fixed implementation of SetErrorMode() which should rather store the mode in the EPROCESS structure
svn path=/trunk/; revision=13136
2005-01-19 20:16:26 +00:00
Thomas Bluemel
c0ff13e571 made SetErrorMode() thread-safe
svn path=/trunk/; revision=13134
2005-01-19 19:14:56 +00:00
Gé van Geldorp
5b0f6dccee tinus <o112w8r02@sneakemail.com>
This patch fixes some weirdness in the clipping logic. It also seems to make
these 'black cursor' images happen less often, but I can't tell for sure.

svn path=/trunk/; revision=13133
2005-01-19 14:25:10 +00:00
Gé van Geldorp
c668ac40c1 tinus <o112w8r02@sneakemail.com>
Prevent part of "My Computer" icon being erased during startup

svn path=/trunk/; revision=13132
2005-01-19 14:15:29 +00:00
Steven Edwards
626bad3278 Change UNIMPLEMENTED to DPRINT1 for NtGdiRemoveFontResource to make the MS Office installer a little more happy
svn path=/trunk/; revision=13131
2005-01-19 06:51:35 +00:00
Alex Ionescu
5b90245c50 Bug fixes against uninitizlied variables and support for tree-wide optimization (do not try yet, crashes in bootvid).
svn path=/trunk/; revision=13130
2005-01-19 03:33:43 +00:00
Alex Ionescu
dfb0ecac30 Fix hacks from last night and properly share the code
svn path=/trunk/; revision=13128
2005-01-19 01:11:43 +00:00
Thomas Bluemel
662d94147e fixed prototype of NtNotifyChangeKey()
svn path=/trunk/; revision=13127
2005-01-18 22:47:16 +00:00
KJK::Hyperion
5a3c9154cd Implemented TransmitFile (non-functional, depends on unimplemented features), added some missing definitions to mswsock.h
svn path=/trunk/; revision=13126
2005-01-18 22:36:39 +00:00
Hartmut Birr
1454ac7d81 - Fixed the disabling of interrupts on the stack before sysexit.
svn path=/trunk/; revision=13125
2005-01-18 18:12:41 +00:00
Eric Kohl
b924c1f528 Revert accidential changes.
svn path=/trunk/; revision=13123
2005-01-18 14:16:01 +00:00
Eric Kohl
fafbe81db6 - Remove Nt/ZwQueryOleDirectoryFile.
- Nt/ZwPlugPlayControl has got 3 instead of 4 arguments.

svn path=/trunk/; revision=13122
2005-01-18 13:59:14 +00:00
Gunnar Dalsnes
38646d1b3f replace heap allocs with pool allocs (cant use heap allocs in rtl)
svn path=/trunk/; revision=13121
2005-01-18 13:27:28 +00:00
Gé van Geldorp
0612bf5ddf SVN property stuff
svn path=/trunk/; revision=13120
2005-01-18 11:07:34 +00:00
Gé van Geldorp
058076c6a2 Fix crash during boot
svn path=/trunk/; revision=13119
2005-01-18 10:41:49 +00:00
Gé van Geldorp
820d97c380 Fix line endings
svn path=/trunk/; revision=13118
2005-01-18 10:08:31 +00:00
Alex Ionescu
3f10399e5d Fix to unbreak tree. This is temporary until I come up with a good NtCurrentPeb macro that can be shared. Note that the brekage is because an ntdll only function was put in rtl but never used from ntoskrnl until my previous patch. It could be shared, but I need to do some work on it.
svn path=/trunk/; revision=13117
2005-01-18 06:00:55 +00:00
Steven Edwards
e67bd739cb added cabinet,msi and msiexec to the Makefile. This gets IE, Office and friends a little further along
svn path=/trunk/; revision=13116
2005-01-18 05:52:54 +00:00
Art Yerkes
c43897388e This file migrated to ip.a a while back.
svn path=/trunk/; revision=13115
2005-01-18 04:41:17 +00:00
Art Yerkes
2cbfa21b96 Removed this IoReleaseCancelSpinlock. I believe it's correct but seems to
bugcheck others.

svn path=/trunk/; revision=13114
2005-01-18 04:39:15 +00:00
Alex Ionescu
e4d14eb7ad Share duplicated Rtl code. I've taken care to use the most recent code, so now ntoskrnl can also do environment string expansion.
svn path=/trunk/; revision=13113
2005-01-18 04:33:31 +00:00
Art Yerkes
c435570afa HTTP registry browser.
svn path=/trunk/; revision=13112
2005-01-18 04:25:27 +00:00
Art Yerkes
6ef8bebde9 Browsing netreg, the http registry server works.
svn path=/trunk/; revision=13111
2005-01-18 04:14:13 +00:00
Alex Ionescu
fc779d75d9 MSVC compatibility for NCITool, fix more svn:ignore stuff..., enable interrupts during APC delivery and syscall calling, because the functions are probably expecting them to be enabled at that time.
svn path=/trunk/; revision=13110
2005-01-18 04:02:49 +00:00
Mark Tempel
ecac8a6e91 Update to load usbuhci
svn path=/trunk/; revision=13109
2005-01-18 03:35:37 +00:00
Mark Tempel
c1d9eb7340 Update to add some debugging messages.
svn path=/trunk/; revision=13108
2005-01-18 03:34:18 +00:00
Alex Ionescu
c2f6ea52b4 Fix SYSENTER support in VMware. New benchmar: 200ms. ***70%*** faster then with Int2E. Fix FPU save bug/explorer bug. Fix Vmware 4.0 crash bug. HARTMUT IS A GENIUS.
svn path=/trunk/; revision=13107
2005-01-18 03:28:00 +00:00
Mark Tempel
79da6bc351 svn path=/trunk/; revision=13106 2005-01-18 02:12:45 +00:00
Art Yerkes
3fd5cf1bd2 Removed old stupid cruft i added when i didn't understand this code.
svn path=/trunk/; revision=13105
2005-01-18 01:32:01 +00:00
Thomas Bluemel
2215233073 fixed GetCurrentDirectoryA() to properly handle the case where the caller only queries the required buffer size.
svn path=/trunk/; revision=13104
2005-01-17 22:05:00 +00:00
Hartmut Birr
d259b9f2fc - Set the limit of the user mode code/data segment back to 4GB.
svn path=/trunk/; revision=13102
2005-01-17 21:29:43 +00:00
Gé van Geldorp
3dd9f51ff6 Fix building on Windows
svn path=/trunk/; revision=13101
2005-01-17 20:32:09 +00:00
Hartmut Birr
fa74b30016 - Fixed the sysexit check. We must use a kernel mode segment to access KiFastSystemCallDisable.
- Fixed some segment limits.

svn path=/trunk/; revision=13100
2005-01-17 19:22:03 +00:00
Eric Kohl
69688ce6ab Patch by tinus.Fix media change support for CDROMs. This fixes bug #471. Patch by tinus.
svn path=/trunk/; revision=13097
2005-01-17 14:30:31 +00:00
Eric Kohl
968f3f7c24 Enable CdfsOpenFile() to open a file using a relative filename. This fixes bug #477. Patch by tinus.
svn path=/trunk/; revision=13096
2005-01-17 10:20:03 +00:00
Eric Kohl
27c0824f2c Remove obsolete code.
svn path=/trunk/; revision=13095
2005-01-17 10:16:17 +00:00
Eric Kohl
54703fcfc8 Set the environment variables %USERPROFILE% and %ALLUSERSPROFILE% for the Live-CD. Fixes bug #479.
Patch by tinus.

svn path=/trunk/; revision=13094
2005-01-17 09:50:10 +00:00
Alex Ionescu
13390d7cbd The actual fix...
svn path=/trunk/; revision=13093
2005-01-17 07:31:12 +00:00
Alex Ionescu
87a98e17d3 SVN Stupidity
svn path=/trunk/; revision=13092
2005-01-17 07:25:38 +00:00
Alex Ionescu
7b59e487ac Small fix
svn path=/trunk/; revision=13091
2005-01-17 07:24:10 +00:00
Alex Ionescu
f6559e22c4 SYSENTER support, INT2E Optimization, new Syscall Table/Stub generator and svn:ignore fixes. Please read associated Mailing List Post.
svn path=/trunk/; revision=13090
2005-01-17 07:10:34 +00:00
Art Yerkes
0eab4e1544 Assert writable on a new socket.
svn path=/trunk/; revision=13089
2005-01-17 01:30:26 +00:00
Emanuele Aliberti
3d23fea989 Alex Ionescu added.
svn path=/trunk/; revision=13088
2005-01-16 22:53:36 +00:00
Gé van Geldorp
230af59be2 Create performance test program
svn path=/trunk/; revision=13087
2005-01-16 22:35:11 +00:00
Gé van Geldorp
182c4064e6 Use native BOOLEAN instead of win32k BOOL
svn path=/trunk/; revision=13076
2005-01-16 11:29:03 +00:00
Gé van Geldorp
3944d90e5e Implement LOAD_LIBRARY_AS_DATAFILE flag (forgotten file)
svn path=/trunk/; revision=13074
2005-01-16 09:44:07 +00:00
Gé van Geldorp
06a877e885 Implement LOAD_LIBRARY_AS_DATAFILE flag
svn path=/trunk/; revision=13073
2005-01-16 09:36:19 +00:00
Hartmut Birr
a30a353dcb - Fixed some minor bugs.
- Moved the definition for unicode compiling to the make file.  
- Wait on the input handle instead to poll it every 40ms.
- Use the number of cpus for time calculations.

svn path=/trunk/; revision=13067
2005-01-15 20:28:19 +00:00
Hartmut Birr
c30d55149e - 'Y', 'N', 'K' and 'Q' must be upper case.
svn path=/trunk/; revision=13066
2005-01-15 20:23:32 +00:00
Hartmut Birr
9bf671b7f6 - Fixed a bug which results in losing a character in the write buffer
if there is a  call to lseek immediately after the call to flsbuf.

svn path=/trunk/; revision=13065
2005-01-15 20:20:53 +00:00
Casper Hornstrup
9dab4509fa Import TechBot
svn path=/trunk/; revision=13064
2005-01-15 19:27:25 +00:00
Casper Hornstrup
568b27baeb Move Arch to irc module.
svn path=/trunk/; revision=13063
2005-01-15 19:15:45 +00:00
Thomas Bluemel
85ae2d98f2 janitory work
svn path=/trunk/; revision=13060
2005-01-15 16:42:28 +00:00
Thomas Bluemel
c0aceb10d9 janitory work
svn path=/trunk/; revision=13059
2005-01-15 16:35:30 +00:00
Thomas Bluemel
96bc14a162 fixed invalid dependency to msvcrt
svn path=/trunk/; revision=13058
2005-01-15 16:01:55 +00:00
Gé van Geldorp
e3ea6fc396 Hervé Poussineau <hpoussineau@fr.st>
Add localization to ctm

svn path=/trunk/; revision=13057
2005-01-15 15:28:51 +00:00
Gé van Geldorp
274efb4364 amdg <xbn@isw.uni-stuttgart.de>
Spanish translation for timedate.cpl

svn path=/trunk/; revision=13056
2005-01-15 15:09:22 +00:00
Thomas Bluemel
0ccb1d80d9 delete empty and unused directory
svn path=/trunk/; revision=13054
2005-01-15 10:37:01 +00:00
Gé van Geldorp
8d58a5f254 Speed up 16bpp fills by a factor 2
svn path=/trunk/; revision=13053
2005-01-15 09:46:55 +00:00
Thomas Bluemel
cc5f2d10ce implemented QueryWorkingSet()
svn path=/trunk/; revision=13052
2005-01-15 02:44:25 +00:00
Thomas Bluemel
3e133f3384 implemented GetProcessMemoryInfo()
svn path=/trunk/; revision=13051
2005-01-15 02:33:06 +00:00
Mark Tempel
dd0186b047 oops... make sure that I use / not \ in path specifiers so that linux builds don't get confused.
svn path=/trunk/; revision=13050
2005-01-14 23:22:39 +00:00
Gé van Geldorp
b80866de7c Speed up 8bpp fills by a factor 4
svn path=/trunk/; revision=13047
2005-01-14 21:08:01 +00:00
Gregor Anich
b06d14e94f Replace EXCEPTION_FLT_XXX by STATUS_FLOAT_XXX. Set ExceptionFlags to 0 for exceptions dispatched from ntoskrnl.
svn path=/trunk/; revision=13045
2005-01-14 19:42:47 +00:00
Mark Tempel
ee34d784d4 Initial commit of USB support. These are just stubs. They build, but that is about it. Expect heavy development in usbport, and usbuhci.
svn path=/trunk/; revision=13044
2005-01-14 16:12:34 +00:00
Gregor Anich
ef7b4a79dc Add STATUS_FLOAT_MULTIPLE_TRAPS/FAULTS.
svn path=/trunk/; revision=13043
2005-01-14 16:10:07 +00:00
Gregor Anich
6182a1c5f7 Fix MmAllocatePageForMdl when it cannot allocate as much memory as requested.
svn path=/trunk/; revision=13042
2005-01-14 14:47:03 +00:00
Steven Edwards
c4f5066636 added some missing license headers
svn path=/trunk/; revision=13037
2005-01-14 03:29:47 +00:00
Gregor Anich
e3345e4f7e MmMapLockedPagesSpecifyCache: Raise STATUS_ACCESS_VIOLATION instead of bugchecking when mapping into usermode.
svn path=/trunk/; revision=13036
2005-01-13 23:47:10 +00:00
Gé van Geldorp
b91bb39ed6 Small sync to Wine
svn path=/trunk/; revision=13035
2005-01-13 22:43:10 +00:00
Gé van Geldorp
888a6e6c36 Update status
svn path=/trunk/; revision=13034
2005-01-13 21:03:02 +00:00
Hartmut Birr
1edc02642e Reverted parts of the last changes. Vfat must always check the partition type if it is available.
svn path=/trunk/; revision=13032
2005-01-13 20:57:30 +00:00
Hartmut Birr
3360f1a1ae Fixed some length problems.
svn path=/trunk/; revision=13031
2005-01-13 20:54:13 +00:00
Hartmut Birr
7e23b350aa Don't add a terminating null character in RtlCopyString, if the destination buffer isn't large enough.
A ansi/unicode string doesn't need a terminating null character.


svn path=/trunk/; revision=13030
2005-01-13 20:53:35 +00:00
Gregor Anich
1a99f299a1 Fix unused variable warning.
svn path=/trunk/; revision=13029
2005-01-13 20:30:59 +00:00
Steven Edwards
bf73503d49 I am not the copyright holder on this one
svn path=/trunk/; revision=13028
2005-01-13 19:40:21 +00:00
Filip Navara
101235ab40 d_layer <dome@koganet.ne.jp>
Fix some problems with RtlStoreUlong:
- Store SECONDBYTE of the value correctly.
- Store ULONG value, not ULONG_PTR value.

svn path=/trunk/; revision=13027
2005-01-13 12:26:09 +00:00
Gé van Geldorp
2b79d428b9 Small Wine sync
svn path=/trunk/; revision=13026
2005-01-13 09:41:55 +00:00
Gé van Geldorp
289a65afa7 Small Wine sync
svn path=/trunk/; revision=13025
2005-01-13 09:28:58 +00:00
Gé van Geldorp
c5f29850b0 Fix compilation with DBG := 1 and KDBG := 0
svn path=/trunk/; revision=13024
2005-01-13 08:45:23 +00:00
Art Yerkes
2f96b042b8 Conditionalized possibly unused variable.
svn path=/trunk/; revision=13023
2005-01-13 07:29:12 +00:00
Art Yerkes
d8dd93dab9 Correct handling of zero address and zero address length in accept.
svn path=/trunk/; revision=13022
2005-01-13 06:55:44 +00:00
Art Yerkes
756723d2d5 Initial accept commit. Accept sockets now work although there are still
problems related to shutting down the listener itself at process close
time.  I've tried a simple server with it and it looks good.

svn path=/trunk/; revision=13021
2005-01-13 06:46:22 +00:00
Gé van Geldorp
b8ed66e011 Sync to Wine-20050111:
Eric Pouech <pouech-eric@wanadoo.fr>
Filip Navara <xnavara@volny.cz>
- 32 bit low level drivers now use a Unicode interface (used to be ANSI):
- Send the *_GETDEVCAPS messages in unicode format from the
  *GetDevCapsW function and call the *GetDevCapsW from their respective
  Ansi versions.
- Modify all low level drivers to correctly process the *_GETDEVCAPS
  messages as unicode.
- *_GETDEVCAPS messages are now mapped from/to unicode for 16 bit code.
- Removed all SoundBlaster naming oldies.
  Better use of some unicode functions (instead of Ansi) in winmm.
Alexandre Julliard <julliard@winehq.org>
- Fixed header dependencies to be fully compatible with the Windows
  headers (with help from Dimitrie O. Paun).
- Get rid of the ThunkData stubs, these are not functions.
Jeff Smith <whydoubt@hotmail.com>
- Fix for MIDI Mapper.
Robert Reif <reif@earthlink.net>
- Return actual result on error.
- Return flag for DRVM_MAPPER_PREFERRED_GET.
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
  redundant.
Ge van Geldorp <gvg@reactos.com>
- Match PSDK definitions for LPCWAVEFORMATEX.

svn path=/trunk/; revision=13006
2005-01-12 23:33:10 +00:00
Gé van Geldorp
1141d723c3 Add some WAVE_FORMATs
svn path=/trunk/; revision=13005
2005-01-12 23:25:02 +00:00
Gé van Geldorp
5468d049be Add wine_dbgstr_w
svn path=/trunk/; revision=13004
2005-01-12 23:18:20 +00:00
Gé van Geldorp
222cd13d93 Sync to Wine-20050111:
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
  redundant.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Added test of BindToStorage.
- Added some declarations to urlmon.idl.
- Implemented CreateAsyncBindCtx.
- Added test.

svn path=/trunk/; revision=13003
2005-01-12 23:10:02 +00:00
Gé van Geldorp
0edd21e67f Sync to Wine-20050111:
Eric Pouech <pouech-eric@wanadoo.fr>
- Another round of const correctness fixes.

svn path=/trunk/; revision=13002
2005-01-12 23:07:36 +00:00
Gé van Geldorp
2b7c8d6391 Sync to Wine-20050111:
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
  redundant.
Hans Leidekker <hans@it.vu.nl>
- Implement and test URLIS_URL flag in UrlIs().
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Const correctness fix.
- Remove unneeded headers to reduce unneeded rebuilds.
- Include shlwapi.h to get prototypes, and correct 2 wrong ones.
- Documentation fix.
Michael Stefaniuc <mstefani@redhat.de>
- Missing HeapFree's + 1 LocalFree (found by smatch).
Eric Pouech <pouech-eric@wanadoo.fr>
- Removed excessive statement (break after return or goto, not useful
  break, not needed vars...)
Jacek Caban <jack@itma.pwr.wroc.pl>
- Get rid of W->A calls.
Mike McCormack <mike@codeweavers.com>
- Use CreateEventW in preference to CreateEventA for unnamed events.
Francois Gouget <fgouget@free.fr>
- Remove unneeded NULL casts.
James Hawkins <truiken@gmail.com>
- use only stored result of Interlocked* in AddRef/Release
- expand TRACEs to display the ref count

svn path=/trunk/; revision=13001
2005-01-12 23:04:52 +00:00
Gé van Geldorp
bc33e47045 Sync to Wine-20050111:
Eric Pouech <pouech-eric@wanadoo.fr>
- Removed excessive statement (break after return or goto, not useful
  break, not needed vars...)

svn path=/trunk/; revision=13000
2005-01-12 22:57:30 +00:00
Gé van Geldorp
e247c380dd Add SHFMT_ constants
svn path=/trunk/; revision=12999
2005-01-12 22:51:23 +00:00
Gé van Geldorp
da5e391c9c Sync to Wine-20050111:
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Remove unneeded headers to reduce unneeded rebuilds.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Get rid of W->A call.
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
  redundant.
Alexandre Julliard <julliard@winehq.org>
- Remove some no longer needed AW functions.
- Janitorial: C booleans must not be compared against TRUE.
Hans Leidekker <hans@it.vu.nl>
- Stub implementations for SHUpdateImageA, SHHandleUpdateImage,
  SHObjectProperties, SHGetNewLinkInfo{A,W}, SHStartNetConnectionDialog,
  SHEmptyRecycleBin{A,W}, SHFormatDrive, SHQueryRecycleBin{A,W}.
- 'HeapAlloc can fail' fix for ExtractIconExA.
- Implement ExtractAssociatedIconA -> W.
- Correct prototype for SHObjectProperties.
- Forward SHGetNewLinkInfo to SHGetNewLinkInfoA.
Robert Shearman <rob@codeweavers.com>
- Remove unnecessary WNDPROC casts.
- Don't sort the children of My Computer in shell browse for folder
  dialog.
Eric Pouech <pouech-eric@wanadoo.fr>
- Removed excessive statement (break after return or goto, not useful
  break, not needed vars...)
- Fixed some errors in function prototypes.
Jose Manuel Ferrer Ortiz <jmfo1982@yahoo.es>
- Added some Spanish translations.
Juan Lang <juan_lang@yahoo.com>
- Revert shell32 version to Win2K SP4 level.
Rein Klazes <wijn@wanadoo.nl>
- ShellExecuteEx, ExtractIconEx, SHFileOperation, SHGetFileInfo,
  SHGetPathFromIDList spec entries always refer to the Ansi
  version. Problem found by Paul Vriens.

svn path=/trunk/; revision=12998
2005-01-12 22:49:57 +00:00
Filip Navara
e8d6b09951 Fix definion of udphdr and use it.
svn path=/trunk/; revision=12997
2005-01-12 21:02:21 +00:00
Art Yerkes
85cffe692b Added table entry for SOCK_RAW IPPROTO_ICMP
svn path=/trunk/; revision=12996
2005-01-12 20:49:51 +00:00
Filip Navara
40847c3fd3 Call WSAStartup and WSACleanup.
svn path=/trunk/; revision=12995
2005-01-12 20:40:52 +00:00
Steven Edwards
f68079aff3 and now it should really build
svn path=/trunk/; revision=12994
2005-01-12 20:30:04 +00:00
Steven Edwards
8a991b772f ok one more time
svn path=/trunk/; revision=12993
2005-01-12 20:28:59 +00:00
Steven Edwards
bb2592ba58 a few more minor changes
svn path=/trunk/; revision=12992
2005-01-12 20:27:23 +00:00
Gé van Geldorp
6aa3e62e96 Sync to Wine-20050111:
Robert Shearman <rob@codeweavers.com>
- Remove unnecessary WNDPROC casts.
- Implement RPC_E_DISCONNECTED in proxies.
Mike McCormack <mike@codeweavers.com>
- Use CreateEventW in preference to CreateEventA for unnamed events.
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
  redundant.
Bill Medland <billmedland@mercuryspeed.com>
- Implemented DceErrorInqText.

svn path=/trunk/; revision=12991
2005-01-12 20:23:51 +00:00
KJK::Hyperion
530cd953b8 elf.c renamed to elf.inc.h. There, happy?
svn path=/trunk/; revision=12990
2005-01-12 20:18:57 +00:00
Steven Edwards
a0b2f40b73 Added a port of BSD traceroute. needs work
svn path=/trunk/; revision=12989
2005-01-12 20:18:50 +00:00
Gé van Geldorp
f387572e84 Sync to Wine-20050111:
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
  redundant.
Eric Pouech <pouech-eric@wanadoo.fr>
- Fixed some errors in function prototypes.
Robert Shearman <rob@codeweavers.com>
- Remove unnecessary WNDPROC casts.

svn path=/trunk/; revision=12988
2005-01-12 20:12:53 +00:00
Gé van Geldorp
edc6b71a42 Sync to Wine-20050111:
Eric Pouech <pouech-eric@wanadoo.fr>
- Removed excessive statement (break after return or goto, not useful
  break, not needed vars...)
- Fixed some errors in function prototypes.
- Some missing const correctness fixes.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Robert Shearman <rob@codeweavers.com>
- Make the DECIMAL_SETZERO macro take a DECIMAL instead of a DECIMAL* as
  in the Microsoft headers and fix up the only caller.
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
  redundant.
Bill Medland <billmedland@mercuryspeed.com>
- Fully initialise the structure to prevent ill-defined behaviour.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Remove unneeded headers to reduce unneeded rebuilds.
Robert Shearman <rob@codeweavers.com>
- Implement RPC_E_DISCONNECTED in proxies.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Add Russian translations.
Huw Davies <huw@codeweavers.com>
- The value of a packed VARIANT can be up to 1L << 26 - 1.
- Fix comment to reflect reality and indeed the code.
- Remove the remaining dependencies on internal structures from Invoke.
- GetTypeAttr should deep copy the typedesc.
- Fix return value of GetVarIndexOfMemId.
- Remove Invoke's dependence on the internal TLBFuncDesc structure.
- Fix memory leaks in some failure cases.
- GetFuncIndexOfMemId should respect invkind and return
  TYPE_E_ELEMENTNOTFOUND if the function cannot be found.
- Allocate the TYPEATTR rather than copying it.
- For a dual interface the dispinterface's cfuncs should include the
  inherited functions, cbSizeVft should just be the size of IDispatch's
  vtbl and we should strip TYPEFLAG_FOLEAUTOMATION.
- Fix typelib generation of CARRAYs.
Paul Vriens <Paul.Vriens@xs4all.nl>
- use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
Walt Ogburn <reuben@ugcs.caltech.edu>
- In OlePictureImpl_Load, always use DIB_RGB_COLORS because no indexed
  palette has been defined.
Alexandre Julliard <julliard@winehq.org>
- Another warning fix.
- Avoid warnings.

svn path=/trunk/; revision=12987
2005-01-12 19:51:40 +00:00
Gé van Geldorp
a30c1830c0 Add new file
svn path=/trunk/; revision=12986
2005-01-12 19:51:26 +00:00
Gregor Anich
d0a2f448f4 Add possibility to make KDB break on module-loads. Fix handling of breakpoints in usermode with KDB. Set ExceptionRecord->ExceptionFlags to 0 for breakpoints/singlesteps and noncontinuable for everything else. Fix WriteProcessMemory.
svn path=/trunk/; revision=12973
2005-01-12 19:04:06 +00:00
Filip Navara
030b0867f6 - Fix compilation error in KeIpiGenericCall.
- Revert my last changes in RPoolMgr.h. Currently they cause more harm than good. :(

svn path=/trunk/; revision=12972
2005-01-12 16:09:12 +00:00
Filip Navara
af3dff11b7 Portability fixes.
svn path=/trunk/; revision=12971
2005-01-12 15:35:12 +00:00
Filip Navara
56efa291ee KJK::Hyperion <noog@libero.it>
Mark ELF sections as non-paged for now.
Fix 64bit compilation warning in PeFmtCreateSection.

svn path=/trunk/; revision=12970
2005-01-12 15:00:32 +00:00
Filip Navara
8d5fa22d0a Portability fixes.
svn path=/trunk/; revision=12969
2005-01-12 14:57:03 +00:00
Filip Navara
0918733dc9 Fix definition of RtlRetrieveUlong to be 64bit safe.
svn path=/trunk/; revision=12968
2005-01-12 14:51:38 +00:00
Filip Navara
b5c55ab4de Fix the build, sorry.
svn path=/trunk/; revision=12967
2005-01-12 14:09:07 +00:00
Filip Navara
e6464bc179 Basic support for priority boosting.
svn path=/trunk/; revision=12965
2005-01-12 13:43:05 +00:00
Filip Navara
e0adece65b Add definiton of RPC_E_INVALID_OBJREF.
svn path=/trunk/; revision=12964
2005-01-12 13:35:43 +00:00
Filip Navara
95ba8cd118 Herve Poussineau <poussine@freesurf.fr>
Simpily the VFAT/FATX detection.

svn path=/trunk/; revision=12963
2005-01-12 13:15:24 +00:00
Filip Navara
1eb8f5f55d Herve Poussineau <poussine@freesurf.fr>
Use MmGetSystemAddressForMdlSafe instead of MmGetSystemAddressForMdl.

svn path=/trunk/; revision=12962
2005-01-12 13:07:17 +00:00
Filip Navara
4b208cd9ff Based on a patch by Herve Poussineau <poussine@freesurf.fr>:
Add basic cache manager and Fast I/O callbacks and don't use ReactOS specific cache manager / filesystem features if USE_ROS_CC_AND_FS is not defined.

svn path=/trunk/; revision=12961
2005-01-12 13:00:43 +00:00
Filip Navara
d8fda17a06 Based on a patch by Herve Poussineau <poussine@freesurf.fr>:
- Clean up #includes.
- Get rid of ROSRTL dependancy.

svn path=/trunk/; revision=12960
2005-01-12 12:33:57 +00:00
Filip Navara
19c59e79f0 Add definition of RTL_CONSTANT_STRING.
svn path=/trunk/; revision=12959
2005-01-12 12:32:06 +00:00
Gunnar Dalsnes
5c7b628714 remove leftovers
svn path=/trunk/; revision=12958
2005-01-12 12:31:10 +00:00
Filip Navara
5a27206097 Based on a patch by Herve Poussineau <poussine@freesurf.fr>:
- Compile using W32API.
- Use documented structures names instead of ReactOS equivalent.
- Get rid of MAX_PATH constant (only valid in user mode).

svn path=/trunk/; revision=12957
2005-01-12 12:06:15 +00:00
Filip Navara
fb6e28b8a0 Herve Poussineau <poussine@freesurf.fr>
- Use documented structures names instead of ReactOS equivalents.
- Replace CcMapData with CcPinRead on places where we're modifying the data.

svn path=/trunk/; revision=12956
2005-01-12 11:07:31 +00:00
Filip Navara
70a623f0d2 Oops, forgot to patch one place.
svn path=/trunk/; revision=12955
2005-01-12 10:49:47 +00:00
Filip Navara
561f4090e1 Herve Poussineau <poussine@freesurf.fr>
Use DDK types instead of Win32 types (BOOL, WORD, DWORD).

svn path=/trunk/; revision=12954
2005-01-12 10:46:13 +00:00
Filip Navara
1f84743388 Hervé Poussineau <poussine@freesurf.fr>
Fill DriverName field in DRIVER_OBJECT structure.

svn path=/trunk/; revision=12953
2005-01-12 10:24:56 +00:00
Gé van Geldorp
8d07772195 Sync to Wine-20050111:
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
  redundant.
Eric Pouech <pouech-eric@wanadoo.fr>
- Fixed some errors in function prototypes.
- ReadFile and WriteFile must be passed a parameter for the number of
  handled bytes when no overlapped operation is done.
- Removed excessive statement (break after return or goto, not useful
  break, not needed vars...)
Robert Shearman <rob@codeweavers.com>
- Remove unnecessary WNDPROC casts.
- Document how thread-safety is ensured for each member of the
  stub_manager and ifstub structs.
- Make stub_manager ref counted to ensure it doesn't get freed whilst
  it is still being used.
- ifstubs are now freed only when the controlling stub_manager is freed.
- Rename stub_manager_ref/unref to stub_manager_ext_addref/release
  respectively and make then take an unsigned long to prevent
  malicious callers from passing in a negative value and corrupting
  the ref count.
- Rename iid in wine_marshal_id to ipid and use IPIDs instead of IIDs in
  the stub manager.
- The channel buffer can be NULL if the proxy is disconnected, so check
  for this before releasing it.
- Make the ClassFactory proxy support aggregation.
- Document how thread-safety is ensured for each member of the
  stub_manager and ifstub structs.
- Make stub_manager ref counted to ensure it doesn't get freed whilst
  it is still being used.
- ifstubs are now freed only when the controlling stub_manager is freed.
- Rename stub_manager_ref/unref to stub_manager_ext_addref/release
  respectively and make then take an unsigned long to prevent
  malicious callers from passing in a negative value and corrupting
  the ref count.
- The current architecture cannot handle pipes changing address, so use
  a static array. Fixes memory corruption that sometimes occurs when
  using multiple pipes.
- Fix race on apartment creation.
- Display errors in decimal to make searching for the meaning in
  winerror.h easier.
- Move named pipe macros into rpc.c.
- Remove unneeded function.
- Implement COM local servers using table marshaling to avoid doing the
  marshaling in a child thread where COM has not been initialized.
- Remove unneeded includes and the unused COMPOBJ_hInstance32 variable.
- Make the wine_marshal_id structure more like the DCOM OBJREF
  structure, by replacing the process id field by apartment id (OXID),
  changing the users of the process id field to use the new field and
  renaming the objectid field to oid.
- Fix StdMarshalImpl_UnmarshalInterface to invalidate and release its
  stub when doing a same apartment marshal.
- Fixed incorrect unsigned test.
- Add tracing for proxy ref count functions.
- Release the channel on proxy destruction.
- Implement proxy manager.
- Add documentation to several functions.
- Coding style changes according to the style Mike and I have agreed
  upon for COM related files.
- Use OBJREF on the wire for generic marshaling functions.
- Add some function declarations to objbase.h.
- Add stubs for server ref counting.
- Implement HRESULT marshaling.
- Make struct oletls ref counted so that it is only detached from the
  apartment on the final CoUninitialize.
- Decrease the size of the crit sec on destroying an apartment - it is
  only needed for touching the apartment list.
- Small cleanups.
Mike Hearn <mh@codeweavers.com>
- Implement the COM stub manager, refactor the current stub code.
- Begin implementing interface stubs.
- Make apartment access thread-safe by introducing refcounting and
  wider usage of the apartment lock.
- Rework OLE TLS management to eliminate uninitialised apartments and
  parent chaining.
- Comment out an assert, as we don't yet implement IRemUnknown.
- Propagate apartments through the intermediate threads, make listener
  thread apartment scoped.
- Rename the STUBMGR thread to more accurately reflect its purpose.
- Add a DCOM todo list.
Mike McCormack <mike@codeweavers.com>
- Test and fix a few problems with OLE storage streams.
- Allow COM to start services containing COM servers.
- Tests and fixes for StgOpenStorage.
- Test and fix StgCreateDocFile grfModes.
Paul Vriens <Paul.Vriens@xs4all.nl>
- use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Alexandre Julliard <julliard@winehq.org>
- Janitorial: C booleans must not be compared against TRUE.
Bill Medland <billmedland@mercuryspeed.com>
- Corrected testing for multithreaded (based upon observations by Paul
  Vriens, Christian Costa and Robert Shearman).
- Added TRACE for investigating OXID errors.

svn path=/trunk/; revision=12952
2005-01-12 10:23:25 +00:00
Gé van Geldorp
f887ae590d Sync to Wine-20050111
svn path=/trunk/; revision=12951
2005-01-12 10:22:33 +00:00
Filip Navara
6ce344b434 Portability fixes.
svn path=/trunk/; revision=12950
2005-01-12 10:05:31 +00:00
Filip Navara
54b6cbb3a2 Portability fixes.
svn path=/trunk/; revision=12949
2005-01-12 10:05:05 +00:00
Gé van Geldorp
7fb581fc0b Sync to Wine-20050111:
Vitaly Lipatov <lav@etersoft.ru>
- Get real screen properties.
- Add description for MsiGetMode, MSIRUNMODE constants.
- Add ScreenX, ScreenY, ColorBits installer properties.
Mike McCormack <mike@codeweavers.com>
- Add a simple test case for MSI databases.
- Remove unneeded whitespace, indent correctly.
- Remove more fixed length buffers, rewrite functions to return
malloc'ed memory.
- Remove a lot of fixed length buffers.
- Implement thread safety for records.
- Fix selecting string columns and matching against a wildcard.
- Implement MsiRecordSetStreamA/W and add tests for records containing
streams.
- Fix records according to test cases.
- Fix transposition of 4 byte values when reading in table data from
storage.
- MsiCloseAllHandles only closes handles allocated in the calling
thread.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Aric Stewart <aric@codeweavers.com>
- Make all custom type 1 actions happen in a seperate thread and close
all handles for that thread when it exits. Honors the concept of
temporary MSI handles for custom actions.
- Properly deformat keys written to the registry.
- Because directory mappings can change between the CostFinalize step
  and the InstallFiles step we need to do a final resolution of the
  target file name before installing.
- When checking for an existing .lnk shortcut extension on the filename
do not just search for '.' but actually verify it is '.lnk'.
- CustomAction 35 should call SetTargetPath not just set the property.
- TARGETDIR and SOURCEDIR may not be entries 0 in the directory
  tables. So when resolving the folder we need to seek them out.
- When we handle SetTargetPath we need to be sure to recalculate the
  resulting paths as things with the now set Directory as the parent
  will change.
- Change how we install files so that we extract files as we need them,
cuts down on extraction time and unused files.
- Improve progress bar tracking.
- Be sure that set paths are terminated with a backslash.
- Free allocated buffers.
- Parse out the full features by using the ',' character and do
comparisons based on the full feature names.
- Continue when a duplicate component is found and loaded.
- Rework how we handle Feature and Component States. I have confirmed
  from testing that, although documented nowhere, having ADDLOCAL on
  the install line overrides INSTALLLEVEL.
- Track all files extracted from cabinents as tempfiles so they can be
  removed at the end of the install to not leave uninstalled but
  uncabbed files laying around.
- Move Install Features selection and evaluation into CostFinalize.
- Allow for end of install actions.
- Create the shortcut directory if it does not exist.
- Set the INSTALLLEVEL in CostFinalize if it is not set.
- Eliminate some fixed length buffers.
- Enable asynchronous dll custom action calls.
- Make sure to include trailing backslash in path.
- Move around and rename some functions.
- Fix incorrect return code check.
- Fix folder resolution.
- Let negative number be parsed correctly. Needed for accessing actions
with sequences such as -1.
- Added MsiSetExternalUIW.
- Include a System16Folder definition.
- Free allocated buffers.
- Blank the property buffers even if the property is not found.
- Include the trailing backslash on the Windows volume.
- Fix folder resolution.
Eric Pouech <pouech-eric@wanadoo.fr>
- Fixed some errors in function prototypes.
Steven Edwards <steven@codeweavers.com>
- Add and fix some stubs.
Ulrich Czekalla <ulrich@codeweavers.com>
- Set the out buffer count to zero on read error.
Michael Stefaniuc <mstefani@redhat.de>
- Add missing HeapFree's (found by smatch).
Paul Vriens <Paul.Vriens@xs4all.nl>
- Use Interlocked* functions in AddRef and Release.

svn path=/trunk/; revision=12948
2005-01-12 09:31:44 +00:00
Gunnar Dalsnes
e620ebee7f add MakeSureDirectoryPathExistsExA/W
svn path=/trunk/; revision=12945
2005-01-12 07:51:11 +00:00
Gunnar Dalsnes
73c479f923 -move alert stuff into own file
-only use Thread->Alerted[0]. Alerted[1] is not used.
-misc

svn path=/trunk/; revision=12942
2005-01-11 23:31:58 +00:00
Gé van Geldorp
72a6852583 Sync to Wine-20050111:
Mike McCormack <mike@codeweavers.com>
- Add proxy authentication dialog.
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.

svn path=/trunk/; revision=12941
2005-01-11 23:19:40 +00:00
Gé van Geldorp
eabf3955a8 Sync to Wine-20050111:
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
Christian Costa <titan.costa@wanadoo.fr>
- Handle device class in DX8 enumeration (found by Robert Reif).
- Fixed remaining DX8 device types.
- Factorized a bit GetCapabilities for keyboard and mouse.
- Fixed enumeration of joysticks in DX8.
- Fixed some traces.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Neil Olver <olver@math.mcgill.ca>
- The flag for a mouse button down in the structure returned by
GetDeviceState should be 0x80 (only the high bit set), not 0xff.

svn path=/trunk/; revision=12937
2005-01-11 23:11:18 +00:00
Gé van Geldorp
85527b3aaa Sync to Wine-20050111:
Robert Shearman <rob@codeweavers.com>
- Change dialog templates to not explicitly specify extended window
styles for the static rects on the Page Setup dialog as the ones
specified were wrong anyway.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Replace 'All xxx pages' text in common print dialog by simple 'All'.
Jose Manuel Ferrer Ortiz <jmfo1982@yahoo.es>
- Updated Spanish resource.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Moved save* strings to resources.
- Moved string to resources.
- Get rid of W->A calls.
- Unicodified fontdlg.
Eric Pouech <pouech-eric@wanadoo.fr>
- Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
Paul Vriens <Paul.Vriens@xs4all.nl>
- use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
Alexandre Julliard <julliard@winehq.org>
- Janitorial: C booleans must not be compared against TRUE.

svn path=/trunk/; revision=12935
2005-01-11 23:05:16 +00:00
Gé van Geldorp
fe687a094d Sync to Wine-20050111:
Eric Pouech <pouech-eric@wanadoo.fr>
- Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
Michael Stefaniuc <mstefani@redhat.de>
- Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
Ulrich Czekalla <ulrich@codeweavers.com>
- Add partial handler for WM_PRINTCLIENT.
- WM_GETTEXTLENGTH should return zero for owner drawn status bars.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Remove unneeded headers to reduce unneeded rebuilds.
- Implement the remaining MRU functions, fix a couple of differences
from native comctl32, add tests of MRU behaviour and documentation.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Eric Kohl <eric.kohl@t-online.de>
- DrawStatusText() must not process prefix characters.
Filip Navara <xnavara@volny.cz>
- Don't use DrawEdge with NULL device context, it's invalid call and
  sets last error.
- Tooltip icons must be destroyed with DestroyIcon and not with
  DeleteObject.
- Rebar cursors must be destroyed with DestroyCursor and not with
  DeleteObject.
Robert Shearman <rob@codeweavers.com>
- Use the DrawFocusRect function to draw the focus rect, instead of a
broken home-brewed solution.
- Don't highlight text in non-TVS_TRACKSELECT mode.
- Add code for hot tracking.
- Draw hot items with underline and with highlight colour with
  TVS_TRACKSELECT style.
- Set cursor to hand cursor with TVS_TRACKSELECT style.
- Make sure uInternalStatus is consistent with actual scrollbar state
  by forcing scrollbars off in WM_CREATE handler.
- Make the month calendar child window auto-size instead of using a
  hard coded 200px.
- Use SetFocus when the control is clicked on to get the correct
  behaviour when another control clicked on.
- Force the WS_EX_CLIENTEDGE style, instead of emulating it.
- Implement WM_ENABLE handler to update cached control style when the
  control is disabled.
- Move background drawing into WM_ERASEBKGND handler and draw the
  background differently when disabled.
- Change WM_PAINT handler to draw text with transparent background and
  with the correct colour for the style.
- Initialize selected field to -1 instead of 0 so that the control
  notices when field 0 is selected.
Vitaly Lipatov <lav@etersoft.ru>
- Add comments, fix negative value from GetCurFocus.
Alexandre Julliard <julliard@winehq.org>:
- Janitorial: C booleans must not be compared against TRUE.
Mike McCormack <mike@codeweavers.com>
- Fix image list mask and blending.
Evan Deaubl <wine@warpedview.com>
- GetItemA/W on header controls should handle message even if index is
invalid.
Crestez Leonard <cleonard@go.ro>
- Fix bug with Treeview_SelectItem reselecting the same item.
Thomas Weidenmnller <w3seek@gmail.com>
- Free allocated font handles when control is destroyed.

svn path=/trunk/; revision=12933
2005-01-11 22:44:10 +00:00
Filip Navara
742527875b Fix comments to be recognized by Doxygen.
svn path=/trunk/; revision=12932
2005-01-11 22:15:41 +00:00
Gé van Geldorp
4702ede529 Sync to Wine-20050111:
Michael Stefaniuc <mstefani@redhat.de>
Missing HeapFree's + 1 LocalFree (found by smatch).

svn path=/trunk/; revision=12930
2005-01-11 21:37:29 +00:00
Hartmut Birr
011cd29d57 - Changed a forgotten MP to CONFIG_SMP.
svn path=/trunk/; revision=12927
2005-01-11 20:23:48 +00:00
Gunnar Dalsnes
b885ecfa57 add comments + small fix/change
svn path=/trunk/; revision=12924
2005-01-11 01:47:35 +00:00
Gunnar Dalsnes
5c84018967 remove duplicate macro
svn path=/trunk/; revision=12923
2005-01-11 01:12:36 +00:00
Gregor Anich
29ca1c4689 Fix compilation without NDEBUG.
svn path=/trunk/; revision=12922
2005-01-10 23:11:45 +00:00
Martin Fuchs
0afc3c7bef comment for _NO_ALPHABLEND in the makefile
svn path=/trunk/; revision=12921
2005-01-10 21:32:18 +00:00
Martin Fuchs
2ab1b0f2e1 _NO_ALPHABLEND compiler switch
svn path=/trunk/; revision=12920
2005-01-10 21:20:06 +00:00
Gé van Geldorp
c1746abda0 Sylvain Petreolle <spetreolle@yahoo.fr>:
Add French translation for timedate.cpl

svn path=/trunk/; revision=12917
2005-01-10 10:10:49 +00:00
Gé van Geldorp
8fd760ac87 Sylvain Petreolle <spetreolle@yahoo.fr>:
Add French translation for timedate.cpl

svn path=/trunk/; revision=12916
2005-01-10 10:10:02 +00:00
Art Yerkes
2a03d2626d Added a work item to prevent stack overflow.
svn path=/trunk/; revision=12915
2005-01-10 04:43:05 +00:00
Gunnar Dalsnes
31629a61a5 when echoing too much stuff on windows, a newline is generated and it tries to execute the stuff echoed...
svn path=/trunk/; revision=12914
2005-01-10 03:03:24 +00:00
Gunnar Dalsnes
f98b6e4125 small cleanup
svn path=/trunk/; revision=12912
2005-01-09 19:40:08 +00:00
Klemens Friedl
75b87b9d2c 8 german language files (update)
svn path=/trunk/; revision=12909
2005-01-09 16:44:14 +00:00
Filip Navara
aeaad43c1d Open the DLL files as FILE_SHARE_READ to prevent sharing violations.
svn path=/trunk/; revision=12907
2005-01-09 14:16:36 +00:00
Filip Navara
6947ecd976 - Output correct length and page to the controller on DMA transfers.
- Fix the value of AdapterObject->PagePort.
- Don't modify variables we're not supposed to modify in IoMapTransfer.

svn path=/trunk/; revision=12906
2005-01-09 14:11:25 +00:00
Filip Navara
df756bcc24 Allocate correct number of bytes for EABuffer.
svn path=/trunk/; revision=12905
2005-01-09 11:38:07 +00:00
Gé van Geldorp
2929a492fd Signal the ReactOSInitDone event like smss.exe does,
prevents bugcheck when usetup is done in less than 120 sec

svn path=/trunk/; revision=12904
2005-01-09 08:20:28 +00:00
Gunnar Dalsnes
5e6907f665 experimental/useless "pretty seh"
svn path=/trunk/; revision=12903
2005-01-09 04:40:01 +00:00
Gé van Geldorp
325d499971 Install symbol files by default for DBG := 1 builds
svn path=/trunk/; revision=12896
2005-01-09 00:04:32 +00:00
Gé van Geldorp
5637b9f123 Include COFF symbols in our .sym files
svn path=/trunk/; revision=12895
2005-01-09 00:00:31 +00:00
Filip Navara
ad6ee8a5e1 Change vsprint to _vsnprintf in PrintString to prevent potential buffer overflows. Patch by Uwe Matthaeus <uwe.matthaeus@guehring.de>.
svn path=/trunk/; revision=12894
2005-01-08 23:36:03 +00:00
Gé van Geldorp
c7d2525d45 Change console class name for Windows compatibility.
Thanks to tonik <spammed@fromru.com> for reporting and
providing the correct name.
Fixes bug 462.

svn path=/trunk/; revision=12893
2005-01-08 22:08:29 +00:00
Gé van Geldorp
ec137eeb0e makefile.dos is not used anymore, remove to prevent confusion
svn path=/trunk/; revision=12892
2005-01-08 21:14:54 +00:00
Eric Kohl
0a7494dd76 Start services again and call a services main routine.
svn path=/trunk/; revision=12890
2005-01-08 18:11:46 +00:00
Eric Kohl
de8627877c Connect a pipes client side as soon as a listening server side is available.
svn path=/trunk/; revision=12889
2005-01-08 14:54:59 +00:00
Eric Kohl
b8e8ef8580 Use string resources instead of hardcoded strings.
svn path=/trunk/; revision=12888
2005-01-08 12:56:07 +00:00
Hartmut Birr
742da9ba73 - Make the drive letter to uppercase in RtlDosPathNameToNtPathName_U.
svn path=/trunk/; revision=12886
2005-01-08 12:47:32 +00:00
Art Yerkes
cf16395eac Added spanish layout to the registry.
svn path=/trunk/; revision=12885
2005-01-08 11:59:41 +00:00
Art Yerkes
a042459d87 Solved an stupid error with kbdes.c
-- HUMA2000

svn path=/trunk/; revision=12884
2005-01-08 11:57:34 +00:00
Hartmut Birr
6dbed13c78 - Fixed the initialization of critical section objects.
svn path=/trunk/; revision=12883
2005-01-08 09:34:37 +00:00
Art Yerkes
2c65e4355d Added makefile.
svn path=/trunk/; revision=12875
2005-01-07 19:24:54 +00:00
Art Yerkes
c0a9a2be94 Reverted some local changes that aren't meant to be checked in yet.
svn path=/trunk/; revision=12874
2005-01-07 19:16:19 +00:00
Art Yerkes
014a3fa6f0 Spanish Keyboard Layout
Contributed by HUMA2000

svn path=/trunk/; revision=12873
2005-01-07 18:57:43 +00:00
Alex Ionescu
5848b2d8e9 Move ke/zw.c to ex/zw.c
svn path=/trunk/; revision=12872
2005-01-07 16:10:50 +00:00
Gregor Anich
f5daa985c6 modified include/ntos/zwtypes.h Add SYSTEM_BATTERY_STATE from w32api.
modified   ntoskrnl/include/internal/mm.h   Add MmAllocPagesSpecifyRange (internal function)
modified   ntoskrnl/mm/freelist.c           Add MmAllocPagesSpecifyRange function (used by MmAllocatePagesForMdl)
modified   ntoskrnl/mm/mdl.c                Implemenet MmAllocatePagesForMdl, MmFreePagesFromMdl. Turn MmMapLockedPages into MmMapLockedPagesSpecifyCache (and make MmMapLockedPages a wrapper to it).
modified   ntoskrnl/po/power.c              Implement SystemBatteryState in NtPowerInformation (Thanks to Alex for testing the returned values on his windows desktop PC)

Windows 2000 NVIDIA driver should work now.

svn path=/trunk/; revision=12871
2005-01-07 16:10:48 +00:00
Gunnar Dalsnes
7d7661d52d Fixed RtlGetFullPathName_U bug (didn't remove duplicate slashes) and general ugliness by rippin fresh version from wine. Makes w2k cmd.exe work (imo) 100%.
svn path=/trunk/; revision=12869
2005-01-07 15:07:52 +00:00
Thomas Bluemel
8a3239aef3 GetProcessAffinityMask() should return correct system affinity mask
svn path=/trunk/; revision=12867
2005-01-07 13:34:47 +00:00
Gé van Geldorp
2637be230f Protect against unused variable warning
svn path=/trunk/; revision=12866
2005-01-07 13:06:11 +00:00
Gé van Geldorp
baf1b20d76 Silence debug messages
svn path=/trunk/; revision=12865
2005-01-07 13:04:36 +00:00
Eric Kohl
a366210998 RtlCutoverTimeToSystemTime(): The 4th argument determines whether the cutover time of the current year or the next cutover time is calculated.
svn path=/trunk/; revision=12864
2005-01-07 12:58:46 +00:00
Alex Ionescu
d6f646a37f Remove /nt directory, part two.
svn path=/trunk/; revision=12862
2005-01-07 06:57:30 +00:00
Alex Ionescu
3ce0266401 Remove /nt directory
svn path=/trunk/; revision=12861
2005-01-07 06:54:27 +00:00
Gregor Anich
f0c39c8ec6 added agp.c First try of implementing the AGP functions (Untested)
added      ddc.c         First try of implementing DDC functions (Untested)
modified   dispatch.c    Handle IRP_MJ_PNP:IRP_MN_START_DEVICE. Let AddDevice create the device object and call HwFindAdapter from IRP_MN_START_DEVICE.
modified   int10.c       Make VideoPortInt10 return ERROR_INVALID_PARAMETER when called while CSRSS is not initialized.
modified   Makefile      Add agp.o and ddc.o
modified   resource.c    Don't remember usermode mappings - they are valid only in the context of the process which they were created in. Add IntVideoPortMapPhysicalMemory() to map part of \Device\PhysicalMemory into UserMode. Make VideoPortGetAccessRanges use DeviceExtension->AllocatedResources (from the IRP_MJ_PNP:IRP_MN_START_DEVICE) if present.
modified   services.c    Implement VideoPortGetAgpServices. VideoPortQueryServices support for VideoPortServicesAGP.
modified   videoprt.c    Split IntVideoPortFindAdapter into IntVideoPortCreateAdapterDeviceObject and IntVideoPortFindAdapter. Basic implementation of VideoPortEnumerateChildren. Implement VideoPortAcquireDeviceLock/VideoPortReleaseDeviceLock.
modified   videoprt.def  Export VideoPortAcquireDeviceLock/VideoPortReleaseDeviceLock.
modified   videoprt.h    Various stuff.

svn path=/trunk/; revision=12860
2005-01-07 01:03:34 +00:00
Gregor Anich
9e8fbcf903 Add half-verbose output to target "clean".
svn path=/trunk/; revision=12859
2005-01-07 00:02:56 +00:00
Gregor Anich
e008fd8fc6 Forgot to commit this file - sorry!
svn path=/trunk/; revision=12858
2005-01-06 23:18:17 +00:00
Gregor Anich
a2189e5e4b eng/driverobj.c: DRIVEROBJ implementation.
eng/semaphor.c: Implement safe semaphore functions.
eng/window.c: Basic WNDOBJ implementation.
include/inteng.h: IntEngXxx functions for DRIVEROBJs.
main/dllmain.c: Cleanup DRIVEROBJs.
makefile: Add eng/driverobj.o and eng/window.o.
stubs/stubs.c, win32k.def: Add EngAllocPrivateUserMem and EngFreePrivateUserMem stubs.

svn path=/trunk/; revision=12857
2005-01-06 23:12:59 +00:00
Klemens Friedl
019137fd50 Update ReactOS Icons:
Replace the radioactive icons with the newer ReactOS icon.

Files:
trunk/reactos/bootdata/icon.ico
trunk/reactos/lib/user32/resources/oic_reactos.ico

svn path=/trunk/; revision=12854
2005-01-06 19:22:01 +00:00
Gé van Geldorp
528b35b1df Don't return characters is key is up
svn path=/trunk/; revision=12853
2005-01-06 15:57:38 +00:00
Martin Fuchs
e228aadfe5 migrate substitution keywords to SVN
svn path=/trunk/; revision=12852
2005-01-06 13:58:04 +00:00
Gé van Geldorp
f31ecfbd4a Copy correct number of bytes
svn path=/trunk/; revision=12850
2005-01-06 10:16:18 +00:00
Mark Tempel
5ccc6ee89d Update to remove some lines of code that broke the build.
svn path=/trunk/; revision=12849
2005-01-06 05:10:13 +00:00
Eric Kohl
f8b923d236 - Remove __USE_W32API support.
- Add definition of _ttoi64.

svn path=/trunk/; revision=12842
2005-01-06 01:28:10 +00:00
Art Yerkes
647e34dd0c Corrected off-by-one error retrieving adapter index.
svn path=/trunk/; revision=12841
2005-01-06 01:20:13 +00:00
KJK::Hyperion
d33004b441 honor __USE_W32API
svn path=/trunk/; revision=12838
2005-01-05 21:00:51 +00:00
Hartmut Birr
3d5ec80a67 - Used a system thread to shutdown various kernel components.
- Halt also the other processors on a smp machine. 

svn path=/trunk/; revision=12835
2005-01-05 19:28:55 +00:00
Hartmut Birr
6801048d57 - Replaced MP with CONFIG_SMP.
- Used interlocked function for accessing the page directories/tables.

svn path=/trunk/; revision=12834
2005-01-05 19:27:58 +00:00
Hartmut Birr
b0c84d931e - Replaced MP with CONFIG_SMP.
- Implemented an idle processor map.
- Fixed the initialisation of the first kernel stack for the application processors.

svn path=/trunk/; revision=12833
2005-01-05 19:26:51 +00:00
Hartmut Birr
f8d9c5d204 - Replaced MP with CONFIG_SMP.
svn path=/trunk/; revision=12832
2005-01-05 19:25:49 +00:00
KJK::Hyperion
be7247ba17 - makefile: use the native headers, don't bother with our hopelessly broken ones
- tickcount.c: also accept arbitrary tick counts as arguments or from standard input (initially conceived to convert the result of subtracting two Date objects in Javascript - which conveniently happens to be a count of milliseconds - into a human-readable format. Useful to write a batch file that calculates the exact difference between two dates). Also use typedef aliases for __int64 that won't conflict with standard C typedefs

(I had a craving for C code, too much Java for school was melting my brain. Thanks god for good ol' tickcount)

svn path=/trunk/; revision=12831
2005-01-05 19:09:38 +00:00
Hartmut Birr
a91d61b02e - Initialize the symbols for boot load driver before the driver entry routine is called.
- Store the symbols for boot load driver within the non paged pool.

svn path=/trunk/; revision=12830
2005-01-05 19:06:05 +00:00
Hartmut Birr
6f39b3e0e0 - Prevent from calling PsTerminateCurrentThread from within an apc if PsTerminateThread was already called.
svn path=/trunk/; revision=12829
2005-01-05 19:04:25 +00:00
Hartmut Birr
76fbb4d0bf - Removed an unused variable.
svn path=/trunk/; revision=12828
2005-01-05 19:03:21 +00:00
Hartmut Birr
7537381804 - Set the number of processors before initialize the critical sections.
svn path=/trunk/; revision=12827
2005-01-05 19:02:23 +00:00
Hartmut Birr
00e2091fd8 - Silence a debug message.
svn path=/trunk/; revision=12825
2005-01-05 19:01:27 +00:00
Alex Ionescu
49592c9234 Remove ROS-specific File Object Flags
svn path=/trunk/; revision=12820
2005-01-05 15:16:10 +00:00
Gé van Geldorp
d1a5b105f2 Neil Blackburn <neilb@iowatelecom.net>:
- Fixed a few spelling mistakes

svn path=/trunk/; revision=12819
2005-01-05 08:16:00 +00:00
Steven Edwards
ab8ef4b325 Make NtUserSetClipboardViewer return something that applications can deal with. This makes the vncviewer qusi-work.
svn path=/trunk/; revision=12817
2005-01-05 04:16:23 +00:00
Gunnar Dalsnes
4e4b7cff0b i'm pretty sure a non-inheritable handle _can_ be duplicated! This fixes compiling ros-on-ros w/w2k msvcrt.dll for me.
svn path=/trunk/; revision=12814
2005-01-05 02:50:50 +00:00
Nedko Arnaudov
7671e20ce8 Remove definitions now present in /reactos/include/ntos/security.h
svn path=/trunk/; revision=12813
2005-01-05 02:21:05 +00:00
Nedko Arnaudov
f671eb9004 Remove definitions now present in /reactos/include/ntos/security.h
svn path=/trunk/; revision=12812
2005-01-05 02:05:59 +00:00
Alex Ionescu
ad60ddbca6 Remove ROS-specific File Object Flags
svn path=/trunk/; revision=12811
2005-01-05 01:42:23 +00:00
Alex Ionescu
2b9f762918 Significantly improved performance of Critical Section code by using a static buffer. Increased debug info dramatically and, if enabled, leaks can be found with ease. Future revision will include Spincount support.
svn path=/trunk/; revision=12810
2005-01-05 01:09:30 +00:00
Steven Edwards
ff4ae27d2f add ftp to the bootcd as well
svn path=/trunk/; revision=12809
2005-01-05 00:08:45 +00:00
Steven Edwards
c645e0d34c add ftp to the build
svn path=/trunk/; revision=12808
2005-01-05 00:03:42 +00:00
Nedko Arnaudov
f765c59019 Use build helpers from /reactos/tools/
svn path=/trunk/; revision=12807
2005-01-04 23:36:14 +00:00
Alex Ionescu
4dba0925ac Use proper PISID pointer to SID structure, fix wrong LUID definition, and remove duplicate code in Security Manager
svn path=/trunk/; revision=12806
2005-01-04 22:44:50 +00:00
Steven Edwards
ddd07cb377 Why is gcc stupid....
svn path=/trunk/; revision=12804
2005-01-04 22:11:50 +00:00
Nedko Arnaudov
c0ba0ea090 Fix personal info.
svn path=/trunk/; revision=12803
2005-01-04 21:40:25 +00:00
Nedko Arnaudov
d61f6e4c18 Fix personal info.
Replace tabs with spaces.

svn path=/trunk/; revision=12802
2005-01-04 21:36:26 +00:00
Filip Navara
fca5c9e765 Don't free the memory for LParam in NtUserPeekMessage if called with PM_NOREMOVE flag.
svn path=/trunk/; revision=12800
2005-01-04 21:25:20 +00:00
Filip Navara
c0f005d179 Remove a broken header that's not needed anymore.
svn path=/trunk/; revision=12799
2005-01-04 21:19:51 +00:00
Nedko Arnaudov
2981f57ae6 Use .exe postfix when building on non-windows hosts too.
We are always building Win32 executable.

svn path=/trunk/; revision=12798
2005-01-04 20:50:06 +00:00
Eric Kohl
db2f53dc81 Implement RtlCutoverTimeToSystemTime().
svn path=/trunk/; revision=12796
2005-01-04 20:10:11 +00:00
Hartmut Birr
d8b3bb21d1 - Removed the 'shadow' NtGlobalFlag from ntdll.dll.
- Initialized NumberOfProcessors from the PEB structure.

svn path=/trunk/; revision=12790
2005-01-04 16:23:29 +00:00
Eric Kohl
8caac8b834 Implement BuildExplicitAccessWithNameA/W() and BuildImpersonateExplicitAccessWithNameA/W().
svn path=/trunk/; revision=12785
2005-01-04 09:35:28 +00:00
Royce Mitchell III
e6258f2fa1 buffer overflow (& invalid registry path for device) bugfix: DataPtr != KeyInformation->Data on 2nd+ passes
svn path=/trunk/; revision=12781
2005-01-04 06:24:17 +00:00
Royce Mitchell III
d2cca7e010 dump first 128 bytes of violated memory blocks
svn path=/trunk/; revision=12780
2005-01-04 05:09:53 +00:00
Gunnar Dalsnes
708b29556c -move structs OBJECT_TYPE/OBJECT_HEADER into private headers
-correct OBJECT_TYPE_INFORMATION struct
-rename meaningless members OBJECT_TYPE->MaxObjects/MaxHandles to PeakObjects/PeakHandles and init to zero. Both are still unused.

svn path=/trunk/; revision=12779
2005-01-04 04:45:00 +00:00
Steven Edwards
34bf6de206 added a port of netkit ftp.exe
svn path=/trunk/; revision=12776
2005-01-04 04:03:57 +00:00
Alex Ionescu
8c065412f4 Add more Critical Section Debug Data and fix two bugs.
svn path=/trunk/; revision=12774
2005-01-04 01:51:16 +00:00
Filip Navara
b06887c39a Robert Shearman <rob@codeweavers.com>
- Fix colours used for SS_*RECT, SS_*FRAME.
- Implement SS_CENTERIMAGE for static control.

svn path=/trunk/; revision=12773
2005-01-04 01:49:08 +00:00
Alex Ionescu
27780dc59a Fix silly bugs in Critical section code. Thanks to Gunnar for finding one of them, thanks to mifritscher for finding the actual regression, and thanks to Filip for being understanding :P
svn path=/trunk/; revision=12772
2005-01-04 00:10:50 +00:00
Alex Ionescu
abd7686a78 Fix RtlCriticalSection dummy calls in ntoskrnl's libsupp, for consistency with previous patch and correctness of types.
svn path=/trunk/; revision=12771
2005-01-03 23:35:02 +00:00
Gregor Anich
57cef8643d added ntagp.h
svn path=/trunk/; revision=12768
2005-01-03 23:12:56 +00:00
Alex Ionescu
352d524633 Rewrite ROS Critical Section implementation, which was slow and broken (because it always created an event, which is the slow path). Note that coincidentally, Gunnar also fixed this code and committed a patch this morning, taken from WINE. This code is also based on WINE, but adds more features which WINE does not support/need yet (regarding Debug CS). Hence, this code was a re-write of the original ROS code, not of Gunnar's, and we've both discussed the accidental conflict.
svn path=/trunk/; revision=12766
2005-01-03 23:02:15 +00:00
Gé van Geldorp
a3e3b56cca Since we can load .sym files when defined(DBG) now, enable
/PROFILE option for defined(DBG) too.

svn path=/trunk/; revision=12765
2005-01-03 22:53:21 +00:00
Gé van Geldorp
22244655d6 Reverse last change, as it causes problems for ReadConsole (line input)
svn path=/trunk/; revision=12764
2005-01-03 22:00:39 +00:00
Filip Navara
366252dce4 Don't crash if ShellFolder doesn't implement the IID_ISFHelper interface.
svn path=/trunk/; revision=12763
2005-01-03 21:19:25 +00:00
Art Yerkes
edc694086f Removed spaces, put tabs.
svn path=/trunk/; revision=12761
2005-01-03 19:51:26 +00:00
Art Yerkes
c60fc95e69 Added route.exe to bootcd.
Patch by WaxDragon.

svn path=/trunk/; revision=12760
2005-01-03 19:45:35 +00:00
Gé van Geldorp
d9b4e88284 Make command-prompt-link creation code Unicode resistent
svn path=/trunk/; revision=12758
2005-01-03 18:44:36 +00:00
Gunnar Dalsnes
a4b36e0224 critical.c:
-don't allocate semaphore until its. actually needed (just like windows & wine)
Ripped from Wine

-correct InterlockedCompareExchange proto
-add Interlocked(Compare)ExchangePointer def.
-correct CRITICAL_SECTION_DEBUG struct

svn path=/trunk/; revision=12757
2005-01-03 14:58:44 +00:00
Filip Navara
1de5b28f80 Fix import of DBGHELP:
- StackWalk is now compilable.
- SymInitialize shouldn't try to find Wine loader.

svn path=/trunk/; revision=12756
2005-01-03 14:47:11 +00:00
Filip Navara
28f15433b0 Add wine_dbgstr_longlong.
svn path=/trunk/; revision=12755
2005-01-03 14:46:08 +00:00
Eric Kohl
fb1c02d7d1 Clean up the pipe type and mode mess.
svn path=/trunk/; revision=12754
2005-01-03 13:50:04 +00:00
Hartmut Birr
896ba320b8 - Fixed the searching for uninitialized (like .bss) segments.
svn path=/trunk/; revision=12753
2005-01-03 11:30:28 +00:00
Martin Fuchs
5e976e5bad update Explorer Jamfile
svn path=/trunk/; revision=12752
2005-01-03 11:25:40 +00:00
Gé van Geldorp
41c18f8e50 Silence stupid compiler which doesn't know what it is talking about
svn path=/trunk/; revision=12751
2005-01-03 10:59:19 +00:00
Gé van Geldorp
10763448ee Find other entries besides the first too...
svn path=/trunk/; revision=12750
2005-01-03 10:06:08 +00:00
Gé van Geldorp
0f86e212b1 Fix ref counting bug
svn path=/trunk/; revision=12749
2005-01-03 09:46:31 +00:00
Alex Ionescu
91fc5d1804 Fix incorrect LPC Object export...we export pointers not the object itself! Also remove more TIME stuff to be properly compatible with real structures.
svn path=/trunk/; revision=12748
2005-01-03 05:17:16 +00:00
Alex Ionescu
b429ae3287 Fix more wrong structure defintions... and use proper values for Thread/Process mapping, not some weird undocumented/reversed values with no explenation.
svn path=/trunk/; revision=12747
2005-01-03 04:06:24 +00:00
Steven Edwards
d222bec89c added support for building Wine tests along with CI tests
svn path=/trunk/; revision=12746
2005-01-03 03:54:00 +00:00
Steven Edwards
e9c2a13f25 move wine tests from tests to winetests
svn path=/trunk/; revision=12745
2005-01-03 02:37:10 +00:00
Alex Ionescu
01efd62aff Fix more wrong structure defintions that don't match official ones, plus fix little bug I introduced.
svn path=/trunk/; revision=12744
2005-01-03 01:13:10 +00:00
Gé van Geldorp
8c1121a5be Don't destroy cursors/icons prematurely.
svn path=/trunk/; revision=12742
2005-01-03 00:46:42 +00:00
Art Yerkes
c60f00807e Change temporary file creation to tmpfile(). FullName was not initialized
correctly before and it's only by chance that this worked at all.

svn path=/trunk/; revision=12741
2005-01-02 23:46:28 +00:00
Alex Ionescu
afbaa12f82 Fix my previous patch and fix ACCESS_TOKEN being declared as a structure. This is incompatible with DDK/W32API because ACCESS_TOKEN is a PVOID. The real structure is TOKEN. Also, structure has been updated.
svn path=/trunk/; revision=12740
2005-01-02 23:12:40 +00:00
Alex Ionescu
f862727d03 Fix KeRaiseUserException and rename Object Information Structure
svn path=/trunk/; revision=12738
2005-01-02 20:51:02 +00:00
Filip Navara
3e2aa03dcf Fix HEAP_free call.
svn path=/trunk/; revision=12737
2005-01-02 20:49:00 +00:00
KJK::Hyperion
f6466c9edd Patch to make the End Process Button working, by Michael Fritscher
svn path=/trunk/; revision=12736
2005-01-02 20:47:34 +00:00
KJK::Hyperion
dd387c42f0 Relaxed the validity checks for PE executables yet more (no limitation for the file layout anymore, as the memory manager doesn't really care and executables seen in the wild tend to be pretty eccentric). Documented with an ASSERT the fact that the file offset cannot overflow (MAXULONG + MAXULONG < MAXLONGLONG)
svn path=/trunk/; revision=12734
2005-01-02 20:09:39 +00:00
Filip Navara
724fce9fd9 Disable debugging message.
svn path=/trunk/; revision=12732
2005-01-02 19:27:53 +00:00
Filip Navara
e6f2a2f607 Rename MmOpenMemoryAreaBy[Address/Region] to MmLocateMemoryAreaBy[Address/Region].
svn path=/trunk/; revision=12731
2005-01-02 19:14:52 +00:00
Filip Navara
7581cc7fb9 Implement ExtCreateRegion.
svn path=/trunk/; revision=12730
2005-01-02 18:04:59 +00:00
Filip Navara
59aa5bd203 Allocate enough bytes for the adapter object.
svn path=/trunk/; revision=12729
2005-01-02 18:00:31 +00:00
Filip Navara
2644fdc88a Change the MEMORY_AREAs to be stored it a binary search tree instead of linked list. Thanks to Royce Mitchell III and Mike Nordell for helping me.
svn path=/trunk/; revision=12728
2005-01-02 17:55:06 +00:00
Aleksey Bragin
d57bd697fd Removed file/folder
svn path=/trunk/; revision=12727
2005-01-02 17:47:07 +00:00
Aleksey Bragin
b685e5d6be Removed file/folder
svn path=/trunk/; revision=12726
2005-01-02 17:46:51 +00:00
Aleksey Bragin
9837438cb2 Removed file/folder
svn path=/trunk/; revision=12725
2005-01-02 17:46:46 +00:00
Aleksey Bragin
d7a8b29d38 Removed file/folder
svn path=/trunk/; revision=12724
2005-01-02 17:46:36 +00:00
Aleksey Bragin
100e13b72c Removed file/folder
svn path=/trunk/; revision=12723
2005-01-02 17:46:28 +00:00
Aleksey Bragin
81426398fc svn path=/trunk/; revision=12722 2005-01-02 17:43:23 +00:00
Emanuele Aliberti
6299fc1186 Replace
POBJECT_TYPE ExPortType

with

OBJECT_TYPE LpcPortObjectType

and export it.

svn path=/trunk/; revision=12720
2005-01-02 16:45:50 +00:00
Martin Fuchs
b6b2885037 Updated years range in copyright note.
svn path=/trunk/; revision=12719
2005-01-02 16:24:32 +00:00
Casper Hornstrup
c3b38401e3 Correct location of freeldr.sys for livecd target.
svn path=/trunk/; revision=12718
2005-01-02 15:02:59 +00:00
Emanuele Aliberti
f264388c30 - Updated years range in copyright note.
What is the master now?
* resource.h
* version.rc

svn path=/trunk/; revision=12717
2005-01-02 14:34:17 +00:00
Eric Kohl
b0b4ad8a28 Remove pipe only if client fcb list and server fcb list are empty.
svn path=/trunk/; revision=12716
2005-01-02 12:02:42 +00:00
Alex Ionescu
d062e3d562 Fix more wrong Mm definitions and constants and sync up with proper ones.
svn path=/trunk/; revision=12715
2005-01-02 07:04:56 +00:00
Alex Ionescu
9b48875031 Fix some wrong Mm definitions and sync up with proper ones.
svn path=/trunk/; revision=12714
2005-01-02 05:36:43 +00:00
Alex Ionescu
3be1a720e8 Fix horribly wrong defintions of ULONG32 and ULONG, as well as elf support which depended on these wrong definitions.
svn path=/trunk/; revision=12713
2005-01-02 04:27:29 +00:00
Alex Ionescu
28dff13100 Don't use MmLowestUserAddress as a ULONG!
svn path=/trunk/; revision=12712
2005-01-02 01:06:17 +00:00
Alex Ionescu
6a5aa2060e More LDR constants changes.
svn path=/trunk/; revision=12711
2005-01-01 22:57:06 +00:00
Gé van Geldorp
38c0b28279 Fix copy command
svn path=/trunk/; revision=12710
2005-01-01 22:53:21 +00:00
Alex Ionescu
2ee2dcfd7e Use W32API/PSDK structures/constants. The whole /ldr code is in MAJOR need of re-writing. Amazing it even works.
svn path=/trunk/; revision=12709
2005-01-01 22:10:23 +00:00
Steven Edwards
863fb4e364 didnt mean to commit this
svn path=/trunk/; revision=12708
2005-01-01 20:44:34 +00:00
Steven Edwards
1c648feae0 add urlmon and shdocvw to the build and install cd to get the Mozilla ActiveX Control working
svn path=/trunk/; revision=12707
2005-01-01 20:32:43 +00:00
Emanuele Aliberti
e4f12e6d99 - Updated years range in copyright note.
svn path=/trunk/; revision=12706
2005-01-01 19:33:26 +00:00
Alex Ionescu
21a0462b92 Remove unneeded defines and fix hal operation function types.
svn path=/trunk/; revision=12705
2005-01-01 17:44:06 +00:00
Eric Kohl
292272eff4 Connect client and server side upon client side creation only if both sides were created by the same thread.
svn path=/trunk/; revision=12704
2005-01-01 14:54:25 +00:00
Hartmut Birr
88c78cbdd8 - Fixed a debug message in KeConnectInterrupt.
svn path=/trunk/; revision=12703
2005-01-01 14:35:46 +00:00
Eric Kohl
9e8add4928 CreatePipe(): Don't open client side in passive mode.
svn path=/trunk/; revision=12702
2005-01-01 14:06:39 +00:00
Eric Kohl
4cffccfe6f Don't flush the caches of CD/DVD drives.
svn path=/trunk/; revision=12699
2005-01-01 12:19:21 +00:00
Hartmut Birr
6bd1cc19a3 - Check the caller pointers in all cases.
- Simplified the thread info functions a little bit.

svn path=/trunk/; revision=12698
2005-01-01 11:57:53 +00:00
Hartmut Birr
38d12a5ce6 - Fixed a length calculation in IopInitializeDriverModule.
- Freed the memory from hal.dll.

svn path=/trunk/; revision=12697
2005-01-01 11:53:38 +00:00
Hartmut Birr
adecdb10c6 - Fixed the return values in some unimolemented functions.
svn path=/trunk/; revision=12696
2005-01-01 11:51:16 +00:00
Hartmut Birr
b95c9c0eba - Loaded symbols also for kernel mode dll's.
svn path=/trunk/; revision=12695
2005-01-01 11:49:57 +00:00
Hartmut Birr
2e5a5b050c - Simplified KeSetSystemAffinityThread and KeRevertToUserAffinityThread for non smp machines.
- Set the number of processors before calling PiInitProcessManager.  
- Lock the dispatcher database while accessing some values in the thread structure in KeWaitForMultipleObjects.  
- Used Ke-functions to initialize the idle thread.  
- Fixed the offset to the stack frame in PsDumpThreads.  
- Implemented KeSetAffinityThread.  
- Fixed KeSetPriorityThread for threads on the ready queue.

svn path=/trunk/; revision=12694
2005-01-01 11:47:33 +00:00
Martin Fuchs
879287ceb0 eliminate 'using uninitialized variable' warning
svn path=/trunk/; revision=12693
2005-01-01 11:42:12 +00:00
Hartmut Birr
b167684edc - Fixed the access to the KPCR in KiQuantumEnd.
svn path=/trunk/; revision=12692
2005-01-01 11:33:31 +00:00
Hartmut Birr
576224deec - Implemented the interrupt handling for smp machines.
- Enabled interrupts (irqs) on all processors.

svn path=/trunk/; revision=12691
2005-01-01 11:31:43 +00:00
Hartmut Birr
1dc7aa3d70 - Implemented KeAcquireInterruptSpinLock and KeReleaseInterruptSpinLock.
- Implemented the interrupt handling for smp machines.

svn path=/trunk/; revision=12690
2005-01-01 11:28:46 +00:00
Hartmut Birr
7060a9893e - Used interlocked functions to modify the values for the ipi functions on smp machines.
svn path=/trunk/; revision=12689
2005-01-01 11:22:12 +00:00
Hartmut Birr
2d760db23f - Implemented Ke386TestAndClearBit and Ke386TestAndSetBit.
- Fixed some interlocked functions.

svn path=/trunk/; revision=12688
2005-01-01 11:18:54 +00:00
Hartmut Birr
37d9e18817 - Used the parent fcb instead to determine it from parent fileobject.
svn path=/trunk/; revision=12687
2005-01-01 11:11:52 +00:00
Hartmut Birr
635e37f654 - Initialized the pointers for the init environment.
svn path=/trunk/; revision=12686
2005-01-01 11:02:35 +00:00
Hartmut Birr
aaa5b3b1d4 - Fixed the releasing of the memory from the init section.
svn path=/trunk/; revision=12685
2005-01-01 10:59:31 +00:00
Hartmut Birr
f0b1beeb8a - Set the page protection for the section header.
svn path=/trunk/; revision=12684
2005-01-01 10:57:39 +00:00
Hartmut Birr
095823bec8 - Fixed ROUND_UP.
- Simplified ROUND_DOWN.

svn path=/trunk/; revision=12683
2005-01-01 10:54:48 +00:00
Alex Ionescu
8f33dd1b68 Fix DMA_OPERATIONS to use stdcall.
svn path=/trunk/; revision=12682
2005-01-01 08:43:02 +00:00
Alex Ionescu
b9378b35ed Fix more old cruft.
svn path=/trunk/; revision=12681
2005-01-01 08:20:47 +00:00
Art Yerkes
67fe83b228 Use host compiler to build bin2c
svn path=/trunk/; revision=12680
2005-01-01 07:01:47 +00:00
Alex Ionescu
cd9f2f7964 Fix work item enumaration values.
svn path=/trunk/; revision=12679
2005-01-01 04:55:11 +00:00
Alex Ionescu
849dcb1be9 Use PROCESSOR_FEATURE_MAX instead of PROCESSOR_FEATURES_MAX. The latter is not official and a useless ducpliate. Use LARGE_INTEGER instead of TIME in ex/sysinfo.c
svn path=/trunk/; revision=12678
2005-01-01 04:05:42 +00:00
Alex Ionescu
d5882cfd80 Use proper name for the NtSetInformationKey Info classes/structures, as well as add new XP+ class/structure
svn path=/trunk/; revision=12677
2005-01-01 02:08:13 +00:00
Eric Kohl
56f3b59cfb Don't start services until the control pipe issues are fixed.
svn path=/trunk/; revision=12676
2005-01-01 01:53:48 +00:00
Alex Ionescu
7510a729c6 Fix my previous NtDelayExecution patch. Fix Cc function prototypes which were incorrect, and remove useless file.
svn path=/trunk/; revision=12675
2005-01-01 01:51:05 +00:00
Casper Hornstrup
b11715e1ab Add error reporting assistant.
svn path=/trunk/; revision=12674
2005-01-01 01:11:54 +00:00
Alex Ionescu
7b174da1fd Modified NtDelayExecution Prototype/Function to use LARGE_INTEGER and not TIME, and renamed EX_MAXIMUM_WAIT_OBJECTS to MAXIMUM_WAIT_OBJECTS, which is the correct define to use (the ex define was an unnecessary duplicate)
svn path=/trunk/; revision=12673
2005-01-01 01:03:31 +00:00
Casper Hornstrup
a32ae2ed8f Move freeldr to reactos\boot\freeldr.
svn path=/trunk/; revision=12672
2005-01-01 00:42:18 +00:00
Alex Ionescu
9311f8ddc4 Fix some Rtl Prototype inconsistencies, more are in ntifs/winddk but i have fixed those in my header branch for when ntoskrnl will use them.
svn path=/trunk/; revision=12671
2004-12-31 21:31:39 +00:00
Alex Ionescu
1464aa0ecb Remove generated file
svn path=/trunk/; revision=12670
2004-12-31 21:26:43 +00:00
Alex Ionescu
73e868d565 Removed HEAP_NO_VALLOC from Heap Manager because the flag is redunant. Removed Version Differentation in epsapi because it's only meant to run on ROS, and we decide what to emulate. KJK agrees.
svn path=/trunk/; revision=12669
2004-12-31 20:05:16 +00:00
Art Yerkes
438aa3123b Avoid including dep rules if the previous makefile had an empty dep set,
because -include can't tolerate zero include files.

svn path=/trunk/; revision=12660
2004-12-31 19:38:47 +00:00
Alex Ionescu
9274918700 Changed CVS tag to SVN for buildno
svn path=/trunk/; revision=12652
2004-12-31 19:18:23 +00:00
Gé van Geldorp
97b9077773 Update status
svn path=/trunk/; revision=12651
2004-12-31 17:10:32 +00:00
Gé van Geldorp
f68f38c2cc Add svn:ignore properties back
svn path=/trunk/; revision=12650
2004-12-31 17:08:14 +00:00
Gé van Geldorp
15b937dfec Import and merge Wine-20041201
svn path=/trunk/; revision=12642
2004-12-31 16:48:25 +00:00
Gé van Geldorp
0cfb700271 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12641
2004-12-31 16:44:51 +00:00
Gé van Geldorp
5a0eafb788 Import and merge Wine-20041201
svn path=/trunk/; revision=12637
2004-12-31 16:30:04 +00:00
Gé van Geldorp
5e732eb747 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12636
2004-12-31 16:29:21 +00:00
Gé van Geldorp
449ae7cef2 Import and merge Wine-20041201
svn path=/trunk/; revision=12628
2004-12-31 16:21:45 +00:00
Gé van Geldorp
552bbfd1a5 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12625
2004-12-31 16:20:30 +00:00
Gé van Geldorp
c57663f076 Import and merge Wine-20041201
svn path=/trunk/; revision=12613
2004-12-31 16:12:23 +00:00
Gé van Geldorp
11e2ec38d3 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12609
2004-12-31 16:10:48 +00:00
Gé van Geldorp
1b515d5749 Import and merge Wine-20041201
svn path=/trunk/; revision=12603
2004-12-31 16:07:59 +00:00
Gé van Geldorp
dc540e8946 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12602
2004-12-31 16:06:52 +00:00
Gé van Geldorp
038eebbf4e Import and merge Wine-20041201
svn path=/trunk/; revision=12599
2004-12-31 16:00:23 +00:00
Gé van Geldorp
0004a79f81 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12598
2004-12-31 15:57:39 +00:00
Gé van Geldorp
995dc47fd0 Import and merge Wine-20041201
svn path=/trunk/; revision=12595
2004-12-31 15:52:05 +00:00
Gé van Geldorp
b622dd0602 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12594
2004-12-31 15:50:08 +00:00
Gé van Geldorp
5bcd5409f3 Import and merge Wine-20041201
svn path=/trunk/; revision=12591
2004-12-31 15:44:47 +00:00
Gé van Geldorp
231d02b6af Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12590
2004-12-31 15:43:49 +00:00
Gé van Geldorp
0069d808c0 Import and merge Wine-20041201
svn path=/trunk/; revision=12587
2004-12-31 15:41:00 +00:00
Gé van Geldorp
9bc23e307d Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12586
2004-12-31 15:39:51 +00:00
Gé van Geldorp
d2b43c9093 Import and merge Wine-20041201
svn path=/trunk/; revision=12583
2004-12-31 15:35:07 +00:00
Gé van Geldorp
448e644f09 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12582
2004-12-31 15:34:15 +00:00
Gé van Geldorp
d8a1cb88e7 Import and merge Wine-20041201
svn path=/trunk/; revision=12579
2004-12-31 15:28:42 +00:00
Gé van Geldorp
eaf65abccd Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12578
2004-12-31 15:27:32 +00:00
Gé van Geldorp
c270c6db34 Import and merge Wine-20041201
svn path=/trunk/; revision=12575
2004-12-31 15:20:48 +00:00
Gé van Geldorp
53af5ece75 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12574
2004-12-31 15:19:40 +00:00
Gé van Geldorp
da5c413758 Import and merge Wine-20041201
svn path=/trunk/; revision=12569
2004-12-31 15:11:31 +00:00
Gé van Geldorp
412382b514 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12567
2004-12-31 15:10:21 +00:00
Gé van Geldorp
c606eeb39a Import and merge Wine-20041201
svn path=/trunk/; revision=12551
2004-12-31 15:06:50 +00:00
Gé van Geldorp
329aa380dd Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12550
2004-12-31 15:05:54 +00:00
Gé van Geldorp
811db616d2 Import and merge Wine-20041201
svn path=/trunk/; revision=12533
2004-12-31 15:01:00 +00:00
Gé van Geldorp
3d47600ac9 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12528
2004-12-31 15:00:01 +00:00
Gé van Geldorp
7b0b16d102 Import and merge Wine-20041201
svn path=/trunk/; revision=12507
2004-12-31 14:52:07 +00:00
Gé van Geldorp
672316dd13 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12506
2004-12-31 14:50:49 +00:00
Gé van Geldorp
13db281fa1 Import and merge Wine-20041201
svn path=/trunk/; revision=12496
2004-12-31 14:46:26 +00:00
Gé van Geldorp
0b58caa931 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12492
2004-12-31 14:43:15 +00:00
Gé van Geldorp
7019e45c1e Import and merge Wine-20041201
svn path=/trunk/; revision=12486
2004-12-31 14:38:10 +00:00
Gé van Geldorp
560189fa51 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12485
2004-12-31 14:36:08 +00:00
Gé van Geldorp
e0004d8405 Import and merge Wine-20041201
svn path=/trunk/; revision=12470
2004-12-31 14:19:43 +00:00
Gé van Geldorp
2e2a9d4897 Need to remove existing files before doing vendor import
svn path=/trunk/; revision=12465
2004-12-31 14:17:57 +00:00
Gé van Geldorp
6b36db792e Add back missing files
svn path=/trunk/; revision=12440
2004-12-31 14:03:51 +00:00
Gé van Geldorp
12ee80de00 Merge Wine-20041201
svn path=/trunk/; revision=12436
2004-12-31 14:01:01 +00:00
Gé van Geldorp
cd7253e298 Try to fix import mess
svn path=/trunk/; revision=12433
2004-12-31 13:58:48 +00:00
Gé van Geldorp
6e2fe87e5c Import of Wine-20041201
svn path=/trunk/; revision=12426
2004-12-31 13:47:13 +00:00
Gé van Geldorp
f8179ef1d9 Need to delete before doing initial vendor import
svn path=/trunk/; revision=12425
2004-12-31 13:45:51 +00:00
Casper Hornstrup
8fabf8b0ad Remove .cvsignore files.
svn path=/trunk/; revision=12417
2004-12-31 12:29:26 +00:00
Casper Hornstrup
3a156b0bac Remove ChangeLog
svn path=/trunk/; revision=12414
2004-12-31 11:38:20 +00:00
Casper Hornstrup
2ea5bbad67 Fix building dbghelp.dll on Windows.
Patch by Filip Navara (xnavara@volny.cz)

svn path=/trunk/; revision=12412
2004-12-30 20:24:20 +00:00
Alex Ionescu
88bb3cec55 Added dbghelp.dll to bootcd
svn path=/trunk/; revision=12411
2004-12-30 18:56:40 +00:00
Alex Ionescu
2c31701a8c Added dbghelp to build because it builds for now.
svn path=/trunk/; revision=12410
2004-12-30 18:31:43 +00:00
Alex Ionescu
ac1c6873a1 Added SEH support to NtReadVirtualMemory. Allows OllyDbg to load (and probably a load of other applications too).
svn path=/trunk/; revision=12409
2004-12-30 18:30:44 +00:00
Alex Ionescu
88454ea69a Implemented:
ExSetResourceOwnerPointer, FsRtlDissectDbcs, FsRtlDoesDbcsContainWildCards, FsRtlAcquireFileExclusive, FsRtlReleaseFile, FsRtlGetNextMcbEntry, FsRtlLookupLastMcbEntry, FsRtlLookupMcbEntry, FsRtlRemoveMcbEntry, FsRtlIncrementCcFastReadResourceMiss, FsRtlIncrementCcFastReadNotPossible, FsRtlIncrementCcFastReadWait, FsRtlIncrementCcFastReadNoWait , FsRtlAreNamesEqual, FsRtlDoesNameContainWildCards, IoCreateDriver, IoDeleteDriver

Thanks to Filip for reviewing some of these.

svn path=/trunk/; revision=12408
2004-12-30 18:30:05 +00:00
Alex Ionescu
b3ba03af69 Make dbghelp build. Very buggy, very wine-ized, haven't looked much at the code yet, work in progress for my upcoming Debug API support.
svn path=/trunk/; revision=12407
2004-12-30 18:24:19 +00:00
Eric Kohl
216311551a - Use ShareAccess FILE_SHARE_READ | FILE_SHARE_WRITE to indicate passive mode for client end pipes.
svn path=/trunk/; revision=12406
2004-12-30 16:15:46 +00:00
Royce Mitchell III
78c79c31e7 msvc6 and gcc4 support
svn path=/trunk/; revision=12405
2004-12-30 16:02:12 +00:00
Gé van Geldorp
365dff816f tmHeight calculation
svn path=/trunk/; revision=12404
2004-12-30 15:15:01 +00:00
Filip Navara
d673e21b8c Fix by WaxDragon: Pass the Metric parameter from RouterCreateRoute to RouterAddRoute. This only needs to be hard-coded in *one* place.
svn path=/trunk/; revision=12403
2004-12-30 13:54:21 +00:00
Eric Kohl
4801e8cc23 Use a new passive pipe state (0) to ensure that client ends don't connect to server ends in calls to WaitNamed Pipe().
svn path=/trunk/; revision=12402
2004-12-30 12:34:27 +00:00
KJK::Hyperion
da6d4e37b3 Disable debug messages
svn path=/trunk/; revision=12401
2004-12-30 08:13:00 +00:00
KJK::Hyperion
6948c64efb ELF_support, welcome to HEAD! (just in time for the freeze, too!)
svn path=/trunk/; revision=12400
2004-12-30 08:05:12 +00:00
KJK::Hyperion
ca61e32c5c The right header to include is <pseh.h>
svn path=/trunk/; revision=12399
2004-12-30 06:55:18 +00:00
KJK::Hyperion
395ae7d908 - PSEH changes imported in the main tree
- initial (dead, disabled) import of ELF support

svn path=/trunk/; revision=12398
2004-12-30 05:59:11 +00:00
Filip Navara
269d17ca59 - Fix prototype of NtGdiExtCreatePen.
svn path=/trunk/; revision=12396
2004-12-30 04:11:19 +00:00
Filip Navara
c70497e059 I accidently removed objects/metafile.o from the makefile...adding back.
svn path=/trunk/; revision=12395
2004-12-30 03:42:03 +00:00
Filip Navara
ead9e85bda - Reimplementation of CreateCursor (now the correct way).
- Various small fixes in the cursors/icon implementation.
- Print the message about InSendMessage being unimplemented only once (per process).

svn path=/trunk/; revision=12394
2004-12-30 02:32:26 +00:00
Filip Navara
a0d295de59 - Move implemented functions from stubs[aw].c to appropriate files.
- Replace GDI functions that were just calling NtGdi functions with forwarders in the .def file.
- Port GetTextFaceA from Wine.

svn path=/trunk/; revision=12393
2004-12-30 02:32:24 +00:00
Filip Navara
1cbf5899cf - Use pvScan0 instead of pvBits as the first scan line in AlphaBltMask.
- Fix setting of icon size in NtUserCreateCursorIconHandle for icons with boths color and mask bitmaps.
- Fix size check in NtGdiSetBitmapBits.
- Don't flip images in BITMAPOBJ_CopyBitmap if we're passed a top-down bitmap.
- IntSetDIBits shouldn't just silently ignore the ScanLines and StartScan parameters.
- Hack in place of NtGdiExtCreatePen implementation.

svn path=/trunk/; revision=12392
2004-12-30 02:32:19 +00:00
Gunnar Dalsnes
c97559f3c5 filelock.c:
-general cleanup
-fix signed -> unsigned comparsion
-allow zero length unlocks to complete with success
-makes some more wine reg. tests pass
ntdef.h: add macros LIST_FOR_EACH and LIST_FOR_EACH_SAFE

svn path=/trunk/; revision=12391
2004-12-30 02:30:40 +00:00
Thomas Bluemel
f5e28a77d1 very beginning of a reactos volume control application, not really usable yet
svn path=/trunk/; revision=12389
2004-12-29 22:37:14 +00:00
Gé van Geldorp
13b05d6081 Fix crash when closing unconnected socket
svn path=/trunk/; revision=12388
2004-12-29 21:44:44 +00:00
Gé van Geldorp
cffcbe1d74 Generate timer messages instead of queueing them
svn path=/trunk/; revision=12387
2004-12-29 19:55:01 +00:00
Gé van Geldorp
3149ec5ad0 Fix rosapps build
svn path=/trunk/; revision=12385
2004-12-29 00:31:45 +00:00
Gé van Geldorp
1d1a9c5708 Minor version number update because of xbox support
svn path=/trunk/; revision=12384
2004-12-28 23:59:14 +00:00
Filip Navara
a69f115882 - Implement connection-less Connect and Send.
svn path=/trunk/; revision=12383
2004-12-28 17:05:19 +00:00
Gé van Geldorp
5398292e64 Call TdiReceive when local buffer is empty
svn path=/trunk/; revision=12382
2004-12-28 16:53:26 +00:00
Eric Kohl
1b7ee37237 Move 'Command Prompt' link creation from setup.exe to syssetup.dll.
svn path=/trunk/; revision=12381
2004-12-28 14:41:46 +00:00
Eric Kohl
9af695bf7b Implement CopyProfileDirectoryA/W.
svn path=/trunk/; revision=12380
2004-12-28 13:30:18 +00:00
Thomas Bluemel
59951cd18f don't allocate movable memory and use the returned handle as a pointer, allocate fixed memory instead
svn path=/trunk/; revision=12379
2004-12-28 13:11:02 +00:00
Filip Navara
3ad6d76cf9 - Don't try to free uninitialized pointer in error case.
svn path=/trunk/; revision=12378
2004-12-28 12:18:08 +00:00
Filip Navara
be70ea04aa - Don't continue if WarmSocketForConnection fails.
svn path=/trunk/; revision=12377
2004-12-28 11:41:29 +00:00
Filip Navara
a7c62fa529 - Fix WSPSelect.
- Partial implementation of WSPGetSockOpt.

svn path=/trunk/; revision=12376
2004-12-28 11:39:05 +00:00
Gé van Geldorp
27679de8f1 Implement ToAscii() and ToAsciiEx()
svn path=/trunk/; revision=12375
2004-12-28 08:58:35 +00:00
Gé van Geldorp
430c468657 Don't return characters is key is up
svn path=/trunk/; revision=12374
2004-12-28 08:50:10 +00:00
Gé van Geldorp
c8bcc7b2c8 Set transition state bit in WM_KEY messages
svn path=/trunk/; revision=12373
2004-12-28 08:49:06 +00:00
Alex Ionescu
190c2b5fc1 Fully support AsyncSelect by re-enabling events. Also, FD_CONNECT stuff isn't quite right, I need to investigate more.
svn path=/trunk/; revision=12372
2004-12-27 21:18:07 +00:00
Filip Navara
dc88a45c29 - Minor fixes to get Wine NTDLL environment tests pass.
svn path=/trunk/; revision=12371
2004-12-27 20:43:42 +00:00
Gé van Geldorp
af72a293ff Import libs now have a "lib" prefix
svn path=/trunk/; revision=12370
2004-12-27 20:09:57 +00:00
Gé van Geldorp
befed0390b Consolidate filling of TEXTMETRICS to a single location.
svn path=/trunk/; revision=12369
2004-12-27 20:06:55 +00:00
Art Yerkes
8bd8d19886 Fix by WaxDragon: don't use before initialize.
svn path=/trunk/; revision=12368
2004-12-27 16:50:56 +00:00
Filip Navara
f5e5ae6874 - Implement MsgWaitForMultipleObjects.
svn path=/trunk/; revision=12367
2004-12-27 16:48:29 +00:00
Filip Navara
f87aca3585 - Set last error in CreateDIBSection.
svn path=/trunk/; revision=12366
2004-12-27 16:47:02 +00:00
Filip Navara
7d8d83ff01 - BitmapFormat should handle BI_BITFIELDS compression type.
svn path=/trunk/; revision=12365
2004-12-27 16:45:19 +00:00
Filip Navara
5848acdc90 - Implement _onexit.
- Port __dllonexit from Wine.
- Fix vsscanf stream initialization.

svn path=/trunk/; revision=12364
2004-12-27 16:43:49 +00:00
Filip Navara
691f45eb54 - RtlExpandEnvironmentStrings_U and ExpandEnvironmentStrings[AW] should return the total length needed for the string with all the environment variables expanded.
svn path=/trunk/; revision=12363
2004-12-27 16:40:14 +00:00
Eric Kohl
ea579e1a95 Detect and report ACPI- and APM-BIOS support.
svn path=/trunk/; revision=12362
2004-12-27 16:13:41 +00:00
Eric Kohl
280e3627d8 Enumerate all devices on the 'ACPI bus'.
svn path=/trunk/; revision=12361
2004-12-27 14:24:00 +00:00
Eric Kohl
e81ecb35ce Enumerate FILE_DEVICE_BUS_EXTENDER and FILE_DEVICE_ACPI devices.
svn path=/trunk/; revision=12360
2004-12-27 14:21:35 +00:00
Martin Fuchs
d8d3883496 fix GPF for clicks in the favorites folder
svn path=/trunk/; revision=12359
2004-12-27 13:54:19 +00:00
Gé van Geldorp
7a1b4194e2 Use ListEntry->Flink before ListEntry is freed by SignalSocket()
svn path=/trunk/; revision=12358
2004-12-27 11:00:01 +00:00
Gé van Geldorp
4b48423b86 Make AsyncData point to the allocated memory instead of overwriting some
random memory locations

svn path=/trunk/; revision=12357
2004-12-27 10:38:06 +00:00
Filip Navara
89ae96ff47 - Free all memory in error case of GetClassInfoExCommon.
- Fix RegisterClassExA for menu-less window classes.

svn path=/trunk/; revision=12353
2004-12-26 23:56:16 +00:00
Filip Navara
f6f130ea4b - Fix size returned by NtUserGetClassInfo.
svn path=/trunk/; revision=12352
2004-12-26 23:54:54 +00:00
Gé van Geldorp
e4514c3fed Dynamically resize buffer as needed
svn path=/trunk/; revision=12350
2004-12-26 23:31:00 +00:00
Gé van Geldorp
8bbd20efdc Don't write outside buffer
svn path=/trunk/; revision=12349
2004-12-26 23:09:51 +00:00
Gé van Geldorp
0afb1fb12d Move the I/O completion port setting to second stage and fix the async I/O
test. Thanks to Alex Ionescu for explaining this stuff to me.

svn path=/trunk/; revision=12348
2004-12-26 21:18:34 +00:00
Filip Navara
46016205f7 DceResetActiveDCEs fixes:
- Don't check ownership because window DCs are global now.
- Correctly reposition client DCs (if window style changes).

svn path=/trunk/; revision=12347
2004-12-26 20:34:49 +00:00
Filip Navara
fe67fad88a - Fix building on Linux.
svn path=/trunk/; revision=12346
2004-12-26 18:55:26 +00:00
Filip Navara
11d39be5b5 - Export ExSemaphoreObjectType.
svn path=/trunk/; revision=12345
2004-12-26 17:48:19 +00:00
Gé van Geldorp
cbfd8c1020 Set I/O completion port on completion of the IRP
svn path=/trunk/; revision=12344
2004-12-26 15:55:14 +00:00
Gé van Geldorp
f5639215be Implement IoSetIoCompletion()
svn path=/trunk/; revision=12343
2004-12-26 15:36:23 +00:00
Gé van Geldorp
eb9bfeca2c Thomas pointed out that we can just use PostMessageW() instead of going
through WPUPostMessage()

svn path=/trunk/; revision=12342
2004-12-26 15:21:23 +00:00
Gé van Geldorp
fb8f8407b9 Handle AFD_EVENT_CONNECT notifications
svn path=/trunk/; revision=12341
2004-12-26 15:04:33 +00:00
Gé van Geldorp
fbabeaaf58 - Don't use boolean NOT when bitwise NOT is intended
- Add break to end of switch cases

svn path=/trunk/; revision=12340
2004-12-26 14:55:51 +00:00
Gé van Geldorp
aa94246f81 Don't free AsyncData if we're still using it
svn path=/trunk/; revision=12339
2004-12-26 14:47:57 +00:00
Gé van Geldorp
65c509fce1 Implemented WPUPostMessage()
svn path=/trunk/; revision=12338
2004-12-26 14:43:01 +00:00
Filip Navara
ec977e2072 - Set the popup menu flag in IntSetMenuItemInfo when setting the handle of submenu.
svn path=/trunk/; revision=12337
2004-12-25 23:40:47 +00:00
Filip Navara
adc5944468 - Partial implementation of RealMsgWaitForMultipleObjectsEx and message queue wake mask.
- Fix setting of menu item type and strings.

svn path=/trunk/; revision=12336
2004-12-25 22:59:10 +00:00
Gé van Geldorp
0dedd084f1 Don't return uninitialized variable
svn path=/trunk/; revision=12335
2004-12-25 22:58:59 +00:00
Art Yerkes
af8cd05c99 Added a (currently unworking) accept implementation. Needs work, but doesn't
break anything.
Committed a patch by GvG:
 - SignalSocket: Removed collected parameter, changed Information to actual
   number of bytes returned.

svn path=/trunk/; revision=12333
2004-12-25 21:30:20 +00:00
Filip Navara
bcf559d5f2 - Fix compilation with MinGW runtime 3.5.
svn path=/trunk/; revision=12332
2004-12-25 21:05:19 +00:00
Filip Navara
681a0743e5 - Fix finding of windows by classes in NtUserFindWindow.
- Marshal WM_COPYDATA messages.

svn path=/trunk/; revision=12331
2004-12-25 20:30:50 +00:00
Filip Navara
2d0fbe6020 - Fix KDBG build that I've broken.
svn path=/trunk/; revision=12330
2004-12-25 19:38:17 +00:00
Filip Navara
2aab39efbd - Fix a typo.
svn path=/trunk/; revision=12329
2004-12-25 15:33:30 +00:00
Filip Navara
373381ed59 - Fix comparsion that I broke with my last commit.
svn path=/trunk/; revision=12328
2004-12-25 14:22:57 +00:00
Filip Navara
32dfb00066 - Fix yet another double completition error.
svn path=/trunk/; revision=12327
2004-12-25 12:07:24 +00:00
Filip Navara
c7505530e0 - Fix compilation with GCC 4.0-20041219.
svn path=/trunk/; revision=12326
2004-12-25 11:22:37 +00:00
Filip Navara
37dca7acbd - Fix compilation with GCC 4.0-20041219.
- Don't try to stick (1 << 8) into entry.delivery_mode which is 3-bit integer.

svn path=/trunk/; revision=12325
2004-12-25 11:21:48 +00:00
Filip Navara
f73524a056 - Don't pass uninitialized variables to PropertySheet,
svn path=/trunk/; revision=12324
2004-12-25 11:17:10 +00:00
Magnus Olsen
89384064a9 regsettings for acpi and
fix powerdown when reactos shortdown by Herv� Poussineau

svn path=/trunk/; revision=12323
2004-12-25 00:46:07 +00:00
Magnus Olsen
2b91825e80 fix powerdown when reactos shortdown by Herv� Poussineau
svn path=/trunk/; revision=12322
2004-12-25 00:44:49 +00:00
Filip Navara
63dde03aef - Fix compilation with GCC 4.0-20041219.
svn path=/trunk/; revision=12321
2004-12-24 23:01:35 +00:00
Magnus Olsen
2c0d95525f change NtUserChangeDisplaySettings stub so it report res not supported
geting quake1 working direcly form console with out any extra switch

svn path=/trunk/; revision=12320
2004-12-24 19:02:32 +00:00
Thomas Bluemel
e07e530aa6 revert my temporary class hacks and remove my desktop handling changes temporarily as they cause some trouble
svn path=/trunk/; revision=12319
2004-12-24 17:45:59 +00:00
Eric Kohl
68bf1ffa6a Add simple first stage GUI setup application.
svn path=/trunk/; revision=12317
2004-12-24 17:31:07 +00:00
Eric Kohl
f9131a7f31 - Move english resource to a separate file.
- Keep language-independent resources in welcome.rc.
- Run 'reactos.exe' to install ReactOS.

svn path=/trunk/; revision=12316
2004-12-24 17:19:44 +00:00
Eric Kohl
102860f1bd Add simple first stage GUI setup application.
svn path=/trunk/; revision=12315
2004-12-24 17:17:12 +00:00
Filip Navara
f4e0630b1d - Fix compilation with GCC 4.0-20041219.
svn path=/trunk/; revision=12314
2004-12-24 17:07:00 +00:00
Royce Mitchell III
9f1fc57758 IntEngGradientFill() fix ASSERT statements
svn path=/trunk/; revision=12312
2004-12-24 06:00:53 +00:00
Gunnar Dalsnes
699702d6ce -add some asserts to catch abuse (double insertions, unititialized items etc.)
-add asserts for KeRemoveQueue NTSTATUS returns

svn path=/trunk/; revision=12311
2004-12-24 02:09:12 +00:00
Gunnar Dalsnes
11deb707d5 add bugcode: INVALID_WORK_QUEUE_ITEM
svn path=/trunk/; revision=12310
2004-12-24 02:05:26 +00:00
Gunnar Dalsnes
8d1d54877f ExInitializeWorkItem: synch with Windows (only NULL the Flink)
svn path=/trunk/; revision=12309
2004-12-24 01:39:50 +00:00
Alex Ionescu
8b4b5441b4 Fix building with DBG=1, OPTIMIZED=1. Patch by Stephen Hodges.
svn path=/trunk/; revision=12308
2004-12-24 01:32:38 +00:00
Eric Kohl
38615c56e8 - Pass create parameters for named pipes and mailslots in the stack location.
- Call NpfsFindPipe to search for an existing pipe.

svn path=/trunk/; revision=12307
2004-12-23 23:58:44 +00:00
Eric Kohl
9b7ba3e6fb Pass create parameters for named pipes and mailslots in the stack location.
svn path=/trunk/; revision=12306
2004-12-23 23:56:33 +00:00
Filip Navara
630b572695 - Check the return value of LdrProcessModule instead of uninitialized variable.
svn path=/trunk/; revision=12305
2004-12-23 23:33:54 +00:00
Eric Kohl
09e71d4f7d Fix the signature of Nt/ZwCreateNamedPipe, the 8th to 10th arguments are ULONGs instead of BOOLEANs.
svn path=/trunk/; revision=12303
2004-12-23 20:13:38 +00:00
Gé van Geldorp
52bbffc39f Free process data when LPC port is closed, not when process is terminated,
'cause there now might be a "hide desktop" request coming in after process
termination

svn path=/trunk/; revision=12302
2004-12-23 18:02:12 +00:00
Eric Kohl
ceedef9d54 Merge EXTENDED_IO_STACK_LOCATION into IO_STACK_LOCATION and fix the resulting errors.
svn path=/trunk/; revision=12301
2004-12-23 12:39:16 +00:00
Gé van Geldorp
0b8f1f6126 Rollback last change since it's causing problems on Linux
svn path=/trunk/; revision=12300
2004-12-23 12:05:40 +00:00
Gé van Geldorp
80fe6c33b9 CVS maintenance
svn path=/trunk/; revision=12299
2004-12-23 09:15:18 +00:00
Gé van Geldorp
5eddab1bad Import shdocvw from Wine
svn path=/trunk/; revision=12297
2004-12-23 08:55:00 +00:00
Royce Mitchell III
eba02683e2 give Arch a little more variety
svn path=/trunk/; revision=12296
2004-12-23 02:24:04 +00:00
Gé van Geldorp
0b50bd52b2 Reimport of urlmon from Wine
svn path=/trunk/; revision=12295
2004-12-22 23:15:15 +00:00
Mike Nordell
3d7aa0b923 Tamlin was tired. Now byte order should _really_ be fixed
svn path=/trunk/; revision=12294
2004-12-22 23:05:12 +00:00
Mike Nordell
0a7987564c Remove bad declaration of htons
svn path=/trunk/; revision=12293
2004-12-22 22:57:19 +00:00
Mike Nordell
0fa4a286ba Fix order-of-evalutation bug-to-be
svn path=/trunk/; revision=12292
2004-12-22 22:48:02 +00:00
Royce Mitchell III
e386edfdb9 commited the wrong source for the bot.. sorry
svn path=/trunk/; revision=12291
2004-12-22 21:53:02 +00:00
Royce Mitchell III
5e7ce7f6f5 forgot to commit responses file
svn path=/trunk/; revision=12290
2004-12-22 18:57:09 +00:00
Royce Mitchell III
089686cac2 ArchBlackmann irc bot - works in ReactOS - happy hacking
svn path=/trunk/; revision=12289
2004-12-22 18:25:29 +00:00
Art Yerkes
f781714ac5 This corresponds to the change made in dispatch.c on the 20th.
svn path=/trunk/; revision=12288
2004-12-22 16:23:03 +00:00
Royce Mitchell III
4cf6b9f489 MiQueryVirtualMemory(): created because ZwQueryVirtualMemory() didn't work for me, added cases for memory area types that I needed to walk stack traces.
Stack traces now use MiQueryVirtualMemory to make sure they never step outside the allocated stack they started in ( this prevents page faults at high irql ) - for some reason this patch eliminates the NtW32Callback() crash everybody is seeing with GDI_DEBUG enabled, tho I don't understand why.

svn path=/trunk/; revision=12286
2004-12-22 05:17:44 +00:00
Royce Mitchell III
5dcad29338 msvc compatibility
svn path=/trunk/; revision=12285
2004-12-22 05:06:59 +00:00
Filip Navara
7ea5ac8d87 - Run UserInit program instead of running shell directly.
svn path=/trunk/; revision=12282
2004-12-22 01:22:08 +00:00
Filip Navara
9769f53baa - Wait for the shell process to finish execution.
svn path=/trunk/; revision=12281
2004-12-22 01:20:52 +00:00
Gunnar Dalsnes
d509bf9f98 forgot to add this when making chages to status.c earlier
svn path=/trunk/; revision=12280
2004-12-22 00:58:53 +00:00
Thomas Bluemel
02388014ad - initialize system window classes when creating window stations
- when creating consoles tell CSRSS the window station/desktop where they should created in, if there's information available

svn path=/trunk/; revision=12279
2004-12-21 21:38:27 +00:00
Magnus Olsen
6b4db70aba add dsound include files from wine
svn path=/trunk/; revision=12278
2004-12-21 19:31:07 +00:00
Gé van Geldorp
67cde50ddc - Don't pass a timeout (which wasn't initialized btw), just hang around forever
- Call completion routine

svn path=/trunk/; revision=12277
2004-12-21 18:38:49 +00:00
Gé van Geldorp
ea8bd9a5d2 - Standardize I/O Completion Port initialization function
- Actually call it

svn path=/trunk/; revision=12276
2004-12-21 18:37:28 +00:00
Magnus Olsen
b4ad77b7ad activate wine own guid for dsound ?
first step geting dsound compile
wine dsound compile agein
need todo some clean work now

svn path=/trunk/; revision=12275
2004-12-21 18:14:11 +00:00
Mike Nordell
f651c1283c Command line completion fix (uninitialized memory)
svn path=/trunk/; revision=12274
2004-12-21 16:30:24 +00:00
Filip Navara
df23944ec6 *** empty log message ***
svn path=/trunk/; revision=12273
2004-12-21 15:07:01 +00:00
Filip Navara
75f1fd495c - Add CLSID entries for CLSID_DragDropHelper.
svn path=/trunk/; revision=12272
2004-12-21 14:33:59 +00:00
Royce Mitchell III
d56daebd24 blasted sym files just aren't always in address-order, must search entire sym file to find correct function for our offset.
svn path=/trunk/; revision=12270
2004-12-21 04:32:11 +00:00
Royce Mitchell III
73df8e0872 wrap stack walks in SEH - this doesn't fix page faults tho, so something else is going to have to be done :(
svn path=/trunk/; revision=12269
2004-12-21 04:05:18 +00:00
Gunnar Dalsnes
93af2278c0 NtRemoveIoCompletion: didn't check for possible NTSTATUS codes returned from KeRemoveQueue
Spotted by GvG

svn path=/trunk/; revision=12268
2004-12-21 02:34:32 +00:00
Filip Navara
ff32df1937 - Add registry entries for DXDIAG.
svn path=/trunk/; revision=12267
2004-12-21 00:39:34 +00:00
Magnus Olsen
cd064303bb add devenum to the bootcd
svn path=/trunk/; revision=12266
2004-12-20 22:33:01 +00:00
Magnus Olsen
476dd07c96 add devenum to the build
svn path=/trunk/; revision=12265
2004-12-20 22:26:18 +00:00
Magnus Olsen
cd77453af5 spell error
svn path=/trunk/; revision=12264
2004-12-20 22:18:41 +00:00
Magnus Olsen
8e962ca524 add devnum.dll base adress
svn path=/trunk/; revision=12263
2004-12-20 22:12:43 +00:00
Magnus Olsen
0a80f15977 header file from wine
small change in one of these

svn path=/trunk/; revision=12262
2004-12-20 22:11:56 +00:00
Magnus Olsen
1117373fd8 port over devnum from wine only small change to createdevnum.c
svn path=/trunk/; revision=12261
2004-12-20 22:09:31 +00:00
Hartmut Birr
a736766cac Fixed the include of utime.h. (I should read the mails from others more exactly.)
svn path=/trunk/; revision=12260
2004-12-20 21:50:41 +00:00
Gé van Geldorp
b41e30eb6d Set ownership to NULL for both cursor and mask bitmaps
svn path=/trunk/; revision=12258
2004-12-20 21:34:23 +00:00
Magnus Olsen
026cdb6db3 fix some fualt here.
svn path=/trunk/; revision=12257
2004-12-20 21:09:40 +00:00
Hartmut Birr
22b8e65551 Used stat, utime and utimbuf instead of _stat, _utime and _utimbuf.
svn path=/trunk/; revision=12256
2004-12-20 19:55:26 +00:00
Magnus Olsen
7f6d0de950 rename dxdigan to dxdiagn
now wee remove dxdigan

svn path=/trunk/; revision=12255
2004-12-20 19:55:07 +00:00
Gé van Geldorp
259079e083 Add some stubs to allow msvcp60.dll to load
svn path=/trunk/; revision=12254
2004-12-20 17:32:05 +00:00
Magnus Olsen
3e2ae1fc05 rename dxdigan to dxdiagn
now wee remove dxdigan

svn path=/trunk/; revision=12253
2004-12-20 16:34:47 +00:00
Magnus Olsen
21a54bca5b rename dxdigan to dxdiagn
svn path=/trunk/; revision=12252
2004-12-20 16:32:43 +00:00
Eric Kohl
c443a93492 NtAllocateUuids(): Improve randomness of initial sequence count.
svn path=/trunk/; revision=12251
2004-12-20 14:07:34 +00:00
Magnus Olsen
e49daf9671 add dxdigan.dll to the bootcd
svn path=/trunk/; revision=12250
2004-12-20 06:58:23 +00:00
Magnus Olsen
003b5a6949 add strmiids and dxdigan to the build
svn path=/trunk/; revision=12249
2004-12-20 06:55:28 +00:00
Filip Navara
e9808cae5d - Don't try to free string that isn't allocated.
svn path=/trunk/; revision=12248
2004-12-20 02:31:48 +00:00
Filip Navara
28196d0b54 - Fix calling convention of OpenDriverA.
svn path=/trunk/; revision=12247
2004-12-20 02:16:19 +00:00
Filip Navara
70ea1560fe - Fix RosRtlDevModeA2W and RosRtlDevModeW2A for older versions of DEVMODE[AW] structures.
svn path=/trunk/; revision=12246
2004-12-20 01:52:01 +00:00
Filip Navara
5888259db6 - Fix parameter handling in EnumDisplaySettingsExA.
svn path=/trunk/; revision=12245
2004-12-20 01:50:39 +00:00
Magnus Olsen
27a6be65a9 port from wine
thanks filip to help me with some changes

svn path=/trunk/; revision=12244
2004-12-20 01:10:17 +00:00
Magnus Olsen
566bc4e279 port from wine
Directx digansotic dll
it is working in windows but fails some program in reactos

svn path=/trunk/; revision=12243
2004-12-20 01:08:18 +00:00
Magnus Olsen
10a38eaddf add static lib strmiids for directx
svn path=/trunk/; revision=12242
2004-12-20 00:59:11 +00:00
Magnus Olsen
6199c85de8 add TARGET_BASE = $(TARGET_BASE_LIB_DINPUT8)
svn path=/trunk/; revision=12241
2004-12-20 00:57:38 +00:00
Filip Navara
99eb3217fb - Pass correct parameters to UDPReceiveDatagram.
svn path=/trunk/; revision=12240
2004-12-20 00:55:27 +00:00
Magnus Olsen
4991937434 fix TARGET_BASE_LIB_DINPUT
fix TARGET_BASE_LIB_DINPUT8
fix TARGET_BASE_LIB_DXDIAGN

svn path=/trunk/; revision=12239
2004-12-20 00:54:56 +00:00
Magnus Olsen
56ebacd78f add TARGET_BASE = $(TARGET_BASE_LIB_DINPUT)
svn path=/trunk/; revision=12238
2004-12-20 00:53:54 +00:00
Alex Ionescu
4814e3518f Update AFD Include for WSPCloseSocket
svn path=/trunk/; revision=12237
2004-12-19 22:18:59 +00:00
Hartmut Birr
427f167cae - Set the time of the copied file to the time of the source file.
svn path=/trunk/; revision=12236
2004-12-19 21:49:13 +00:00
Hartmut Birr
7e6f1ac93b - Used the last write time instead of the last access time in GetFileTimes (only on windows).
svn path=/trunk/; revision=12235
2004-12-19 21:45:34 +00:00
Gé van Geldorp
0950c88772 Version number bump on HEAD
svn path=/trunk/; revision=12233
2004-12-19 20:57:53 +00:00
Alex Ionescu
28bce6709b Implemented WSPCloseSocket.
svn path=/trunk/; revision=12232
2004-12-19 20:13:28 +00:00
Filip Navara
9367e001e8 - Fix compilation errors with GCC 4.0-20041212.
svn path=/trunk/; revision=12230
2004-12-19 19:35:05 +00:00
Filip Navara
2513acd5bf - Don't ignore status returned by IOCTLs in WSPAccept.
- Wait for IOCTL_AFD_WAIT_FOR_LISTEN request to finish in pending case.

svn path=/trunk/; revision=12228
2004-12-19 17:28:07 +00:00
Thomas Bluemel
5e9dedd497 use GDI_DEBUG
svn path=/trunk/; revision=12227
2004-12-19 16:53:57 +00:00
Filip Navara
016f144f5b - Remove unused and broken MmSplitMemoryArea function.
- Don't allow releasing section with NtFreeVirtualMemory.
- Implement TokenDefaultDacl case of NtSetInformationToken.

svn path=/trunk/; revision=12226
2004-12-19 16:16:58 +00:00
Filip Navara
e469cf0000 - Fix compilation errors with GCC 4.0-20041212.
svn path=/trunk/; revision=12225
2004-12-19 15:56:53 +00:00
Filip Navara
c30b427a20 - Store the device object we're attached to in the device extension.
svn path=/trunk/; revision=12224
2004-12-19 15:51:51 +00:00
Eric Kohl
e84c9310a5 NtAllocateUuids(): Load and save sequence counter.
svn path=/trunk/; revision=12223
2004-12-19 12:52:42 +00:00
Eric Kohl
1d48593faa Add timezone index mapping value and Rpc key.
svn path=/trunk/; revision=12222
2004-12-19 12:50:55 +00:00
Mike Nordell
51f96d5871 Fix crash clicking desktop during setup (NULL pointer was unchecked)
svn path=/trunk/; revision=12221
2004-12-19 11:05:48 +00:00
Art Yerkes
b950b4dd97 Return error on every read after the first that returns EOF.
svn path=/trunk/; revision=12220
2004-12-19 10:26:01 +00:00
Art Yerkes
08f643dfc4 Recognize and deal with STATUS_END_OF_FILE.
svn path=/trunk/; revision=12219
2004-12-19 10:24:52 +00:00
Royce Mitchell III
4439ab0fb9 small bugfix to KeRosDumpStackFrames
svn path=/trunk/; revision=12218
2004-12-19 05:08:53 +00:00
Royce Mitchell III
b27cf5b226 much improved reporting on gdi handle leaks ( you must completely run out of handles tho - which is rare now that quotas are implemented )
svn path=/trunk/; revision=12217
2004-12-19 05:03:29 +00:00
Royce Mitchell III
4a371112ec gdi handle leak fixed - taskmgr no longer leaks gdi handles whilest sitting still. (why on earth was this commented out?!?!??!)
svn path=/trunk/; revision=12216
2004-12-19 05:00:22 +00:00
Royce Mitchell III
b4101d22b8 HACK: hard-coded gdi handle quotas, excepting code paths I haven't found yet, reactos can handle gdi leaky apps without bsoding or getting hosed now. This is a hack, because we should properly read the quota from the registry upon session initialization and use that value instead.
svn path=/trunk/; revision=12215
2004-12-19 00:03:56 +00:00
Royce Mitchell III
c39a4131db IntSetCursor() don't BSOD in low-resource conditions
svn path=/trunk/; revision=12214
2004-12-18 23:55:26 +00:00
Art Yerkes
60f819d761 Removed some badly formatted checkpoints.
svn path=/trunk/; revision=12213
2004-12-18 23:12:23 +00:00
Art Yerkes
9f1235eb99 Added some extra printing.
Fixed numerous places where we assume lpErrno is non-null.

svn path=/trunk/; revision=12212
2004-12-18 23:09:30 +00:00
Gé van Geldorp
0df032976f Add some DPRINTs
svn path=/trunk/; revision=12211
2004-12-18 22:54:37 +00:00
Gé van Geldorp
edf496d8c5 Add olepro32.dll to build
svn path=/trunk/; revision=12210
2004-12-18 22:28:42 +00:00
Gé van Geldorp
6385199930 Sync to Wine-20041201:
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Ensure DllCanUnloadNow is a truly void function, and give it a unique
name so it can be documented per-dll.

svn path=/trunk/; revision=12209
2004-12-18 22:19:52 +00:00
Gé van Geldorp
b51b7135a4 Add some stubs
svn path=/trunk/; revision=12208
2004-12-18 22:15:07 +00:00
Gregor Anich
c37ff99746 Support mapping of video device memory into usermode - unfortunately this is not correctly supported by the memory manager yet.
svn path=/trunk/; revision=12207
2004-12-18 22:14:39 +00:00
Royce Mitchell III
5016bfecf7 dump some statistics on the gdi handle table when it runs out of handles
svn path=/trunk/; revision=12206
2004-12-18 21:41:17 +00:00
Royce Mitchell III
de1d28fabc NtGdiExtTextOut(): fixed some double-frees I introduced, initialize variables that need it, put {} around DPRINT(1) where needed
svn path=/trunk/; revision=12205
2004-12-18 21:35:35 +00:00
Royce Mitchell III
ef53a44b8a added non-magic-dependant double-free detection via 'status' variable
svn path=/trunk/; revision=12204
2004-12-18 21:30:17 +00:00
Royce Mitchell III
97d6fccc69 use KeRosPrintAddress in RPoolMgr
svn path=/trunk/; revision=12203
2004-12-18 21:27:27 +00:00
Gé van Geldorp
598fa7fea7 Set version info to NT 4.0 Build 1381 Service Pack 6 and include ReactOS
version number after Windows version in szCSDVersion

svn path=/trunk/; revision=12202
2004-12-18 21:06:25 +00:00
Royce Mitchell III
8afda8f04f added KeRosPrintAddress
svn path=/trunk/; revision=12201
2004-12-18 20:55:54 +00:00
Filip Navara
a67fbba8ec - Minor fix in MiniportDpc.
svn path=/trunk/; revision=12200
2004-12-18 20:32:41 +00:00
Royce Mitchell III
8e3c98a05f fix stack dumps from printing an infinite amount of <0> in some cases
svn path=/trunk/; revision=12199
2004-12-18 20:26:03 +00:00
Art Yerkes
91bbf4471d Added missing pending check (pointed out by filip).
svn path=/trunk/; revision=12198
2004-12-18 20:10:39 +00:00
Gé van Geldorp
2fa970d484 Fix harddisk detection for seriously broken BIOS
svn path=/trunk/; revision=12197
2004-12-18 19:53:30 +00:00
Art Yerkes
e8861acfb2 Filip and I have hopefully fixed the ndis completion problem on sends.
After calls to delayed miniport send routines, we check status and if not
pending, do NdisMSendComplete and set the miniport busy flag off.

svn path=/trunk/; revision=12196
2004-12-18 19:32:40 +00:00
Gé van Geldorp
e0c43e5c83 Handle failures better (i.e. without crashing)
svn path=/trunk/; revision=12195
2004-12-18 19:23:05 +00:00
Gregor Anich
35d320bd71 Fix handling of breakpoint exceptions in KDB.
svn path=/trunk/; revision=12194
2004-12-18 19:22:10 +00:00
Art Yerkes
fd0590d3cc Add a busy flag for the receive worker. This needs something better.
Remove #if 0 on send completion.  We need these.  Packets still aren't
getting completed however.  Need to investigate more.

svn path=/trunk/; revision=12193
2004-12-18 18:27:22 +00:00
Art Yerkes
1a2e000397 Check for a bad return from AllocatePacketWithBuffer.
svn path=/trunk/; revision=12192
2004-12-18 18:22:47 +00:00
Royce Mitchell III
f4354d8f89 NtGdiExtTextOut(): improved error handling
svn path=/trunk/; revision=12191
2004-12-18 18:21:02 +00:00
Royce Mitchell III
e6a6a8e434 IntGdiInitBrushInstance(): assume callers pass us valid parameters
svn path=/trunk/; revision=12190
2004-12-18 18:19:24 +00:00
Hartmut Birr
d7be13618b - Fixed the timer calibration for processors without a tsc, spotted by Casper Hornstrup.
svn path=/trunk/; revision=12189
2004-12-18 18:04:18 +00:00
Royce Mitchell III
4bd03f70f7 EngMaskBitBlt() ASSERT instead of if(), this function should trust it's callers
IntEngMaskBlt() trust caller to send required parameters

svn path=/trunk/; revision=12188
2004-12-18 17:52:30 +00:00
Royce Mitchell III
6dce633245 add error checking
svn path=/trunk/; revision=12187
2004-12-18 17:50:22 +00:00
Royce Mitchell III
e35792c4ed BUGFIX: EngMaskBitBlt() shouldn't BSOD if Mask is NULL
svn path=/trunk/; revision=12186
2004-12-18 17:36:13 +00:00
Hartmut Birr
43ccb648b2 - Fixed the definitions of HEAP_GROWABLE and HEAP_NO_VALLOC.
svn path=/trunk/; revision=12185
2004-12-18 17:30:27 +00:00
Royce Mitchell III
4076ea8740 BUGFIX: Missing error handling in IntSetDIBits()
svn path=/trunk/; revision=12184
2004-12-18 17:15:10 +00:00
Royce Mitchell III
9b125b75bd BUGFIX: EngCreateBitmap() - don't call GDIOBJ_SetOwnerShip() with invalid handle
svn path=/trunk/; revision=12183
2004-12-18 17:12:32 +00:00
Steven Edwards
eec9a15bd8 Merged most of the recent changes from the Wine edit control.
We now pass all of the Wine edit regression tests.

Vitaliy Margolen <wine-patch@kievinfo.com>
- return "want all keys" for WM_GETDLGCODE when multi-line
- single-line edit control does not want all messages
- additional style combinations are possible for both multi-line and
  single-line edit controls
- tests to confirm it

James Hawkins <truiken@gmail.com>
Limit scrolling of the edit control to the last line of text.

Ulrich Czekalla <ulrich@codeweavers.com>
Handle painting the border if WS_EX_CLIENTEDGE is not set.

Ulrich Czekalla <ulrich@codeweavers.com>
Allow copying selection when control is read only.

svn path=/trunk/; revision=12182
2004-12-18 16:06:23 +00:00
Hartmut Birr
3d5519a309 - PsUnblockThread must be called with dispatcher database lock held.
svn path=/trunk/; revision=12181
2004-12-18 15:52:51 +00:00
Thomas Bluemel
98d6439521 silence debug message i accidently added
svn path=/trunk/; revision=12180
2004-12-18 13:35:15 +00:00
Thomas Bluemel
b79bb15644 guard SetConsoleInputExeNameW() with SEH to properly release the console lock in case of failure
svn path=/trunk/; revision=12179
2004-12-18 13:33:09 +00:00
Eric Kohl
0ad5627d13 Implement NtAllocateUuids() partially.
svn path=/trunk/; revision=12178
2004-12-18 13:27:58 +00:00
Thomas Bluemel
db7aca35ef implemented undocumented GetConsoleInputExeNameA/W() and SetConsoleInputExeNameA/W() used by NT's cmd.exe
svn path=/trunk/; revision=12177
2004-12-18 13:26:57 +00:00
Hartmut Birr
a653ae39ad - Allocated a zero filled memory block for the font.
- Restored Ge's last changes.

svn path=/trunk/; revision=12176
2004-12-18 11:05:03 +00:00
Gé van Geldorp
04cae08bbc Rollback last change
svn path=/trunk/; revision=12175
2004-12-18 09:39:14 +00:00
Art Yerkes
478a3a1bd2 Added a few forwards to ws2_32.
svn path=/trunk/; revision=12172
2004-12-18 01:17:35 +00:00
Gunnar Dalsnes
68b0228983 IntReadConsole: in case of unicode read, not all chars were copied
W2k cmd.exe now works for me

svn path=/trunk/; revision=12171
2004-12-18 00:28:16 +00:00
Filip Navara
69c462a21c - Fix issues with DCE clip region ownership.
svn path=/trunk/; revision=12170
2004-12-17 19:42:46 +00:00
Royce Mitchell III
6aa427939e BUGFIX: stabs lookup ( particularly line # lookup )
svn path=/trunk/; revision=12169
2004-12-17 17:51:57 +00:00
Gé van Geldorp
26b1a392bf Pass parameters in correct order
svn path=/trunk/; revision=12168
2004-12-17 17:40:29 +00:00
Filip Navara
7b483dc2f7 - Don't allow changing ownership of foreign GDI handles.
svn path=/trunk/; revision=12167
2004-12-17 15:12:37 +00:00
Filip Navara
c79373c4c1 - Fix ownership issues with DCEs.
svn path=/trunk/; revision=12166
2004-12-17 14:44:19 +00:00
Royce Mitchell III
0fe4682b80 completely rewritten PagedPool.
- more than 800% faster
- support for multiple pools (SpecialPool, etc anyone?)
- can be used for NPool if wanted, too
- tries not to immediately reallocate a block that's just freed for allocations of <= 512 (helps find memory abusers)

svn path=/trunk/; revision=12165
2004-12-17 13:20:05 +00:00
Gregor Anich
7cbb0d7e6e Remove unused defines and structures.
svn path=/trunk/; revision=12164
2004-12-17 13:19:44 +00:00
Gé van Geldorp
af4cfbfdec Don't mess with WNDCLASS contents if class doesn't exist
svn path=/trunk/; revision=12163
2004-12-17 09:56:10 +00:00
Aleksey Bragin
74e4b45769 Include link to IoCsq...() funcs
svn path=/trunk/; revision=12162
2004-12-17 07:31:11 +00:00
Gunnar Dalsnes
0bf2982f43 IntReadConsole: don't tell we failed just because we didn't fill up the read buffer!
svn path=/trunk/; revision=12161
2004-12-17 00:44:46 +00:00
Eric Kohl
ac61295ec2 Simplify time conversion functions.
svn path=/trunk/; revision=12160
2004-12-16 23:46:41 +00:00
Eric Kohl
a2b3047314 Remove 'unassigned' error codes.
svn path=/trunk/; revision=12159
2004-12-16 23:06:07 +00:00
Gé van Geldorp
77e8ed7c6f Implement NtFlushInstructionCache()
svn path=/trunk/; revision=12158
2004-12-16 22:36:09 +00:00
Steven Edwards
8d2782b2fa Added regex support
svn path=/trunk/; revision=12157
2004-12-16 18:37:28 +00:00
Steven Edwards
99a066e54b We need this for now.
svn path=/trunk/; revision=12156
2004-12-16 18:02:32 +00:00
Steven Edwards
682154185b This should not be in CVS
svn path=/trunk/; revision=12155
2004-12-16 18:01:14 +00:00
Steven Edwards
b7ce6af053 KJK::Hyperion has PSEH'ifyed msc.c
svn path=/trunk/; revision=12154
2004-12-16 17:50:36 +00:00
Steven Edwards
1aea28360c First shot at importing dbghelp. Its broken. Dont enable it
until KJK and Alex have a look.

svn path=/trunk/; revision=12153
2004-12-16 17:42:10 +00:00
Steven Edwards
d057566f59 add dbghelp.h and cvconst.h for importing dbghelp.dll
svn path=/trunk/; revision=12152
2004-12-16 17:34:54 +00:00
Gunnar Dalsnes
9cbb3d72e1 -link heaps together instead of using stupid table past peb
-RtlValidateProcessHeaps/RtlGetProcessHeaps/RtlEnumProcessHeaps  didn't process all heaps
-correct RtlDestroyHeap proto. / return value
All changes based on Wine

svn path=/trunk/; revision=12151
2004-12-16 15:10:01 +00:00
Art Yerkes
4d8fc530e9 We can arrive here early on, before the filter is set. Check for a null
filter.

svn path=/trunk/; revision=12150
2004-12-16 07:50:06 +00:00
Alex Ionescu
25c4daa164 Freeldr will not load a UI if Timeout = 0, and will instead immediately load the default OS.
svn path=/trunk/; revision=12149
2004-12-16 07:09:33 +00:00
Alex Ionescu
d986574df1 Set default Freeldr Timeout to 5 seconds (requested).
svn path=/trunk/; revision=12148
2004-12-16 07:08:48 +00:00
Richard Campbell
0132fcd8f1 - Implemented SwitchToThisWindow, not 100% correct more then likely...but it should work well enough, considering the function is deprecated.
- Implemented BringWindowToTop

svn path=/trunk/; revision=12147
2004-12-16 03:57:35 +00:00
Gunnar Dalsnes
f7adabb3ca add InternetOpenUrlA/W stubs
svn path=/trunk/; revision=12146
2004-12-16 03:00:06 +00:00
Richard Campbell
c75ff223da Final Touchups:
- Removed potential copyrighted microsoft icon.  Replaced with ROS icon.

TODO:
 - localize
 - implement code that makes the cpl work
 - sleep.

svn path=/trunk/; revision=12145
2004-12-16 02:09:16 +00:00
Richard Campbell
bfaf8bf9be - Added the remaining two dialog layouts
svn path=/trunk/; revision=12144
2004-12-16 01:56:53 +00:00
Richard Campbell
d9f9895b85 - center some things that i realized weren't centered when actually RUNNING the cpl. (damn visual studio...)
svn path=/trunk/; revision=12143
2004-12-16 01:26:06 +00:00
Richard Campbell
353463b34c - oops...
- added screen saver controls

svn path=/trunk/; revision=12142
2004-12-16 01:12:40 +00:00
Richard Campbell
f7977f0c1c - added background page controls...no code yet, just the resources.
svn path=/trunk/; revision=12141
2004-12-16 00:51:01 +00:00
Richard Campbell
bf25913468 - Removed extra 'properties' in window caption.
svn path=/trunk/; revision=12140
2004-12-16 00:21:40 +00:00
Steven Edwards
965e9ee858 revert change from lastnight.
svn path=/trunk/; revision=12139
2004-12-15 23:34:37 +00:00
Eric Kohl
935e412f83 Fix GetInheritanceSource[A/W] signature.
svn path=/trunk/; revision=12138
2004-12-15 14:23:11 +00:00
Eric Kohl
2f57c7dc4f Remove aclapi.h from include. User the w32api version instead.
svn path=/trunk/; revision=12137
2004-12-15 14:13:34 +00:00
Eric Kohl
6fd5df9a7b Implement simple trustee functions:
- BuildImpersonateTrustee[A/W]
 - GetMultipleTrustee[A/W]
 - GetMultipleTrusteeOperation[A/W]
 - GetTrusteeForm[A/W]
 - GetTrusteeName[A/W]
 - GetTrusteeType[A/W]

svn path=/trunk/; revision=12136
2004-12-15 12:29:36 +00:00
Gé van Geldorp
473143e808 Allocate correct amount of memory.
Fixes bug 451.

svn path=/trunk/; revision=12135
2004-12-15 11:34:52 +00:00
Steven Edwards
54897a486b add notepad to the bootcd
svn path=/trunk/; revision=12134
2004-12-15 06:10:24 +00:00
Steven Edwards
7be51c63cb Disable check for invalid chars in string.
svn path=/trunk/; revision=12133
2004-12-15 05:27:17 +00:00
Steven Edwards
2288ba398c Moved notepad to main CVS module.
svn path=/trunk/; revision=12132
2004-12-15 05:09:32 +00:00
Steven Edwards
d1a61871aa Add notepad to the makefile
svn path=/trunk/; revision=12131
2004-12-15 05:08:44 +00:00
Steven Edwards
d9ccbedded Added Wine notepad to main tree.
svn path=/trunk/; revision=12130
2004-12-15 05:07:53 +00:00
Royce Mitchell III
13277fb296 change a few #ifdefs to allow loading of SYM files for user modules in DBG builds
svn path=/trunk/; revision=12129
2004-12-15 03:00:33 +00:00
Royce Mitchell III
8236f00175 filter out invalid S_FUN entries
svn path=/trunk/; revision=12128
2004-12-15 02:24:35 +00:00
Royce Mitchell III
66468c3013 RSYM: force all sym files to have 0-based function offsets.
NTOSKRNL: look for 0-based offsets instead of absolute offsets.

svn path=/trunk/; revision=12127
2004-12-15 01:49:37 +00:00
Filip Navara
262a6b4866 - Implement NtUserMonitorFromWindow.
svn path=/trunk/; revision=12126
2004-12-14 23:38:14 +00:00
Filip Navara
3b2955e805 - Fix bug in IntCallHookProc for window classes specified with atom.
svn path=/trunk/; revision=12125
2004-12-14 23:14:15 +00:00
Casper Hornstrup
023fe261e3 2004-12-14 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/freetype/rosglue.c: Use native line-endings.
	* drivers/lib/bzip2/sample2.ref: Ditto.
	* lib/freetype/builds/mac/ftlib.prj: Ditto.
	* apps/utils/net/telnet/src/tnmsg.h: Ditto.

svn path=/trunk/; revision=12124
2004-12-14 22:57:35 +00:00
Gé van Geldorp
4bd813253a This is a generated file, doesn't belong in CVS
svn path=/trunk/; revision=12123
2004-12-14 22:27:02 +00:00
Gregor Anich
4b5de6d7f7 Fixed compilation with GCC 3.4.2
svn path=/trunk/; revision=12122
2004-12-14 22:15:52 +00:00
Thomas Bluemel
7af8972536 implemented GetUserNameA()
svn path=/trunk/; revision=12121
2004-12-14 22:11:16 +00:00
Art Yerkes
ddd8ede921 Cleaned up a bit. Sorry, I should edit more carefully.
svn path=/trunk/; revision=12120
2004-12-14 21:56:44 +00:00
Thomas Bluemel
dc39a75a6c fixed typo in comment
svn path=/trunk/; revision=12119
2004-12-14 21:26:53 +00:00
Thomas Bluemel
2c84739e31 implemented LookupAccountSidA()
svn path=/trunk/; revision=12118
2004-12-14 21:25:21 +00:00
James Tabor
0056248f6d Update files from WineHq.
svn path=/trunk/; revision=12117
2004-12-14 20:42:02 +00:00
Gé van Geldorp
eb3db535d2 Make GDB work again
svn path=/trunk/; revision=12116
2004-12-14 10:18:57 +00:00
Art Yerkes
a95a04eb35 Store interface speed to retrieve later.
svn path=/trunk/; revision=12115
2004-12-14 08:00:48 +00:00
Royce Mitchell III
c3168d10e5 implemented LookupAccountSidW() thx to the help of Alex Ionescu - this function is needed for GetUserNameA/W().
svn path=/trunk/; revision=12114
2004-12-14 06:40:50 +00:00
Royce Mitchell III
a80be8cc45 ASSERT parameter assumptions
svn path=/trunk/; revision=12113
2004-12-14 04:55:43 +00:00
Royce Mitchell III
9df9a16c4d BUGFIX: bad params to MouseSafetyOnDrawStart() in IntEngTransparentBlt(), also ASSERT parameter assumptions
svn path=/trunk/; revision=12112
2004-12-14 04:40:16 +00:00
Royce Mitchell III
3bbc2dd8e3 ASSERT parameter assumptions in IntEngLineTo()
svn path=/trunk/; revision=12111
2004-12-14 04:30:58 +00:00
Royce Mitchell III
6d6cf25eee ASSERT parameter assumptions in IntEngGradientFill()
svn path=/trunk/; revision=12110
2004-12-14 04:26:49 +00:00
Royce Mitchell III
2e027c01b7 ASSERT parameter assumptions in EngCopyBits()
svn path=/trunk/; revision=12109
2004-12-14 04:22:00 +00:00
Royce Mitchell III
be95834e02 fix infinite loop in KeRosDumpStackFrames()
svn path=/trunk/; revision=12108
2004-12-14 03:46:10 +00:00
Royce Mitchell III
6484c7e5b5 ASSERT parameter assumptions in IntEngStretchBlt() and IntEngMaskBlt()
svn path=/trunk/; revision=12107
2004-12-14 03:36:46 +00:00
Royce Mitchell III
adf92baa5e IntEngBitBlt() ASSERT() some assumptions
svn path=/trunk/; revision=12106
2004-12-14 03:28:34 +00:00
Royce Mitchell III
0dfc0d93bd came across small potential kmode crash while researching another bug fix
svn path=/trunk/; revision=12105
2004-12-14 03:23:14 +00:00
Gunnar Dalsnes
241ac18672 STATUSBAR_SetTextT:
-ntext wasn't freed on return if text was unicode
-part->text was allways freed, but if the previous style was SBT_OWNERDRAW, part->text would contain 32bit data (not a buffer ptr.)

svn path=/trunk/; revision=12104
2004-12-14 01:12:51 +00:00
Gunnar Dalsnes
43ca7fca1f zw.h: correct ZwDuplicateToken proto.
advapi32\token\token.c: DuplicateTokenEx: pass correct values to NtDuplicateToken
security.c: RtlImpersonateSelf: pass correct values to NtDuplicateToken
ntoskrnl\token.c:
-NtSetInformationToken: lie and say we succeded
-NtDuplicateToken: don't deref. nullpointer

svn path=/trunk/; revision=12103
2004-12-14 00:41:24 +00:00
Thomas Bluemel
31a9a2b464 sorry for defining structures twice...
svn path=/trunk/; revision=12102
2004-12-14 00:00:41 +00:00
Filip Navara
d7b522cba2 - Modify RtlGetNtVersionNumbers to allow loading of WinXP SP2 MSVCRT.DLL.
svn path=/trunk/; revision=12101
2004-12-13 23:11:13 +00:00
Thomas Bluemel
f49768c160 cache free gdi handles
svn path=/trunk/; revision=12100
2004-12-13 21:59:28 +00:00
Filip Navara
b02dd7c73d - Remove duplicate typedefs.
svn path=/trunk/; revision=12099
2004-12-13 21:45:36 +00:00
Art Yerkes
402db44755 I had put an IOSB on the stack in TdiConnect. Now we use a PendingIrp
struct that associates it with an IRP.  Better.

svn path=/trunk/; revision=12098
2004-12-13 21:20:38 +00:00
Eric Kohl
c4f4ef9ea2 - Remove Wine-isms from the profile code.
- Wrap single-line if-statements.
- Cleanup the indentation.

svn path=/trunk/; revision=12097
2004-12-13 21:16:26 +00:00
Eric Kohl
c11fd7a860 Don't link kernel32.dll against wine.a.
svn path=/trunk/; revision=12096
2004-12-13 21:11:45 +00:00
Thomas Bluemel
51f494a42c forgot this file
svn path=/trunk/; revision=12095
2004-12-13 20:53:25 +00:00
Art Yerkes
91ff22985a Added stack frames and Tag printing to used blocks. This allows redzone
violations on used blocks to tell where the block was allocated.

svn path=/trunk/; revision=12094
2004-12-13 20:11:08 +00:00
Art Yerkes
0492a94c6f Allocate a final WCHAR for the NUL put on by wcsncat.
svn path=/trunk/; revision=12093
2004-12-13 20:09:26 +00:00
Thomas Bluemel
3340e6eecd added stubs for SetSecurityInfo(), GetInheritanceSourceA/W() and FreeInheritedFromArray()
svn path=/trunk/; revision=12092
2004-12-13 19:06:28 +00:00
Hartmut Birr
1d2f603b9d - Replaced HeapAlloc, HeapFree and HeapReAlloc with alloc, free and realloc.
svn path=/trunk/; revision=12091
2004-12-13 18:30:08 +00:00
Thomas Bluemel
e2e32b1c11 cvs maintainance
svn path=/trunk/; revision=12090
2004-12-13 18:20:28 +00:00
Thomas Bluemel
c88782cd9c cvs maintainance
svn path=/trunk/; revision=12089
2004-12-13 18:06:39 +00:00
Filip Navara
6320501cf5 I was wrong, MiniSendComplete shouldn't be called at all by NDIS except if explicitly asked to by the miniport (in pending case).
svn path=/trunk/; revision=12088
2004-12-13 17:16:36 +00:00
Filip Navara
f687a8456d REVERT:
- Don't call ProtocolSendComplete after NdisSend (NDIS should call it).

svn path=/trunk/; revision=12087
2004-12-13 17:13:24 +00:00
Filip Navara
04afe309b7 - Don't call ProtocolSendComplete after NdisSend (NDIS should call it).
svn path=/trunk/; revision=12086
2004-12-13 16:53:38 +00:00
Filip Navara
48048914c0 MiniSendComplete should be called if MiniportSend routine returns STATUS_SUCCESS even for deserialized miniports.
svn path=/trunk/; revision=12085
2004-12-13 16:50:21 +00:00
Filip Navara
b5fa0b44a1 - Fix compilation errors with GCC 4.0-20041205.
svn path=/trunk/; revision=12084
2004-12-13 16:36:39 +00:00
Filip Navara
963cbda1e0 - Fix compilation errors with GCC 4.0-20041205.
svn path=/trunk/; revision=12082
2004-12-13 15:39:52 +00:00
Filip Navara
dc866ac5b0 Don't pass UNICODE_STRINGs in the dwTypeData of MENUITEMINFO. Pass the usual strings here.
svn path=/trunk/; revision=12081
2004-12-13 15:38:19 +00:00
Gé van Geldorp
6d6f09144e Fix double-spaced output in crash report
svn path=/trunk/; revision=12080
2004-12-13 15:07:33 +00:00
Filip Navara
b2a1d58158 - Get handling of unhandled exceptions working again.
svn path=/trunk/; revision=12079
2004-12-13 13:32:24 +00:00
Thomas Bluemel
56a8abdfa4 decrement process gdi object counter on object deletion
svn path=/trunk/; revision=12078
2004-12-13 12:51:51 +00:00
Royce Mitchell III
55c08f71b9 implemented GetUserNameA() and GetUserNameW() - thanks to kjk_hyperion and Alex Ionescu for help on how to implement them.
svn path=/trunk/; revision=12075
2004-12-13 07:09:56 +00:00
Royce Mitchell III
d2b0c045cd BUGFIX: unhandled error conditions IntGdiCreateDC()
svn path=/trunk/; revision=12073
2004-12-13 05:23:59 +00:00
Gregor Anich
6298e65633 Changed half-verbose build output a bit:
- Do not print "Entering directory ..." messages
 - Do not print "Nothing to be done for ..." messages
 - Print the target name before the command which is executed (does not work with wine dlls yet)

Added/Changed stuff in rules.mak:
FULL_MAP was renamed to BUILD_MAP and can be set to
 - full (default, like FULL_MAP=yes was - build maps with objdump)
 - yes (like FULL_MAP=no was - build maps with nm)
 - no (don't build maps at all)
BUILD_SYM was added - can be set to yes/no (defaults to yes)

svn path=/trunk/; revision=12071
2004-12-13 02:20:09 +00:00
Royce Mitchell III
ed3a9ff266 BUGFIX: get rid of an incorrect ASSERT
svn path=/trunk/; revision=12070
2004-12-13 01:45:18 +00:00
Thomas Bluemel
ce3ef02040 revert some of the changes i did to IntDestroyWindow()
svn path=/trunk/; revision=12069
2004-12-13 00:11:59 +00:00
Thomas Bluemel
29be8a4058 unmark dirty windows on destruction so no painting messages get generated afterwards
svn path=/trunk/; revision=12068
2004-12-12 23:42:35 +00:00
Filip Navara
ed10a7b01f - Acquire the dispatcher lock in KeRevertToUserAffinityThread instead of just using uninintialized oldIrql variable.
svn path=/trunk/; revision=12067
2004-12-12 23:18:55 +00:00
Eric Kohl
f51fcb3a2b Replace assert by ASSERT.
svn path=/trunk/; revision=12066
2004-12-12 23:09:13 +00:00
Filip Navara
eeeb963b9d - Fix compilation errors with GCC 4.0-20041205.
svn path=/trunk/; revision=12065
2004-12-12 23:08:13 +00:00
Thomas Bluemel
02f77a0c2a initialize the unhandled exception filter automatically
svn path=/trunk/; revision=12064
2004-12-12 23:03:56 +00:00
Thomas Bluemel
f920a98034 make SetunhandledExceptionFilter() thread-safe
svn path=/trunk/; revision=12063
2004-12-12 22:39:45 +00:00
Eric Kohl
68f22d804d - Replace hive locks and hive list lock by a global lock to make the registry thread-safe.
svn path=/trunk/; revision=12062
2004-12-12 22:36:10 +00:00
Royce Mitchell III
50a975cc08 BUGFIX: NtGdiGetDeviceCaps() called NtGdiEscape() with hDC when it already had it locked.
BUGFIX: fixed condition surrounding failed ASSERT in NtGdiGetTextExtentPoint32().

svn path=/trunk/; revision=12061
2004-12-12 21:58:42 +00:00
Royce Mitchell III
522137c499 add missing assertion
svn path=/trunk/; revision=12060
2004-12-12 21:43:17 +00:00
Royce Mitchell III
63fcc0cffd BUGFIX: MouseSafety does it's own parameter validation, and this calculation was flat-out wrong anyway
svn path=/trunk/; revision=12059
2004-12-12 21:38:25 +00:00
Thomas Bluemel
4e843a2af2 * Implement EnumDisplayDevicesA
* Better implementation of LookupAccountSidA/W stubs
* Allow enumeration of display settings in CLI mode
* Add route app to compile/install target
* Correct debug messages

Patch by Herv� Poussineau.

svn path=/trunk/; revision=12058
2004-12-12 21:25:05 +00:00
Royce Mitchell III
9530713f4b testing reveals that source rect must be constrained to the boundaries of the source image. Adjust dest rect so that output still lands where user expected it. This fixes kmode crash from comctl32 handing bad data off to StretchBlt().
svn path=/trunk/; revision=12057
2004-12-12 20:58:09 +00:00
Thomas Bluemel
d2cc7ec4a0 MessageBoxIndirectA() should check whether the MB_USERICON bit was set, otherwise in case the lpszIcon field of the MSGBOXPARAMS structure, the application passed to it, was never initialized and is not being interpreted as an atom, it takes this random pointer and tries to convert the string inside it to unicode - which might cause an exception. it solves a problem with winzip hardon discovered.
The bug also exists in wine but doesn't appear to arise.

svn path=/trunk/; revision=12056
2004-12-12 20:40:06 +00:00
Hartmut Birr
803a12e7fe - Split KdInitSystem in two phases, to enable debug prints (serial line and bochs)
in the very early boot stage (before the initialisation from hal).

svn path=/trunk/; revision=12055
2004-12-12 20:14:01 +00:00
Filip Navara
311bcaca5c *** empty log message ***
svn path=/trunk/; revision=12054
2004-12-12 18:14:22 +00:00
Steven Edwards
face862633 added .cvsignore
svn path=/trunk/; revision=12053
2004-12-12 18:07:44 +00:00
Filip Navara
db8aa43455 - Remove -DCOBJMACROS from oleaut32 makefile.
- Minor fixes to OLE interface prototypes.

svn path=/trunk/; revision=12052
2004-12-12 18:01:23 +00:00
Thomas Bluemel
0ced40be8e fixed problems with mouse cursor handling
svn path=/trunk/; revision=12051
2004-12-12 17:56:52 +00:00
Hartmut Birr
e3bd28c5ae - Fixed the definition of SYNCH_LEVEL.
svn path=/trunk/; revision=12050
2004-12-12 17:52:06 +00:00
Hartmut Birr
7e26d1bc15 - Used the lock prefix on smp builds.
svn path=/trunk/; revision=12049
2004-12-12 17:48:20 +00:00
Filip Navara
a714d73871 Hans Leidekker <hans@it.vu.nl>
Fix compilation with GCC 4.

svn path=/trunk/; revision=12048
2004-12-12 17:46:53 +00:00
Hartmut Birr
e2b1bfab2b - Improved KeBugCheckWithTf for smp machines.
svn path=/trunk/; revision=12047
2004-12-12 17:42:00 +00:00
Hartmut Birr
1fcc37658f - Redefined OldIrql. It was lost while my code cleanup.
svn path=/trunk/; revision=12046
2004-12-12 17:36:00 +00:00
Hartmut Birr
973ea3b0bc - Replaced PiThreadLock with the dispatcher databae lock.
- Fixed some problems while setting/changing the affinity of a thread.

svn path=/trunk/; revision=12045
2004-12-12 17:25:53 +00:00
Filip Navara
6d37ab99d0 - Reformulate comment.
svn path=/trunk/; revision=12044
2004-12-12 17:24:30 +00:00
Filip Navara
4bceb917d1 - Workaround infinite loop on loopback connect.
svn path=/trunk/; revision=12043
2004-12-12 17:03:01 +00:00
Filip Navara
7660dbd930 - Don't call IntReleaseWindowObject with handle.
svn path=/trunk/; revision=12042
2004-12-12 16:47:52 +00:00
Filip Navara
1d43b533ec - Fix compilation of non-DBG builds.
svn path=/trunk/; revision=12041
2004-12-12 15:57:15 +00:00
Eric Kohl
a643581101 - Remove Wine-isms from advapi32 because it's a ReactOS DLL!
- Enforce a consistent coding style.
- Remove -D__REACTOS__

svn path=/trunk/; revision=12040
2004-12-12 15:17:38 +00:00
Filip Navara
33c558065f - Fix receiving of loopback packets.
- Fix recursive spinlock acquire in NBQueuePacket.
- Don't pend connect requests if they're satisfied during the call.
- Basic implementation of listen.

svn path=/trunk/; revision=12039
2004-12-12 11:48:04 +00:00
Steven Edwards
3e1fe0ceaa Update the Wine porting documentation.
svn path=/trunk/; revision=12038
2004-12-12 04:43:36 +00:00
James Tabor
ef9b305cdf Need -D__REACTOS__ in makefile for porting from wine.
svn path=/trunk/; revision=12037
2004-12-12 04:34:23 +00:00
Thomas Bluemel
e9615cc222 accidently committed this file, revert changes
svn path=/trunk/; revision=12036
2004-12-12 02:15:23 +00:00
Thomas Bluemel
50b193239b 1. remove mouse cursor hacks from eng/mouse
2. implemented more win2k-like gdi handle table (handle entry lookup is not yet optimized/cached!)
3. moved cursoricon.c from objects to ntuser as it's part of the user api and not of the gdi
4. get rid of the eng handle table
5. minor fixes

svn path=/trunk/; revision=12035
2004-12-12 01:40:39 +00:00
Thomas Bluemel
f6de8b04ac don't leak resources
svn path=/trunk/; revision=12034
2004-12-11 22:39:38 +00:00
Thomas Bluemel
2e7cd83da3 silence some debug output
svn path=/trunk/; revision=12033
2004-12-11 21:19:41 +00:00
Art Yerkes
ab5972cd97 Fixed warnings of mismatched format and arg type.
svn path=/trunk/; revision=12032
2004-12-11 21:07:20 +00:00
Art Yerkes
2dc5f4df19 Added double complete protection so that we never call an upper-level
completion routine more than once for the same packet.  This alleviates
a bug i observe with the realtek 8139, as reported by gge.

Define BREAK_ON_DOUBLE_COMPLETE to get a bugcheck if a send completion
handler would be called more than once.  This define is intended to help
us determine if the actual bug is in our ndis.

svn path=/trunk/; revision=12031
2004-12-11 20:48:33 +00:00
Filip Navara
aeee5da01c - Minor fixes to MenuGetRosMenuItemInfo.
svn path=/trunk/; revision=12030
2004-12-11 20:18:06 +00:00
Steven Edwards
2298445fdd disable 2 environ tests that fail under ros.
svn path=/trunk/; revision=12029
2004-12-11 20:01:50 +00:00
Steven Edwards
686bc7deab Disable a cpp test. We need dbghelp support for name de-mangling.
svn path=/trunk/; revision=12028
2004-12-11 19:51:31 +00:00
Filip Navara
33f1fed6b5 - Fix yet another heap free error.
svn path=/trunk/; revision=12027
2004-12-11 19:45:10 +00:00
Thomas Bluemel
ed47eaa79a 1. don't dispatch sent messages to windows during destruction
2. fixed class lookup in a hacky way (get's rewritten soon anyway)

svn path=/trunk/; revision=12026
2004-12-11 19:39:18 +00:00
Steven Edwards
38520a606d Added Wine msvcrt regression tests.
I am working on making us pass all of them and disabling the ones that fail.

svn path=/trunk/; revision=12025
2004-12-11 19:31:46 +00:00
Steven Edwards
aac9c446c3 Wineism cleanup has started.
svn path=/trunk/; revision=12024
2004-12-11 19:21:35 +00:00
Steven Edwards
6581094403 Remove some of the unneeded internal headers in a further effort
to de-wineify my bad import of msvcrt last year.

svn path=/trunk/; revision=12023
2004-12-11 19:21:11 +00:00
Steven Edwards
46e27ab423 msvcrt lock functions have been dewine-ifyed.
svn path=/trunk/; revision=12022
2004-12-11 19:20:19 +00:00
Steven Edwards
d9b42ea553 de-wineifying parts of msvcrt.
svn path=/trunk/; revision=12021
2004-12-11 19:19:38 +00:00
Steven Edwards
dfe99f3cf7 add wrapper code for the VkKeyScan functions around
VkKeyScanExW and GetKeyboardLayout.
(Both still need to be implemented)

svn path=/trunk/; revision=12020
2004-12-11 18:43:06 +00:00
Gregor Anich
78f1b75052 Fix output of the build system for VERBOSE=yes, add output for "make install" in half-verbose mode.
svn path=/trunk/; revision=12019
2004-12-11 17:53:12 +00:00
Filip Navara
21fc8bafa5 - Manage TCP ports using port set and dynamically assign TCP port number if sin_port == 0.
svn path=/trunk/; revision=12018
2004-12-11 16:36:06 +00:00
Steven Edwards
84d1a39be9 remove accctrl.h from include. The w32api version works fine for us.
svn path=/trunk/; revision=12017
2004-12-11 16:02:22 +00:00
Gregor Anich
78c5a766c0 Add half-verbose output to build system and make it the default (the old output is available via setting VERBOSE=yes)
svn path=/trunk/; revision=12016
2004-12-11 16:02:22 +00:00
Thomas Bluemel
8a11bbf017 RtlLargeIntegerArithmeticShift() shouldn't return uninitialized data from the stack
svn path=/trunk/; revision=12015
2004-12-11 15:23:51 +00:00
Filip Navara
cfabacaaa5 - Implement WSPGetSockName.
- Minor AFD fixes.

svn path=/trunk/; revision=12014
2004-12-11 14:59:32 +00:00
Gé van Geldorp
57bdb75d51 - Detect HDTV output
- Increase scrolling speed
- Blacklist more PCI slots

svn path=/trunk/; revision=12013
2004-12-11 14:45:00 +00:00
Martin Fuchs
090e4f33b3 update Doxyfile format
svn path=/trunk/; revision=12012
2004-12-11 14:15:57 +00:00
Martin Fuchs
01c82c0b58 enable new Doxygen option SHOW_DIRECTORIES
svn path=/trunk/; revision=12011
2004-12-11 13:40:24 +00:00
Filip Navara
309075c9f8 - Don't try to free pointer from union that isn't used.
svn path=/trunk/; revision=12010
2004-12-11 00:33:13 +00:00
Filip Navara
bc537c1d3e - Use malloc/free in C++ new/delete operator implementation (resolves heap issues with Mozilla Firefox).
svn path=/trunk/; revision=12009
2004-12-11 00:24:03 +00:00
Thomas Bluemel
da5463c04a forgot this file
svn path=/trunk/; revision=12008
2004-12-11 00:22:25 +00:00
Thomas Bluemel
4173776e7b port crypt and trustee support from Wine. Patch by Steven Edwards.
svn path=/trunk/; revision=12007
2004-12-11 00:21:33 +00:00
Royce Mitchell III
2c781cf79e PagedPool improvements: differenciate between hiredzone and loredzone, added double-free detection including stack trace of free'er, keep track of Tags, two new utility functions for debugging ( VOID ExRosDumpPagedPoolByTag(ULONG) and ULONG ExRosQueryPoolTag(PVOID) ).
svn path=/trunk/; revision=12006
2004-12-11 00:13:37 +00:00
Thomas Bluemel
0bcccac59e fixed a bug that caused locking a not anymore existing message queue while dispatching a message. Thanks to Royce for helping me :)
svn path=/trunk/; revision=12005
2004-12-10 22:40:29 +00:00
Filip Navara
79ebef95eb - Update registry keys for sound blaster driver.
svn path=/trunk/; revision=12004
2004-12-10 19:09:02 +00:00
Filip Navara
40d1739c83 - Fix HalGetAdapter for ISA adapters.
- Fix layout of EISA_CONTROL structure.

svn path=/trunk/; revision=12003
2004-12-10 19:05:33 +00:00
Gregor Anich
821da7d6f9 Use static buffer for DbgPrint message queueing instead of ExAllocatePool.
svn path=/trunk/; revision=12002
2004-12-10 18:31:04 +00:00
Gé van Geldorp
5898f3701e Add video miniport driver for Xbox, to be used in conjunction with
framebuf.dll DDI

svn path=/trunk/; revision=12001
2004-12-10 17:11:35 +00:00
Filip Navara
7cde3a39e7 - Move desktop code from NtUserUpdatePerUserSystemParameters to IntDesktopUpdatePerUserSettings.
svn path=/trunk/; revision=12000
2004-12-10 16:52:04 +00:00
Filip Navara
c5adfe4512 - Fix definitions of SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation.
- Fix prototype of NtDuplicateToken and change DuplicateTokenEx accordingly.
- Implement NtOpenThreadToken[Ex] (complete rewrite), PsDisableImpersonation and PsRestoreImpersonation.

svn path=/trunk/; revision=11999
2004-12-10 16:50:38 +00:00
Gregor Anich
bc28145d48 Add an option to serialize DbgPrint - don't worry, it's disabled by default and meant only for those who are tired of reading mixed debug messages.
svn path=/trunk/; revision=11998
2004-12-10 14:58:26 +00:00
Thomas Bluemel
30fd9c8072 implemented GetThreadIOPendingFlag() (only kernel32 part)
svn path=/trunk/; revision=11996
2004-12-09 19:11:07 +00:00
Thomas Bluemel
865bf755ca implemented CheckRemoteDebuggerPresent() (only kernel32 part)
svn path=/trunk/; revision=11995
2004-12-09 19:03:33 +00:00
Thomas Bluemel
e6bc6ec79d implemented SetDllDirectory() and GetDllDirectory(). LoadLibrary(Ex)() should be extended to use the dll directory when present!
svn path=/trunk/; revision=11994
2004-12-09 17:28:10 +00:00
Royce Mitchell III
c29e190650 allow data from SYM files to be used in stack traces in DBG builds
svn path=/trunk/; revision=11993
2004-12-09 14:20:06 +00:00
Steven Edwards
ce5b02a4d0 Started cleaning up the mess from my old import of
Wine code in to msvcrt.

I will start looking at cleaning up the memory allocation problems soon.

svn path=/trunk/; revision=11992
2004-12-09 06:10:06 +00:00
Steven Edwards
48ec3578a0 add dsound to the top makefile.
svn path=/trunk/; revision=11991
2004-12-09 06:04:40 +00:00
Steven Edwards
46b1a8f34e Fix a compile error I was seeing due to lack of mbstowcs.
Please let me know if this breaks anything for anyone else.

svn path=/trunk/; revision=11990
2004-12-09 05:53:47 +00:00
Steven Edwards
f6e33ed19b Doing some work on the msvcrt Wine mess.
Added .cvsignore to make it less trouble to see whats going on.

svn path=/trunk/; revision=11989
2004-12-09 05:34:07 +00:00
Steven Edwards
698924b5ec Disregard that last change. The line endings were messed up.
svn path=/trunk/; revision=11988
2004-12-09 04:47:20 +00:00
Steven Edwards
79d7258886 remove C++ style comments.
svn path=/trunk/; revision=11987
2004-12-09 04:41:13 +00:00
Gé van Geldorp
e00f8cf1fd Don't write to blacklisted PCI functions either
svn path=/trunk/; revision=11984
2004-12-08 21:53:24 +00:00
Richard Campbell
de75857e68 - Add DSOUND.DLL to the bootcd
svn path=/trunk/; revision=11982
2004-12-08 16:49:38 +00:00
Gé van Geldorp
284d5b4b23 Disk partitioning handling
svn path=/trunk/; revision=11981
2004-12-08 11:42:28 +00:00
Gé van Geldorp
f4ad8be090 Sync to Wine-20041201
svn path=/trunk/; revision=11980
2004-12-07 23:08:34 +00:00
Gé van Geldorp
125d613073 Sync to Wine-20041201
svn path=/trunk/; revision=11979
2004-12-07 22:45:09 +00:00
Gé van Geldorp
223a2d7ff7 Sync to Wine-20041201
Alexandre Julliard <julliard@winehq.org>
- Avoid using gettimeofday.

svn path=/trunk/; revision=11978
2004-12-07 22:32:28 +00:00
Gé van Geldorp
d50ca5db0b Sync to Wine-20041201
svn path=/trunk/; revision=11977
2004-12-07 22:19:10 +00:00
Gé van Geldorp
c7a5d769f6 Sync to Wine-20041201
Filip Navara <xnavara@volny.cz>
- Check the return value from *_GETNUMDEVS message as per KB90562.
- Fix typo in MMDRV_InstallMap.
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.
Robert Shearman <rob@codeweavers.com>
- Fix broken thread start routines.
Eric Pouech <pouech-eric@wanadoo.fr>
Filip Navara <xnavara@volny.cz>
32 bit low level drivers now use a Unicode interface (used to be ANSI):
- Send the *_GETDEVCAPS messages in unicode format from the
  *GetDevCapsW function and call the *GetDevCapsW from their respective
  Ansi versions.
- Modify all low level drivers to correctly process the *_GETDEVCAPS
  messages as unicode.
- *_GETDEVCAPS messages are now mapped from/to unicode for 16 bit code.
- Removed all SoundBlaster naming oldies.
- Better use of some unicode functions (instead of Ansi) in winmm.
Jeremy White <jwhite@codeweavers.com>
- The Sleep(0) in this loop is incorrect, and should be removed.  This
  fixes iTunes and a game reported by che.
Remi Assailly <remi.assailly@free.fr>
- Add some missing error values in WINMM_ErrorToString.

svn path=/trunk/; revision=11976
2004-12-07 21:41:02 +00:00
Royce Mitchell III
7a672d567c SetDllDirectoryA/W(): lie to caller and indicate that their request completed successfully
svn path=/trunk/; revision=11975
2004-12-07 20:18:49 +00:00
Royce Mitchell III
902d0f0826 removed an ASSERT that occured when system ran out of GDI handles, and added more correct error handling for the condition
svn path=/trunk/; revision=11974
2004-12-07 19:53:44 +00:00
Gé van Geldorp
4b3c9f12ad Sync to Wine-20041201
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.

svn path=/trunk/; revision=11973
2004-12-07 19:35:19 +00:00
Gé van Geldorp
bc927431e4 Sync to Wine-20041201
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.

svn path=/trunk/; revision=11972
2004-12-07 19:28:49 +00:00
James Tabor
2899606a4b Code cleanup and sink with WindHq CVS.
svn path=/trunk/; revision=11971
2004-12-07 08:13:01 +00:00
Gé van Geldorp
12c35f6b5a Sync to Wine-20041201
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.
Juan Lang <juan_lang@yahoo.com>
- Fix CSIDL_CONTROLS and CSIDL_PRINTERS PIDL types, and update tests now
  that they pass.
Robert Shearman <rob@codeweavers.com>
- Use more specific error codes than E_FAIL, where possible.
- Move vtable to end, give it the const modifier, and remove unneeded
  function declarations.
Juan Lang <juan_lang@yahoo.com>
- the correct registry location to override is User Shell Folders, not
  Shell Folders
- if User Shell Folders doesn't exist in HKCU, HKLM should be tried
- SHGetSpecialFolderPath should call SHGetFolderPath, not vice-versa
- the default values should be localizable
- some of the parameter checking and returned LPITEMIDLISTs were a bit
  off
- _SHExpandEnvironmentStrings should return input string if no % found
to expand, and should call ExpandEnvironmentStringsW if it doesn't
handle an environment variable directly.  Based on a patch from Dan
Kegel.
- Avoid copying invalid data on error.
- Update shell32's version to WinXP level.
Aric Stewart <aric@codeweavers.com>
- Implementation of PathCleanupSpec.
Fabrice Menard <menard.fabrice@wanadoo.fr>
- Some French translations added.
- Check the type of error returned by SHCreateDirectoryExW.
Rolf Kalbermatter <rolf.kalbermatter@citeng.com>
- Use SHCreateDirectoryEx function instead of doing explicit recursive
  directory creation.
- Fix bad memory allocation for unicode buffer.
- SHCreateDirectory should create intermediate directories if
  necessary.
- Remove extra boolean parameter in SHNotifyMoveFile as it is not
  used.
- Use in SHFileOperation the function SHNotifyCreateDirectory instead
  of SHCreateDirectoryEx as it does not anymore what is needed here.
- Fix several unsigned/signed mismatch warnings.
Alexandre Julliard <julliard@winehq.org>
- Avoid copying invalid data on error.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Tom Wickline <twickline@sitestar.net>
- Version resources cleanup.

svn path=/trunk/; revision=11970
2004-12-06 23:55:46 +00:00
Gunnar Dalsnes
c1a2a1d3de corrected the last error to check for when determining if the file already exists (when using CreateFile with CREATE_NEW)
svn path=/trunk/; revision=11969
2004-12-06 14:45:47 +00:00
Gunnar Dalsnes
018e3f9601 -correct return value/last error
-make use of macros for stu conversion
-pass NULL timeout for INFINITE wait instead of waiting for 292000 years;-D

svn path=/trunk/; revision=11968
2004-12-06 14:37:11 +00:00
Gunnar Dalsnes
aab32a11b0 -add TYPE_ALIGNMENT macro
-add macros for easy conversion to system time units (100ns)
(dunno if this is the right place to put it)

svn path=/trunk/; revision=11967
2004-12-06 14:34:43 +00:00
Gunnar Dalsnes
7a214c6c4b set correct last error
svn path=/trunk/; revision=11966
2004-12-06 14:24:51 +00:00
Gunnar Dalsnes
dd196f60cb replace NtCreateFile with ZwCreateFile
svn path=/trunk/; revision=11965
2004-12-06 13:46:43 +00:00
Gé van Geldorp
e3b65070e7 Sync to Wine-20041201
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.

svn path=/trunk/; revision=11964
2004-12-06 10:20:26 +00:00
Gé van Geldorp
4b2aba9a6f Sync to Wine-20041201
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.

svn path=/trunk/; revision=11963
2004-12-06 10:15:04 +00:00
Gé van Geldorp
87ac9421e8 Sync to Wine-20041201
Robert Shearman <rob@codeweavers.com>
- Add some function declarations to objbase.h.
- Add stubs for server ref counting.
- Implement HRESULT marshaling.
- Implement OleDuplicateData.
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.
Mike Hearn <mh@codeweavers.com>
- Improve OLE function documentation.
- Bail out with CO_E_NOTINITIALIZED when apt is null.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Remove bogus use of nStatCounter and hOleAut32 in CoSetState.
- Remove a comment about protecting per thread data by a critical section.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Mike Hearn <mh@codeweavers.com>
- Trace the OLE error info strings.

svn path=/trunk/; revision=11962
2004-12-06 10:07:19 +00:00
Gé van Geldorp
8679951253 Sync to Wine-20041201
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Ensure DllCanUnloadNow is a truly void function, and give it a unique
  name so it can be documented per-dll.
Tom Wickline <twickline@sitestar.net>
- Version resources cleanup.

svn path=/trunk/; revision=11961
2004-12-06 09:57:06 +00:00
Gé van Geldorp
cc46c6f887 Sync to Wine-20041201
Mike McCormack <mike@codeweavers.com>
- CFM_GETSPEC always returns a space-separated list.
- Fix ofn.nFileOffset when multiple files are selected.

svn path=/trunk/; revision=11960
2004-12-06 09:51:03 +00:00
Richard Campbell
1d2d1a4b45 commented out the progress page in setup because it doesn't currently do anything.
svn path=/trunk/; revision=11959
2004-12-06 09:13:28 +00:00
Alex Ionescu
de8be4fff6 Filip and Richard are both smoking something.
Replaced syntax error and incorrect inversion.

dwUnknown is a reserved parameter (dwReserved is more correct) that is never used, but it's still incorrect to pass 0 because we should respect what the user is sending us.

svn path=/trunk/; revision=11958
2004-12-06 08:41:38 +00:00
Richard Campbell
67c8670a31 - More fixes related to the removal of the 'lib' prefix on various libraries.
- BootCD is working again now.

svn path=/trunk/; revision=11957
2004-12-06 08:33:42 +00:00
Richard Campbell
c07d07cd1a Fixed a typo that prevented ROS from booting properly.
svn path=/trunk/; revision=11956
2004-12-06 08:01:57 +00:00
Richard Campbell
4e8102a8ec - Filip is smoking something :-)
- Replaced a syntax error with 0 for now, as we don't know anything about NtUserUpdatePerUserSystemParameters.

svn path=/trunk/; revision=11955
2004-12-06 07:14:47 +00:00
Filip Navara
fc08e5303b - Basic implementation of (NtUser)UpdatePerUserSystemParameters.
- Move code querying for "PaintDesktopVersion" to NtUserUpdatePerUserSystemParameters.

svn path=/trunk/; revision=11954
2004-12-06 02:23:05 +00:00
Gunnar Dalsnes
3bfcecdd7d fix broken ShareAccess set/update. makes 80+ wine regtests pass
svn path=/trunk/; revision=11953
2004-12-06 00:26:47 +00:00
Gé van Geldorp
88f1bf6c5c Sync to Wine-20041201
Ulrich Czekalla <ulrich@codeweavers.com>
- Prevent the animation thread from waiting on itself when it stops.
Robert Shearman <rob@codeweavers.com>
- Remove unnecessary WNDPROC casts.
Alexandre Julliard <julliard@winehq.org>
- Avoid using the MAKEPOINTS macro, it's broken on big endian.
- Use correct type instead of void* in item linked list.
Dimitrie O. Paun <dpaun@rogers.com>
- Minor cleanups.
- Implement proper GWL_STYLE handling, proper reaction to style changes.
- Merge {{Inc,Dec}rement,Reset{Up,Down}}Field into one method. Fix a
  bunch of bugs in the process.  Implement DTM_[GS]ETMCFONT. Indentation
  fixes, cleanups.
- Use typesafe signature where possible.
- Use Unicode functions where possible.
- Send notification messages in the format dictated by
  infoPtr->notifyFormat.
- Audit the month calendar.
- Rename STATUSWINDOWINFO to STATUS_INFO, for consistency with other
  controls. Fix some prototypes. Always pass infoPtr around.
- Use only Unicode functions, it makes it easier to see we are fully
  Unicode compliant.
Robert Shearman <rob@codeweavers.com>
- Always remove WS_BORDER style from ComboBoxEx control.
- Correct the date of the completeness audit.
- Store the new style before redrawing and repositioning the control.
- Set cache bitmap dimensions correctly when a 0x0 image list is used.
- Optimize WM_STYLECHANGED handler to only redraw when a CCS_* style
  is changed, like native.
- bNtfUnicode is a dup' of bUnicode so remove it and fix the few
  places where it was used.
- Remove a load of useless NULL infoPtr checks.
- Hardcode the default padding like native instead of using a wacky formula.
- Replace some tabs with spaces and remove NMHDR casts.
- Implement TBN_RESTORE notification.
- Don't fill in any more information than native does for notifications.
- Store hit code in a signed integer so that we can see whether it is
  less than zero.
- Draw with ILD_TRANSPARENT instead of ILD_NORMAL to draw bitmaps from
  the native shell image list properly (reported by Thorsten Kani).
- Rewrite TOOLBAR_NotifyFormat to avoid side-effects.
James Hawkins <truiken@gmail.com>
- Fixed a few memory leaks.
Zach Gorman <zach@archetypeauction.com>
- Add the DT_NOPREFIX flag when calling DrawText() for single-line
  listview controls.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Pass infoPtr around in month calendar control.
- Add support for WM_SETFONT and WM_GETFONT messages.
- Dimensions of month calendar control should not depend on the client
  window size.
- Convert NativeFont control to unicode, use hbrBackground as in native.
- Do not retrieve infoPtr twice in ToolbarWindowProc entry.
- do not move updown control and buddy if an alignment was not requested
- in UDM_SETACCEL handler do not forget to update number of accelerators
- update arrows info in WM_LBUTTONDOWN as well as in WM_MOUSEMOVE
- use accelerators in WM_LBUTTONDOWN handler
Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
- Monthcal_SetRange: Set proper value for min date.
Thorsten Kani <beebix@gmx.net>
- Use address of tab_item.extra when building drawitemstruct.
- Don't add extra OFFSET_X/Y to the calculation of rcBitmap.top/left,
  just use GetSystemMetrics.
Huw Davies <huw@codeweavers.com>
- The default font for the treeview should be the icon title font.

svn path=/trunk/; revision=11952
2004-12-05 23:09:27 +00:00
Gé van Geldorp
a0b99a485e Another lib prefix killed: libexpat.dll -> expat.dll
svn path=/trunk/; revision=11951
2004-12-05 23:07:22 +00:00
Gé van Geldorp
d753f25ac5 libwine_unicode.dll is better known as wine_unicode.dll these days
svn path=/trunk/; revision=11950
2004-12-05 23:03:22 +00:00
Filip Navara
9a8220ce63 - Fix RtlInitUnicodeStringEx for NULL case (spotted by Herv� Poussineau).
svn path=/trunk/; revision=11949
2004-12-05 21:42:54 +00:00
Gé van Geldorp
3d7ae60229 Sync to Wine-20041201
James Hawkins <truiken@gmail.com>
- Fix cabextract memory leak.

svn path=/trunk/; revision=11948
2004-12-05 21:30:16 +00:00
Filip Navara
03ac59451e - Implement RtlInitUnicodeStringEx.
svn path=/trunk/; revision=11947
2004-12-05 21:16:01 +00:00
Gé van Geldorp
44109026ba hpoussin <poussine@freesurf.fr>:
- Add full FATX support
- Add volume label setting to FAT volumes
- Change all ANSI_STRING to OEM_STRING (thanks Filip!)
- Correct one bug in VfatUpdateEntry
- Correct one bug in VfatShutdown
Fixes bugs 286, 434 and 442

svn path=/trunk/; revision=11946
2004-12-05 16:31:51 +00:00
Gé van Geldorp
cb48d72333 Copy "halup.dll" to bootcd as "hal.dll"
svn path=/trunk/; revision=11945
2004-12-05 16:27:45 +00:00
Thomas Bluemel
9221b12484 get rid of the "global" system process handle since handles are only vaild in the context of the process that they belong to
svn path=/trunk/; revision=11944
2004-12-05 15:42:42 +00:00
Art Yerkes
61a1526935 Removed my preprocessor hack. DBG appeared to be getting swallowed.
Needs some investigation.

svn path=/trunk/; revision=11943
2004-12-05 08:39:09 +00:00
Gunnar Dalsnes
5f6525bc2b KJK:Hyperion: new macro _SEH_STATIC_FILTER, some changes
svn path=/trunk/; revision=11942
2004-12-05 06:05:52 +00:00
Filip Navara
bddec4f91a - Allocate the MDI client context structure only once (and don't create a second one in WM_CREATE and leak the first one).
- Don't call SetScrollInfo with SB_BOTH.
- Don't add empty system icon to the client menu.

svn path=/trunk/; revision=11941
2004-12-05 03:50:47 +00:00
Filip Navara
abd0ead395 - Fix conversion of messages from Unicode to Ansi and back.
svn path=/trunk/; revision=11940
2004-12-05 03:50:33 +00:00
Filip Navara
20aebf67c0 - Don't delete the "first bitmap" of memory DC. It's done by DeleteDC.
svn path=/trunk/; revision=11939
2004-12-05 01:13:29 +00:00
Filip Navara
ace6b4cce4 - Rebar cursors must be destroyed with DestroyCursor and not with DeleteObject.
svn path=/trunk/; revision=11938
2004-12-05 01:12:56 +00:00
Filip Navara
245bf5efa5 - Update .cvsignore files.
- Remove makefile.ros files from CVS.

svn path=/trunk/; revision=11937
2004-12-05 00:40:28 +00:00
Filip Navara
a40265b10e - Correctly destroy tooltip icons.
- Don't use DrawEdge with NULL device context.

svn path=/trunk/; revision=11936
2004-12-05 00:22:03 +00:00
Filip Navara
326cdb4ba6 - Change DPRINT1 to DPRINT in NtUserCreateDesktop.
- Make the pattern brush bitmap objects global to prevent ownership problems.

svn path=/trunk/; revision=11935
2004-12-05 00:20:41 +00:00
Filip Navara
70a0c8d832 - Disable debugging messages.
svn path=/trunk/; revision=11934
2004-12-05 00:20:22 +00:00
Art Yerkes
e6c94e606c afd/connect.c:
- only pend the irp if we got a pending return from tcpip.
afd/info.c:
- info stub for blocking mode info.
afd/main.c:
- added disconnect plumbing.
- some reformatting, add break after each inactive case.
afd/read.c:
- early return for already closed socket.
- function to correctly complete pending recv irps on a closed socket.
- fixed read completion bug, content properly zeroed before buffer is
  replenished.
- only attempt to fulfill read irps if we got data back.
- call ProcessClose in the no data case.
- major changes to AfdConnectedSocketRead due to connection close.  we now
  recognize the case where the request to tcpip returns zero bytes immediately
  and take action, doing processclose.
afd/tdi.c:
- Added TdiDisconnect.
route.c:
- router: fixed routing bug.  we used to reject the default route if the
  address didn't match at least one bit of the target network, even if the
  netmask is zero.
if.c:
- change RouterGetRoute to RouteGetRouteToDestination
tcp.c:
- simplify TCPReceiveData by removing eof clause.  not needed.
- added SEL_FIN branch in signalling.
- added TCPTranslateError to TCPConnect
- added TCPDisconnect
dispatch.c:
- Implement disconnect
ip_output.c:
- Make a contiguous area from each output packet.  We need to streamline this.
msafd:
- Added MsafdReturnWithErrno
- streamlined function returns with standardize errno selection.

svn path=/trunk/; revision=11933
2004-12-04 23:29:56 +00:00
Gé van Geldorp
b0145a85fe Probing functions 1 and 2 of device 0 on bus 0 completely freezes the Xbox,
blacklist those functions

svn path=/trunk/; revision=11932
2004-12-04 22:52:59 +00:00
Filip Navara
b5cbaeae0c - Don't stop backtrace at the first address that can't be displayed with module name (ie. backtrace over syscalls).
svn path=/trunk/; revision=11931
2004-12-04 22:13:09 +00:00
Filip Navara
f8e3085f08 - Don't try to delete stock font.
svn path=/trunk/; revision=11930
2004-12-04 22:09:02 +00:00
Filip Navara
bf002ea532 - Correct freeing of heap memory.
svn path=/trunk/; revision=11929
2004-12-04 22:08:30 +00:00
Filip Navara
86d655cae7 - Set the ownership of NCUpdateRegion before returning the WM_NCPAINT message, so it's possible to delete it.
svn path=/trunk/; revision=11928
2004-12-04 22:07:24 +00:00
Gé van Geldorp
14db5c210e Forgot to remove the space reservation for hal_pagetable
svn path=/trunk/; revision=11927
2004-12-04 21:48:45 +00:00
Gé van Geldorp
6352c035d1 Add beginnings of HAL for Xbox
svn path=/trunk/; revision=11926
2004-12-04 21:43:37 +00:00
Gé van Geldorp
a0422cb524 Use MmMapIoSpace() instead of messing around with the page tables directly
when mapping the video frame buffer for HAL

svn path=/trunk/; revision=11925
2004-12-04 21:40:55 +00:00
Gé van Geldorp
eb23bc5111 Current versions of VMware provide a correct BIOS memory map
svn path=/trunk/; revision=11924
2004-12-04 20:58:13 +00:00
Filip Navara
5958bb419b - Implement SetMenuItemInfo[AW].
svn path=/trunk/; revision=11923
2004-12-04 19:53:55 +00:00
Filip Navara
495274f192 - Implement lstr[i]cmp[AW] using CompareString[AW] and properly handle NULL parameters.
svn path=/trunk/; revision=11922
2004-12-04 19:52:55 +00:00
Filip Navara
7b11cf526c - Implement QueueUserAPC.
svn path=/trunk/; revision=11921
2004-12-04 19:45:56 +00:00
Filip Navara
8ea045450c - Fix the return value of WaitForMultipleObjectsEx.
svn path=/trunk/; revision=11920
2004-12-04 19:31:26 +00:00
Filip Navara
2cb4c8a744 - Implement QueueUserAPC.
svn path=/trunk/; revision=11919
2004-12-04 19:30:09 +00:00
Thomas Bluemel
5070bf0c61 fixed some function prototypes
svn path=/trunk/; revision=11918
2004-12-04 19:28:47 +00:00
Gé van Geldorp
529f4da133 Let HAL handle its own mapping of the video frame buffer
svn path=/trunk/; revision=11917
2004-12-04 17:22:47 +00:00
Gregor Anich
0291044900 Remove some unused files, little cosmetic changes.
svn path=/trunk/; revision=11916
2004-12-04 17:10:52 +00:00
Gregor Anich
7acc56f32e Added InterlockedCompareExchangePointer macro and 64 bit versions for Interlocked[Compare]ExchangePointer macros for use in ntoskrnl.
svn path=/trunk/; revision=11915
2004-12-04 16:56:20 +00:00
Gregor Anich
666228254c Use InterlockedCompareExchange64 instead of InterlockedCompareExchange for 64bit builds.
svn path=/trunk/; revision=11914
2004-12-04 15:49:20 +00:00
Gregor Anich
0467e4ac56 Remove "lib" suffix from "libwine" because it's added by the build system automatically.
svn path=/trunk/; revision=11913
2004-12-04 15:45:38 +00:00
Hartmut Birr
88ab19cd71 - Split up the handling if the fsd returns STATUS_NOT_IMPLEMENTED in MoveFileWithProgressW.
- Converted the destination name before calling NtSetInformationFile in MoveFileWithProgressW.

svn path=/trunk/; revision=11912
2004-12-04 15:38:22 +00:00
Eric Kohl
98ac389c31 Implement GetSystemDefaultUILanguage() and IsValidLocale().
svn path=/trunk/; revision=11911
2004-12-04 13:59:41 +00:00
Gregor Anich
181afb23d6 Prefix libs in dk/w32 and dk/nkm with "lib" to make use of GCC -l switch possible.
svn path=/trunk/; revision=11910
2004-12-03 23:37:44 +00:00
Gé van Geldorp
92ed2da0da Reorganise HAL so multiple HAL versions can be built in parallel
svn path=/trunk/; revision=11909
2004-12-03 20:10:45 +00:00
James Tabor
bd2288fed5 Fix and add missing files, and will allow the use of bison as an option of choice.
svn path=/trunk/; revision=11907
2004-12-03 06:21:44 +00:00
Thomas Bluemel
67ca81e36d no need to copy the buffers to the stack
svn path=/trunk/; revision=11906
2004-12-02 21:22:36 +00:00
Thomas Bluemel
9786cae211 the time zone buffers need to be large enough, applications like firefox might attempt to write into it
svn path=/trunk/; revision=11905
2004-12-02 21:19:56 +00:00
Filip Navara
3c09abb096 - Remove duplicate definitions.
svn path=/trunk/; revision=11904
2004-12-02 21:01:11 +00:00
Filip Navara
44ed30d08a *** empty log message ***
svn path=/trunk/; revision=11903
2004-12-02 19:46:16 +00:00
Filip Navara
80686a352c - Update OLEAUT32 to Wine-20041202
svn path=/trunk/; revision=11902
2004-12-02 19:38:49 +00:00
Eric Kohl
ccfff75080 Use the GMT timezone by default.
svn path=/trunk/; revision=11901
2004-12-02 14:09:25 +00:00
Eric Kohl
9fbe02e539 - RegQueryValueExA: Return the correct data size for binary data types.
svn path=/trunk/; revision=11900
2004-12-02 14:08:27 +00:00
Gregor Anich
bfbb47d39e Fixed handling of exceptions in memory read/write functions, moved ASSERT(0) to the right place.
svn path=/trunk/; revision=11898
2004-12-02 01:33:02 +00:00
Emanuele Aliberti
78b654db33 I removed an old comment about replacing PAGESIZE with PAGE_SIZE, which somebody else already did.
svn path=/trunk/; revision=11897
2004-12-01 23:51:11 +00:00
Gregor Anich
383304c284 Catch hang-up regtests, added _DispatcherTimeout macros for tests to specify timeout (default is 5000ms)
svn path=/trunk/; revision=11896
2004-12-01 23:23:47 +00:00
Emanuele Aliberti
550e5093ca *** empty log message ***
svn path=/trunk/; revision=11895
2004-12-01 23:05:37 +00:00
Magnus Olsen
70f9a164de Thx filps
> This is wrong and this file should be autogenerated. Only the
> dinput.spec file should be in CVS!
>
> - Filip

svn path=/trunk/; revision=11894
2004-12-01 20:46:33 +00:00
Filip Navara
b1ac258a6d - Get full OLEAUT32 to compile.
svn path=/trunk/; revision=11893
2004-12-01 20:06:15 +00:00
Thomas Bluemel
18ef45edfe Always use the PSEH names for NLG to avoid conflicts when _SEH_NO_NATIVE_NLG is defined but <setjmp.h> is included nevertheless. This fixes the use of PSEH in win32k. Also declared the _SEHCompilerSpecificHandler as __inline so that GCC will ignore it when it's unused. This fixes the inclusion of <pseh.h> in a PCH
Patch by KJK

svn path=/trunk/; revision=11892
2004-12-01 19:20:53 +00:00
Thomas Bluemel
572a3a13c5 removed unused definitions
svn path=/trunk/; revision=11891
2004-12-01 18:38:04 +00:00
Magnus Olsen
a5e8dcaa7d add
opengl32.dll, glu32.dll, dinput.dll, dinput8.dll to reactos bootcd

svn path=/trunk/; revision=11890
2004-12-01 16:09:03 +00:00
Magnus Olsen
ed830f0425 Build
Dxguid, dinput and dinput8
from reactos make file

svn path=/trunk/; revision=11889
2004-12-01 16:07:57 +00:00
Magnus Olsen
3da7540959 forget add file dinput.spec.def
other wise dinput8 will not build

svn path=/trunk/; revision=11888
2004-12-01 16:05:39 +00:00
Magnus Olsen
d77247b55e forget add file dinput.spec.def
other wise dinput will not build

svn path=/trunk/; revision=11887
2004-12-01 15:58:32 +00:00
Magnus Olsen
3e1bd42330 forget add file dinput.spec.def
other wise dinput will not build

svn path=/trunk/; revision=11886
2004-12-01 15:20:13 +00:00
Eric Kohl
019c9076ee Set timezone without changing the local time.
svn path=/trunk/; revision=11885
2004-12-01 14:28:54 +00:00
Art Yerkes
ceeb351515 - sanity check: assert DISPATCH_LEVEL for the dpc.
- Added a DEBUG_LOCK that shows lock activity.
- Moved crummy externs from event.c to tcp.h
- Withdraw TCPCancelReceiveRequest: i didn't mean to commit that
- Added signalled sockets list to TCP so that we don't do reentrant stuff from
  inside oskit.  The signal list holds sockets that have been identified by
  oskit as needing service.
- After packet receive and on the timer we drain this list, designalling each
  socket and completing relevant irps.
- According to msdn, the io cancellation routine must release the cancel spin
  lock, but we're entered with it acquired.  Our implementation in ntoskrnl
  matches this so the tcpip implementation was wrong.  Removed acquire.
- DDKAPI on DispCancelRequest.  Avoid some stack corruption on DPCs that now
  shows up.
- Make sure to IpMarkIrpPending and not edit flags by hand on Irps in dispatch.

svn path=/trunk/; revision=11884
2004-12-01 08:14:15 +00:00
Art Yerkes
89dd06fa40 miniport:
Make sure MiniQueueDpc is not called from PASSIVE_LEVEL.
Moved NdisMQueryInformationComplete so that the function and not the macro
is called from the DPC.  This was breaking stuff severely.
The adapter lock needn't be held when doing MiniDequeueWorkItem because we're
at DISPATCH_LEVEL already by virtue of being in a DPC target.
protocol:
Make sure MiniQueueWorkItem is called at DISPATCH_LEVEL.

svn path=/trunk/; revision=11883
2004-12-01 08:02:28 +00:00
Richard Campbell
ad7e640f0c msiexec requires msi, so don't build that either, as it breaks the tree.
svn path=/trunk/; revision=11882
2004-12-01 05:49:23 +00:00
Magnus Olsen
c40648eb2d add mouse support to dinput
note the mouse buffer are bit broke. do not expect some games working with the mouse

I hope this will dispary when gdi hooks comes

svn path=/trunk/; revision=11881
2004-11-30 20:29:48 +00:00
Thomas Bluemel
6f1f653942 don't build msi for now as it uses a 3rd party build utility until situation is cleared
svn path=/trunk/; revision=11880
2004-11-30 20:21:33 +00:00
James Tabor
5679e292f7 Added msi.dll and msiexec to the build system.
svn path=/trunk/; revision=11879
2004-11-30 19:19:48 +00:00
James Tabor
a9a6f59924 Sync msiexec with winehq cvs
svn path=/trunk/; revision=11878
2004-11-30 19:16:37 +00:00
James Tabor
34151c8b26 First port of Wine projects msi.dll
svn path=/trunk/; revision=11877
2004-11-30 19:10:50 +00:00
Art Yerkes
6b4f09638b connect: Allow async connections, and assume that concurrent operations
(like write) can happen.
main: Allow empty EaInfo in open, re: async select and the special control
socket.
read + write: assertions
tdi: don't wait for connect to return, remove event.

svn path=/trunk/; revision=11876
2004-11-30 04:49:50 +00:00
Art Yerkes
38ac0afdbb Make packet printing obey debug bits.
svn path=/trunk/; revision=11875
2004-11-30 04:23:42 +00:00
Art Yerkes
3fcb2d5efc Turned off printing in oskittcp.
svn path=/trunk/; revision=11874
2004-11-30 04:17:34 +00:00
Gunnar Dalsnes
00641f6f5b can't free non-allocated memory
svn path=/trunk/; revision=11873
2004-11-30 02:28:00 +00:00
Gunnar Dalsnes
bcf7f5403f don't free non allocated memory
svn path=/trunk/; revision=11872
2004-11-30 02:26:25 +00:00
Art Yerkes
fa6c7ae193 - Defined __NTDRIVER__ to turn on some code that is meant only for kernel mode.
- Removed another address object (AddrBuildAddress)
- Removed ROUTE_CACHE_NODE everywhere and replaced it with NEIGHBOR_CACHE_ENTRY
  anywhere it was used, since NCE contains sufficient information.
  - We will need to reintroduce PathMTU (the only unique information) in RCN.
    I intend to do that by expanding the NCE to contain an entry for each
    remote contact (not only neighbors), and add an MTU field there.
- ICMP, TCP, UDP, RawIP, IPSendDatagram - Changed RCN to NCE
- Protect ip timer work item from being multiply queued under load.
- Router: Add RouteGetRouteToDestination (the only function preserved from
  route.c).  This function is cut down to only calling FindOnLinkInterface
  and RouterGetRoute.
- Added DefaultGateway handling (The default route is automatically added).
- Cleaning in CONNECTION_ENDPOINT (removed ReceivedSegments)
- iinfo: Return correct type number for loopback adapter.

svn path=/trunk/; revision=11871
2004-11-30 00:10:41 +00:00
Gunnar Dalsnes
1abe87090e make some wine reg. tests pass
svn path=/trunk/; revision=11870
2004-11-29 17:31:21 +00:00
Filip Navara
dc2d3110e4 Dmitry Timoshkov <dmitry@codeweavers.com>
DrawTextEx should allocate text buffer on stack for thread safeness.

svn path=/trunk/; revision=11869
2004-11-29 16:51:10 +00:00
Eric Kohl
17f1fe8577 - FileTimeToLocalFileTime() and LocalFileTimeToFileTime() take timezone bias into account.
svn path=/trunk/; revision=11868
2004-11-29 15:02:33 +00:00
Eric Kohl
df74513933 - Convert boot time and system time from local time to UTC as soon as the timezone information is available.
- ExLocalTimeToSystemTime() and ExSystemTimeToLocalTime() take timezone bias into account.

svn path=/trunk/; revision=11867
2004-11-29 15:00:46 +00:00
Steven Edwards
456c0f4377 Removed inclusion of stdio.h as it causes a build error under one of my gccs
svn path=/trunk/; revision=11866
2004-11-29 04:10:31 +00:00
Gunnar Dalsnes
0e4455e169 forgot to remove something
svn path=/trunk/; revision=11865
2004-11-29 01:42:03 +00:00
Magnus Olsen
aafa6f0a89 first port of wine directx support to reactos
add wine dinput and dinput8 it have been modify to working in windows and reactos.
when reactos got hooks implant remove all #ifdef __REACTOS__  and code that belong it compelete, then
remove all #ifndef __REACTOS__  to geting in working in reactos and windows.
dxguid comes from mingw with some modify

todo
rewrite dection code of keyboard, mouse, joystick to using windows registers to get what type of hardware.

Limit
Only keyboard are working in reactos for moment.

svn path=/trunk/; revision=11864
2004-11-29 00:15:23 +00:00
Magnus Olsen
7fed5c71ae remove it for wine dinput
svn path=/trunk/; revision=11863
2004-11-29 00:13:08 +00:00
Gunnar Dalsnes
e108cd331f "import" profiles.c from wine. all Wine's profile reg. tests now pass
svn path=/trunk/; revision=11862
2004-11-29 00:08:59 +00:00
Gunnar Dalsnes
c084bd7f6f add missing glue
svn path=/trunk/; revision=11861
2004-11-29 00:06:22 +00:00
Gunnar Dalsnes
1b870b2636 RtlDetermineDosPathNameType_U: give meaningfull names to constands (from wine)
svn path=/trunk/; revision=11860
2004-11-29 00:05:31 +00:00
Gé van Geldorp
6e001376f9 Add hardware detection stub for Xbox
svn path=/trunk/; revision=11859
2004-11-28 22:42:40 +00:00
Gregor Anich
7123f1d088 Cleaned config.h a bit...
svn path=/trunk/; revision=11858
2004-11-28 22:07:19 +00:00
Gregor Anich
7be720f8ec Move some ntoskrnl compiletime configuration defines into ntoskrnl/include/config.h (new file)
svn path=/trunk/; revision=11857
2004-11-28 22:06:25 +00:00
Gé van Geldorp
90a424deea Adjust screen width if HDTV cable in use
svn path=/trunk/; revision=11856
2004-11-28 21:54:11 +00:00
Gregor Anich
bbc25623e4 Add Mesa3D, FreeBSD and adns to the list of acknowledged projects.
svn path=/trunk/; revision=11855
2004-11-28 21:52:08 +00:00
Art Yerkes
6a56469c5a Turned off debug output in CVS (we need a better way to do this).
svn path=/trunk/; revision=11854
2004-11-28 21:21:11 +00:00
Gunnar Dalsnes
baad262a94 deny usage of too long strings in add/find atom. makes wine reg. tests happy.
svn path=/trunk/; revision=11853
2004-11-28 21:16:15 +00:00
Gregor Anich
e0f64b28d5 There's no reason to set TS in cr0 when returning from a w32 callback - either the thread will have used the FPU, in this case we don't do anything, or it has not used the FPU and we copy it's saved FPU state (if any) into the original's stack FPU area (in this case TS in cr0 will already be set and we don't need to set it)
svn path=/trunk/; revision=11852
2004-11-28 18:14:02 +00:00
Gé van Geldorp
947403dfc8 Fix vertical position of text in single-line edit controls.
svn path=/trunk/; revision=11851
2004-11-28 16:51:18 +00:00
Eric Kohl
d899ea5ca7 Set system time and update boot time and relative timers.
svn path=/trunk/; revision=11850
2004-11-28 12:59:33 +00:00
Hartmut Birr
e8e894de92 - Dipped the code between HalInitializeProcessor and HalStartNextProcessor. Used the functions according its names.
- Changed the init sequence in KeInit1 and KePrepareForApplicationProcessorInit.
- Fixed the pae mode initialisation for application processors.

svn path=/trunk/; revision=11849
2004-11-28 01:31:08 +00:00
Hartmut Birr
e67ae130d4 - Improved smp functions.
- Fixed the enabling/disabling of the higher irqs in Enable8259AIrq/Disable8259AIrq.
- Moved the local apic functions into its own file.
- Implemented the IpiInterrupt.
- Changed the destination of the startup ipis.
- Enabled interrupts on calls to KiDispatchInterrupt and KiDeliverApc.
- Delivered dpcs always on HalEndSystemInterrupt.
- Set the logical apic id according to the processor number from ntoskrnl.
- Dipped the code between HalInitializeProcessor and HalStartNextProcessor.
  Used the functions according its names.

svn path=/trunk/; revision=11848
2004-11-28 01:30:02 +00:00
Hartmut Birr
4ed81178eb - Canceled my last changes.
svn path=/trunk/; revision=11847
2004-11-27 23:50:27 +00:00
Hartmut Birr
7eacfe074f - Used a fast mutex for the client id structure.
svn path=/trunk/; revision=11846
2004-11-27 19:41:55 +00:00
Hartmut Birr
ae233008f1 - Enabled interrupts on page faults also for V86 mode.
svn path=/trunk/; revision=11845
2004-11-27 19:32:57 +00:00
Hartmut Birr
63e5456684 - Fixed a debug message.
svn path=/trunk/; revision=11844
2004-11-27 19:29:22 +00:00
Hartmut Birr
f3a288609e - Fixed the processor number at the call to KiIpiSendRequest.
svn path=/trunk/; revision=11843
2004-11-27 19:27:31 +00:00
Hartmut Birr
728ecbbafb - Simplified the irq lock table.
- Enabled interrupts while calling KiDeliverApc.

svn path=/trunk/; revision=11842
2004-11-27 19:24:15 +00:00
Hartmut Birr
e0b921f698 - Removed the timer value lock, because this lock isn't necessary.
- Update the kernel and user time from the kpcr.

svn path=/trunk/; revision=11841
2004-11-27 16:57:03 +00:00
Hartmut Birr
e64b5d5945 - Acquire the dispatcher database lock in PsBlockThread if the caller didn't
acquire this lock. This prevents from dead locks on smp machines.

svn path=/trunk/; revision=11840
2004-11-27 16:52:35 +00:00
Hartmut Birr
6c0c99c180 - Prevent from terminate a thread for twice.
- Don't call KeCancelTimer for the thread timer if the thread lock is held.

svn path=/trunk/; revision=11839
2004-11-27 16:47:05 +00:00
Hartmut Birr
be30cb2cf0 - Update the page directories for the stack outside of the code where the dispatcher database lock is held.
svn path=/trunk/; revision=11838
2004-11-27 16:42:50 +00:00
Eric Kohl
0a7852d87c - F4 key flips the listbox in default (not extended UI) mode.
svn path=/trunk/; revision=11837
2004-11-27 16:38:28 +00:00
Hartmut Birr
2c9eb4b5f2 - Made a tlb entry invalid on all processors if the mapping is deleted or changed.
svn path=/trunk/; revision=11836
2004-11-27 16:37:52 +00:00
Eric Kohl
460b7f79ca - User ASSERT instead of assert.
svn path=/trunk/; revision=11835
2004-11-27 16:36:01 +00:00
Eric Kohl
79f4538d98 - User ROUND_UP macros to calculate the ACL size.
- Fix potential 64 bit issues.

svn path=/trunk/; revision=11834
2004-11-27 16:33:21 +00:00
Hartmut Birr
79a75d3246 - Implemented KiIpiSendRequest for simple requests.
- Removed KeIpiCallForBootProcessor.
- Used the KPCR of the processors for storing the ipi data.

svn path=/trunk/; revision=11833
2004-11-27 16:32:10 +00:00
Hartmut Birr
b51c0305db - Saved the fpu state before the actual thread switching occurs (only for smp machines).
svn path=/trunk/; revision=11832
2004-11-27 16:19:22 +00:00
Hartmut Birr
2b6de7c143 - Saved the state of the fpu at a win32 call and restored the state
after the call to the previous state.

svn path=/trunk/; revision=11831
2004-11-27 16:12:26 +00:00
Eric Kohl
73c4349b14 Enlarge the timezone combobox so that more timezones are displayed.
svn path=/trunk/; revision=11830
2004-11-27 13:33:40 +00:00
Filip Navara
0548bf639e - Fix calling convention of IoReadPartitionTable, IoSetPartitionInformation and IoWritePartitionTable.
svn path=/trunk/; revision=11829
2004-11-27 13:04:06 +00:00
Eric Kohl
aeda3e3f55 Remove the DPRINT containing SharedData->DosDeviceMap entirely because it doesn't exist any more.
svn path=/trunk/; revision=11828
2004-11-27 11:42:56 +00:00
Casper Hornstrup
dd3ebaf245 2004-11-27 WaxDragon <waxdragon@gmail.com>
* bootdata/packages/reactos.dff: Add dnsapi.dll, iphlpapi.dll,
	rpcrt4.dll, and ole32.dll.

svn path=/trunk/; revision=11827
2004-11-27 00:56:28 +00:00
Casper Hornstrup
2e0a20f0c4 2004-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/utils/driver/load/.cvsignore: Use native line-endings.
	* apps/utils/driver/load/makefile: Ditto.
	* apps/utils/driver/unload/.cvsignore: Ditto.
	* apps/utils/driver/unload/makefile: Ditto.
	* apps/utils/infinst/.cvsignore: Ditto.
	* drivers/fs/ntfs/notes.txt: Ditto.
	* drivers/lib/csq/MAKEFILE: Ditto.
	* drivers/test/csqtest/Makefile: Ditto.
	* drivers/test/csqtest/SOURCES: Ditto.
	* drivers/video/displays/vga/main/enable.c: Ditto.
	* drivers/video/displays/vga/objects/copybits.c: Ditto.
	* include/tgetopt.h: Ditto.
	* include/ntos/kdbgsyms.h: Ditto.
	* lib/freetype/i386/setjmplongjmp.s: Ditto.
	* lib/icmp/icmp.dsp: Ditto.
	* lib/msvcrt/setjmp/i386/setjmp.s: Ditto.
	* lib/string/strncpy.c: Ditto.
	* tools/rgenstat/web/.cvsignore: Ditto.
	* tools/wmc/y_tab.c: Ditto.

svn path=/trunk/; revision=11826
2004-11-27 00:46:25 +00:00
Art Yerkes
e0e18ffc09 Correct silly bugcheck when a packet will not be routed. Not exposed before
because of false positives on loopback adapter.
We need to expect NCE to be NULL.

svn path=/trunk/; revision=11825
2004-11-26 21:17:22 +00:00
Art Yerkes
80178bd318 Removed RouteFriendlyAddRoute. Not needed.
Router now chooses a route correctly:
- Only choose a route if the prefix length is greater than or equal to the
  netmask. for the target route.  (We still choose the most specific route).
- Changed NBAddNeighbor to NBFindOrCreateNeighbor in
  RouteAddRouteToDestination because it triggers an ARP probe.  Setting the
  ARP cache state initially to PROBE skips the first ARP query and runs a
  bit afoul of the cache entry state machine.

svn path=/trunk/; revision=11824
2004-11-26 20:32:54 +00:00
Aleksey Bragin
ca85c39272 Removed DPRINT containing SharedData->DosDeviceMap, since there is no DosDeviceMap in this struct.
If someone thinks this is wrong, please correct me (I asked in channel, but no reaction at all)

svn path=/trunk/; revision=11823
2004-11-26 17:36:18 +00:00
Thomas Bluemel
2a76e70cbe fixed line endings
svn path=/trunk/; revision=11822
2004-11-26 12:53:51 +00:00
Art Yerkes
fe500719a5 Moved pseh.h away from precomp.h to avoid 'defined but not used' warning.
svn path=/trunk/; revision=11821
2004-11-26 08:26:24 +00:00
Art Yerkes
01e1531802 Converted eols.
svn path=/trunk/; revision=11820
2004-11-26 07:41:25 +00:00
Art Yerkes
e593105229 Fixed ws2_32 for __USE_W32API and dnsapi.
svn path=/trunk/; revision=11819
2004-11-26 07:24:17 +00:00
Art Yerkes
b3c9021b8f - Added add and delete route primitives in tcpip/ninfo.c
- Changed signature of RouterRemoveRoute to better match the information
  provided at the time when we delete a route.
- Changed signature of RouterCreateRoute for consistency.
- Cleaned up ninfo, get route info a bit.  Removed 'bad' case, not needed.
  Made magic 2 into TDI_ADDRESS_TYPE_IP, shortened code.
- Added AddrWidenAddress to generate a network address from a target and
  netmask.
- Changed the main mib to contain the number of fib entries, not the number
  of route cache entries.

svn path=/trunk/; revision=11818
2004-11-26 06:55:17 +00:00
Art Yerkes
9eef3a6021 Used IP_FORWARD_ADD and IP_FORWARD_DEL constants instead of numbers.
svn path=/trunk/; revision=11817
2004-11-26 06:52:59 +00:00
Art Yerkes
5f4756c3f5 Added simple route utility that uses iphlpapi to change the route table.
svn path=/trunk/; revision=11816
2004-11-26 06:51:47 +00:00
Art Yerkes
9ee12f6e6e Forwarder for __USE_W32API.
svn path=/trunk/; revision=11815
2004-11-26 06:21:45 +00:00
Art Yerkes
f968d716fa Converted registry functions to unicode.
HeapFree -> RtlFreeHeap and similar.
Populated resinfo_reactos.  We will now pull the nameservers from the
primary list in Services\Tcpip\Parameters, as well as from per-adapter
lists.

svn path=/trunk/; revision=11814
2004-11-26 00:32:59 +00:00
Art Yerkes
d06ac05a3c Fixed dnsapi for use with w32api headers by adjusting a few names (mostly
DNS_RECORDA,W -> DNS_RECORD)
Fixed bug in DnsQuery, we weren't checking NULL on result->rrs.addr.

svn path=/trunk/; revision=11813
2004-11-26 00:12:57 +00:00
Art Yerkes
bcfb287416 - Removed prefix.c and the prefix list. Adapter and route netmasks are now
checked directly.
- Removed ADE lists on adapters and associated functions.  Adapters now have
  a set of address fields with well-known meanings.
- Removed functions that allocate IP_ADDRESS.  No IP_ADDRESS is ever allocated
  alone any longer.  This saves management overhead and heap traffic.
- Removed NET_TABLE_ENTRY and NTE list and associated functions.  Lookups are
  now done against the original information sources, the adapter list, the
  neighbor cache and the route table.
- Propogated NTE removal throughout, changing NTE to IP_INTERFACE in every
  case.
- When we have alias support, we'll create multiple interfaces referencing
  the same adapter.  This is consistent with the way BSDs do it and I feel
  it provides sufficient abstraction.
- Allow a zero-length buffer request in info to return the number of bytes
  needed for the request to succeed.

svn path=/trunk/; revision=11812
2004-11-25 23:56:59 +00:00
Art Yerkes
fd54d2585c Added Exclusive flag in afd, which is used by WSAAsyncSelect. Previous
exclusive selects should be completed with STATUS_CANCELLED when a new
exclusive one is posted.
Minor hack for the locked handle set.  Not dangerous but should be made
better.

svn path=/trunk/; revision=11811
2004-11-25 23:36:36 +00:00
Art Yerkes
c350a8df8c Added WSPEnumNetworkEvents, some reformatting.
Will be modified by alex_ionescu shortly.

svn path=/trunk/; revision=11810
2004-11-25 23:35:06 +00:00
Art Yerkes
773d644b11 Added gethostbyname implementation written by Adam Kelly (insulanus).
- Mostly complete, does not support multiple returned a records or hosts file
  though
- Relies on dnsapi
- Stores hostent struct in teb->Hostent

svn path=/trunk/; revision=11809
2004-11-25 23:32:54 +00:00
Filip Navara
077765450f - Send the WM_ACTIVATE message with WA_INACTIVE when deactivating window to the window being deactivated (ie. revert last w3seek's change).
- Send the deactivation messages *before* setting the active window for message queue.

svn path=/trunk/; revision=11808
2004-11-25 22:18:59 +00:00
Alex Ionescu
1623a0079f Fix IO completion APIs/Structures.
Implement WSPASyncSelect and friends. Event re-enabling functionality missing and will be added tonight.

svn path=/trunk/; revision=11807
2004-11-25 22:18:17 +00:00
Eric Kohl
3379855217 - Replace WIN32 types by corresponding native types.
- Replace debug macros and fix potential 64bit issues (pointers casted to DWORDs).

svn path=/trunk/; revision=11804
2004-11-25 19:25:06 +00:00
KJK::Hyperion
3bd2eb22b1 blight's elf.h
svn path=/trunk/; revision=11803
2004-11-25 18:24:08 +00:00
Gregor Anich
0662980bf4 Multiprocessor support for FPU/SSE state saving.
svn path=/trunk/; revision=11802
2004-11-25 13:22:54 +00:00
Eric Kohl
0229e6cb3a Preselect the timezone based on the current user language.
svn path=/trunk/; revision=11801
2004-11-24 23:09:46 +00:00
Eric Kohl
c5881e6a93 Add acknowledgement page and license dialog and update title strings.
svn path=/trunk/; revision=11800
2004-11-24 21:28:14 +00:00
Gé van Geldorp
1f759dcf55 If stub name is of the form function@0, output as function@0@0 in the .def
file because the last @0 will be stripped later on

svn path=/trunk/; revision=11799
2004-11-24 20:11:52 +00:00
Filip Navara
6e2b742680 - Fix pointer arithmetic on FileName variable in NtCreateProcess (spotted by Arty).
svn path=/trunk/; revision=11798
2004-11-24 18:13:18 +00:00
Filip Navara
eee803acf7 - Add PCNET driver to the boot CD.
svn path=/trunk/; revision=11797
2004-11-24 17:57:14 +00:00
Filip Navara
5a384bebca - Fix call to RtlInitializeBitMap (spotted and debugged by Arty).
svn path=/trunk/; revision=11796
2004-11-24 17:54:38 +00:00
Eric Kohl
11bc9ef5f4 Replace assert_irql by ASSERT_IRQL.
svn path=/trunk/; revision=11795
2004-11-24 11:12:19 +00:00
Eric Kohl
4605029c67 Don't use a hardcoded sector size of 512 bytes.
svn path=/trunk/; revision=11794
2004-11-24 11:09:49 +00:00
Eric Kohl
0b6ffe64b0 Replace assert by ASSERT.
svn path=/trunk/; revision=11793
2004-11-24 11:02:15 +00:00
Art Yerkes
d1ad9c04ee simple gethostbyname test case
svn path=/trunk/; revision=11792
2004-11-24 04:08:44 +00:00
Thomas Bluemel
a0811f8010 don't send WM_ACTIVATE messages to the previous active window which caused the infinite loop in regedit
svn path=/trunk/; revision=11791
2004-11-24 00:11:06 +00:00
Filip Navara
842b2d68dc Merge:
MiniLocateAdapter never zeroed Adapter if the adapter didn't match,
  and never actually ever matched a name.  It always returned the
  last adapter in the list.

svn path=/trunk/; revision=11790
2004-11-23 23:51:01 +00:00
Filip Navara
f8246d2f62 Merge from ndis_wip_22102004 branch:
- Compile with W32API headers.
- Remove obsolate and no more exported functions (as of NDIS 5.1).
- Shrink the LOGICAL_ADAPTER structure a bit and use NDIS_MINIPORT_BLOCK fields instead.
- Make the WrapperConfigurationHandle an opaque structure instead of registry key handle.
- Use PnP DMA interface instead of the HAL one (TODO: Add reference counting).
- Move Ethernet filter routines from 40gone.c/miniport.c to separate file (efilter.c).
- Add PnP IRP handler and move device intitialization to IRP_MN_START_DEVICE handler.
- Implement device shutdown in IRP_MN_STOP_DEVICE.
- Minor fix for sending packets with deserialized miniports.
- Read bus type, bus number and slot number from registry if the PnP manager doesn't supply them.
- NdisMFreeMapRegisters shouldn't crash if no map registers were allocated.
- Implement NdisMQueryAdapterResources, NdisMGetDmaAlignment and NdisMReadDmaCounter.
- Implement NdisMPciAssignResources (Eric Kohl).
- Fix Ndis[Read/Write]PciSlotInformation to work for non-primary PCI buses (Eric Kohl).

svn path=/trunk/; revision=11789
2004-11-23 18:58:47 +00:00
Gé van Geldorp
0b66faaabd Make transfer of control to kernel work on Xbox
svn path=/trunk/; revision=11787
2004-11-23 11:28:02 +00:00
Magnus Olsen
6de4a5c738 remove -werror to get it compile agein
svn path=/trunk/; revision=11786
2004-11-23 11:14:41 +00:00
Gé van Geldorp
bb446ae87d Change dialog sizes to fit into 640x480
svn path=/trunk/; revision=11783
2004-11-22 20:35:56 +00:00
Art Yerkes
ce8fea9728 Changed Context to PC(NdisPacket)->Context in DLComplete call in
LoopTransmit.  We were passing the wrong context (our own) when we
should have passed the client's context.  Silly bug made possible
by use of void *.

svn path=/trunk/; revision=11782
2004-11-22 17:08:33 +00:00
Eric Kohl
e4b1bafb21 RegQueryValueExA: Free ValueName Unicode string when it is no loger in use.
svn path=/trunk/; revision=11781
2004-11-22 16:11:25 +00:00
Thomas Bluemel
adb7404b3d install msimg32.dll which is required by explorer
svn path=/trunk/; revision=11780
2004-11-22 12:45:23 +00:00
Gé van Geldorp
a652e3b1ee - Add automatic dependency tracking
- Add acknowledgements/license page

svn path=/trunk/; revision=11779
2004-11-22 11:01:45 +00:00
Gé van Geldorp
b87b03682a Zach Gorman <zach@archetypeauction.com>
The initial dialog focus should be established by the default handler
for SetFocus(), not in the dialog creation code.

svn path=/trunk/; revision=11778
2004-11-22 10:59:01 +00:00
Casper Hornstrup
7982beed9e 2004-11-21 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/utils/Makefile (UTIL_APPS): Remove regsvr32.

svn path=/trunk/; revision=11777
2004-11-21 23:00:18 +00:00
Casper Hornstrup
2f2747b9dd 2004-11-21 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/utils/regsvr32: Move to subsys/system/regsvr32.

svn path=/trunk/; revision=11776
2004-11-21 22:45:51 +00:00
Martin Fuchs
178f3ae085 fix UTF8 conversion for the bookmarks list
svn path=/trunk/; revision=11775
2004-11-21 22:42:51 +00:00
Casper Hornstrup
dd1feec678 * Remove arp, finger, ipconfig, netstat, ping, telnet, and whois; Moved to reactos.
svn path=/trunk/; revision=11774
2004-11-21 22:33:50 +00:00
Casper Hornstrup
4a35f24013 2004-11-21 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/utils/Makefile (UTIL_NET_APPS): Add arp, finger, ipconfig,
	netstat, ping, telnet, and whois.
	* bootdata/packages/reactos.dff: Add arp.exe, finger.exe, ipconfig.exe,
	netstat.exe, ping.exe, telnet.exe, and whois.exe.
	* apps\utils\net\arp: New directory; Move from rosapps.
	* apps\utils\net\finger: Ditto.
	* apps\utils\net\ipconfig: Ditto.
	* apps\utils\net\netstat: Ditto.
	* apps\utils\net\ping: Ditto.
	* apps\utils\net\telnet: Ditto.
	* apps\utils\net\whois: Ditto.

svn path=/trunk/; revision=11773
2004-11-21 22:27:01 +00:00
Alex Ionescu
58eb955e58 Put back 1.5 Revision. CVS messed up the update and kept the old mps.h when I comitted.
svn path=/trunk/; revision=11772
2004-11-21 22:01:11 +00:00
Alex Ionescu
1fe3441f75 Hal DMA Patch: Implemented correct AdapterObject, updated some AdapterFunctions, which are much more complete and correct now. Implemented EISA structure for port access instead of hard-coded offsets.
svn path=/trunk/; revision=11771
2004-11-21 21:53:07 +00:00
Gé van Geldorp
ac33643ce2 After creating the nice error message, actually pass it on to the error
reporting routine. Thanks Casper.

svn path=/trunk/; revision=11770
2004-11-21 21:33:04 +00:00
Thomas Bluemel
587b831bb2 don't use uninitialized variable
svn path=/trunk/; revision=11769
2004-11-21 21:23:24 +00:00
Thomas Bluemel
ad45691d40 1. don't allow the ProcessImageFileName information class for NtSetInformationProcess() anymore
2. implemented the ProcessImageFileName class for NtQueryInformationProcess
3. changed NtCreateProcess to obtain the file name of the loaded image

svn path=/trunk/; revision=11768
2004-11-21 21:09:43 +00:00
Casper Hornstrup
19f47c9b4f * Remove calc, regedt32, and regsvr32; Moved to reactos.
svn path=/trunk/; revision=11767
2004-11-21 21:07:33 +00:00
Casper Hornstrup
fd70584747 2004-11-21 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile (SYS_APPS): Add calc, regedt32, and regsvr32.
	* bootdata/packages/reactos.dff: Add calc.exe, regedt32.exe, and
	regsvr32.exe.
	* subsys/system/calc: New directory; Move here from rosapps.
	* subsys/system/regedt32: Ditto.
	* subsys/system/regsvr32: Ditto.

svn path=/trunk/; revision=11766
2004-11-21 21:02:04 +00:00
Art Yerkes
23398b098d - Improvements for select/implementation of event select.
- Added EventSelect PKEVENT, and other bits needed in AFD_FCB to implement
  event select.
- Select and event select are now properly notified on socket hangup.
- Added more places where state changes are needed.
- PollReeval now has the alternate goal of firing the event select event.
- Fixed crash with unsupported protocols, re: null device
- Set AFD_EVENT_SEND and AFD_EVENT_RECEIVE appropriately on connect complete.
- Fixed sending FIN from a dying socket and receiving SEL_FIN on one in tcpip,
  by adding an additional way to lookup sockets.
- Removed even more spew.
- Small speedup: don't need to redo checksum in tcp_input.  It's already done
  in our ip defrag code.

svn path=/trunk/; revision=11765
2004-11-21 20:54:52 +00:00
Gunnar Dalsnes
55ff4ad170 add stubs GetSecurityInfoExA/W
svn path=/trunk/; revision=11764
2004-11-21 20:14:36 +00:00
Casper Hornstrup
98e47a5b69 * Replace bzero with memset and bcopy with memcpy
svn path=/trunk/; revision=11763
2004-11-21 20:10:22 +00:00
Art Yerkes
3adacc20ec Correct uninitialized warnings for Status in two places.
svn path=/trunk/; revision=11762
2004-11-21 19:51:37 +00:00
Steven Edwards
27e4ae606f Most of what is needed is already in w32api/include.
svn path=/trunk/; revision=11761
2004-11-21 19:18:01 +00:00
Casper Hornstrup
9cfd7436ac 2004-11-21 Casper S. Hornstrup <chorns@users.sourceforge.net>
* bootdata/hivesys.inf: Remove kmregtests.

svn path=/trunk/; revision=11760
2004-11-21 19:11:31 +00:00
Gunnar Dalsnes
b424efdf6b kill.c: remove useless call to KeRemoveAllWaitsThread + misc
usecall.c: fix apc delivery
debug.c: add irql asserts

svn path=/trunk/; revision=11759
2004-11-21 18:42:58 +00:00
Casper Hornstrup
e4a0875a54 2004-11-21 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile (DLLS_KBD): Add kbdda.
	* bootdata/txtsetup.sif: Add Danish language 406.
	* bootdata/hivesys.inf: Add kbdda.dll for Danish language 406.
	* bootdata/packages/reactos.dff: Ditto.
	* lib/kbdda: New directory.
	* lib/kbdda/.cvsignore: New file.
	* lib/kbdda/kbdda.c: Ditto.
	* lib/kbdda/kbdda.def: Ditto.
	* lib/kbdda/kbdda.rc: Ditto.
	* lib/kbdda/makefile: Ditto.

svn path=/trunk/; revision=11758
2004-11-21 18:40:38 +00:00
Gunnar Dalsnes
eedd0d823f work.c: reimpl. using kernel queues
resource.c: add asserts

svn path=/trunk/; revision=11757
2004-11-21 18:38:51 +00:00
Gunnar Dalsnes
4635919140 call KiDeliverAPc at correct irql
svn path=/trunk/; revision=11756
2004-11-21 18:37:56 +00:00
Gunnar Dalsnes
24dc4f3595 add missing KeEnter/LeaveCriticalRegion before/after aquireing/releasing resource lock
svn path=/trunk/; revision=11755
2004-11-21 18:35:05 +00:00
Gunnar Dalsnes
0c5a9ba4f5 fix kernel queues + misc fixes/cleanups
svn path=/trunk/; revision=11754
2004-11-21 18:33:54 +00:00
Hartmut Birr
0f6f4de9e1 - Acquire always the dpc lock on smp systems.
- Set/reset DpcRoutineActive at HIGH_LEVEL (or if the dpc queue is locked).

svn path=/trunk/; revision=11753
2004-11-21 18:13:47 +00:00
Filip Navara
7af1a71e33 Revert:
- Fix prototype of FsRtlInitializeLargeMcb and FsRtlInitializeMcb.

svn path=/trunk/; revision=11752
2004-11-21 17:47:22 +00:00
Filip Navara
f2b2fe0a5d - Fix prototype of FsRtlInitializeLargeMcb and FsRtlInitializeMcb.
- Fix some FsRtl* exports.

svn path=/trunk/; revision=11751
2004-11-21 16:34:57 +00:00
Martin Fuchs
af60a0a9e2 cleanup resource script
svn path=/trunk/; revision=11750
2004-11-21 15:46:16 +00:00
Martin Fuchs
7ce0322c85 decode HTML-encoded bookmark names
svn path=/trunk/; revision=11749
2004-11-21 15:35:15 +00:00
Martin Fuchs
4e66d23d42 work around GCC's wide string constant bug when compiling inline functions
svn path=/trunk/; revision=11748
2004-11-21 14:26:14 +00:00
Gregor Anich
e1e1824939 Properly fix "Unused variable" warning.
svn path=/trunk/; revision=11747
2004-11-21 13:33:34 +00:00
Gé van Geldorp
ea32cbced0 Don't print "sector size" message, it is causing confusion
svn path=/trunk/; revision=11746
2004-11-21 13:30:44 +00:00
Thomas Bluemel
7f363e4ceb use ASSERT instead of assert
svn path=/trunk/; revision=11745
2004-11-21 13:18:19 +00:00
Thomas Bluemel
c116c5fefe fixed crash on shutdown
svn path=/trunk/; revision=11744
2004-11-21 13:02:02 +00:00
Thomas Bluemel
d23655f8c4 export AlphaBlend(), GradientFill() and TransparentBlt() as STDCALL
svn path=/trunk/; revision=11743
2004-11-21 12:55:05 +00:00
Gé van Geldorp
ad4cf3bf0b Report on which drive we couldn't find a partition table
svn path=/trunk/; revision=11742
2004-11-21 12:28:12 +00:00
Gé van Geldorp
4d111bdd6c Work around broken BIOSes which report random API subset support bitmaps
when checking for extended INT13 availability for CDROMs

svn path=/trunk/; revision=11741
2004-11-21 12:27:01 +00:00
Filip Navara
df6bd1fced - Use IntGdiSetRect instead of NtGdiSetRect.
svn path=/trunk/; revision=11740
2004-11-21 12:14:34 +00:00
Martin Fuchs
425c131de1 avoid "unused variable" warning
svn path=/trunk/; revision=11739
2004-11-21 11:58:55 +00:00
Hartmut Birr
5eb96dfc97 - Set also FS and GS on a debug service call.
svn path=/trunk/; revision=11738
2004-11-21 11:37:22 +00:00
Thomas Bluemel
afc7938b56 check the status code NtQueryInformationProcess returned
svn path=/trunk/; revision=11737
2004-11-21 11:03:17 +00:00
Thomas Bluemel
f290137ce4 properly copy the device map - it's still not initialized properly
svn path=/trunk/; revision=11736
2004-11-21 10:59:11 +00:00
Filip Navara
dcdb5fefb0 - Use absolute value of width in NtGdiCreateBitmap.
svn path=/trunk/; revision=11735
2004-11-21 10:55:29 +00:00
Martin Fuchs
375d7004a4 alpha-blend hidden notification icons
svn path=/trunk/; revision=11734
2004-11-21 10:53:55 +00:00
Hartmut Birr
d69a931982 - Fixed the check for the empty (or not empty) dpc queue in KeInsertQueueDpc.
svn path=/trunk/; revision=11733
2004-11-21 10:48:33 +00:00
Thomas Bluemel
dc61134cf1 fixed building problems
svn path=/trunk/; revision=11732
2004-11-21 10:39:12 +00:00
Alex Ionescu
2a42da87f2 1) Updated KUSER_SHARED_DATA to NT5+ exported documented defintiion, which meant the removal of DosDevices. Used proper NT _DEVICE_MAP Structure for this, but did it in a "hack" way, ie, not a fully implementation, but enough to keep the basic old functionality as before. This will need an review once the Ob Manager is overhaulted. Modified kernel32 to request the _DEVICE_MAP for the current process, implemented the query routine (but made it return the default systme device map intead of per process) and changed the kernel code to use the default device map instead.
2) Updated the HalDispatchTable to Version 3.0. Not a huge change, just added/updated some functions.
3) Rewrote most of the DPC Code to take advantage of the CPU/Importance "laws". Stress testing on my machine revealed no issues on CVS HEAD. Still needs some review to make it so that idle threads can call dpcs (so that low importance dpcs will be dispatched by the idle thread). I will modify this later.

svn path=/trunk/; revision=11731
2004-11-21 06:51:18 +00:00
Art Yerkes
5fea7dac8b Patch to correct multiple adapter bind from protocols. There were two
bugs here:
1) The loop in protocol.c was wrong and was rewritten by Andrew Munger
   with help from Thomas Weidenmueller
2) MiniLocateAdapter never zeroed Adapter if the adapter didn't match,
   and never actually ever matched a name.  It always returned the
   last adapter in the list (spotted and fixed after the above fixes).

svn path=/trunk/; revision=11730
2004-11-21 04:20:38 +00:00
Art Yerkes
30be599db3 Add a null check to prevent crashes during the vulnerable time when Filter
is not set.

svn path=/trunk/; revision=11729
2004-11-21 03:02:57 +00:00
Gregor Anich
8119f6f384 FPU/SSE state saving on taskswitching, FPU and SSE exception support.
svn path=/trunk/; revision=11728
2004-11-20 23:46:37 +00:00
Martin Fuchs
ede5e4a1f9 update doxygen script
svn path=/trunk/; revision=11727
2004-11-20 23:06:52 +00:00
Martin Fuchs
716bc3dbb3 notification area button to toggle hidden icons
svn path=/trunk/; revision=11726
2004-11-20 22:35:06 +00:00
Art Yerkes
110f1eeb5e Forgot to update a prototype in here. Also, a while ago, I stopped getting
the LDR_MODULE definition, so I fixed that.

svn path=/trunk/; revision=11725
2004-11-20 22:21:35 +00:00
Gé van Geldorp
25dc91ca69 Make it compile
svn path=/trunk/; revision=11724
2004-11-20 22:20:12 +00:00
Filip Navara
f5c76d2826 - Add IRQL assert to ExFreePagedPool.
svn path=/trunk/; revision=11723
2004-11-20 21:16:38 +00:00
Filip Navara
c7802eb216 - Allocate buffer for sub keys from NonPagedPool in order to prevent crashes in CmiAddKeyToList where the buffer is accessed at DISPATCH_LEVEL.
svn path=/trunk/; revision=11722
2004-11-20 21:14:16 +00:00
Martin Fuchs
a4efd45e84 display notification icon change times
svn path=/trunk/; revision=11721
2004-11-20 19:30:41 +00:00
Thomas Bluemel
ba5522cda3 silence debug message
svn path=/trunk/; revision=11720
2004-11-20 19:08:37 +00:00
Steven Edwards
9a2f072607 added riched20 to the build
svn path=/trunk/; revision=11719
2004-11-20 18:30:52 +00:00
Steven Edwards
984b8c4f6a Added dummy riched20.dll by Aric Stewart from CrossOver.
This is not a correct implementation, it is just enough to get some applications
to work. A fully working riched20 will be developed in winehq.

svn path=/trunk/; revision=11718
2004-11-20 18:26:16 +00:00
Casper Hornstrup
0315098375 2004-11-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/tcpip/tests/tests/ipreceive.c (RunTest): Switch parameters
	to _AssertEqualValue.
	* drivers/net/tcpip/tests/stubs.tst: Add missing stubs.
	* lib/ws2_32/tests/stubs.tst: Ditto.
	* ntoskrnl/tests/stubs.tst: Ditto.
	* regtests/shared/regtests.h: Use unsigned format specifiers.

svn path=/trunk/; revision=11717
2004-11-20 17:56:23 +00:00
Thomas Bluemel
74ce6443c2 added missing definitions
svn path=/trunk/; revision=11715
2004-11-20 17:55:41 +00:00
Casper Hornstrup
68e9370d78 2004-11-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
* config (SEH): Remove.
	* regtests/shared/regtests.c (_alloca): Remove; Use from malloca.h
	instead.
	(PerformTest): Use PSEH to catch exceptions while running tests.
	* tools/config.mk (CONFIG): Don't add SEH.
	* tools/helper.mk: Link tests with pseh.a.

svn path=/trunk/; revision=11714
2004-11-20 17:48:38 +00:00
Art Yerkes
e2632afc71 Fixed continue in the GDB stub. Sorry for breaking it.
svn path=/trunk/; revision=11713
2004-11-20 17:45:15 +00:00
Thomas Bluemel
b7100ed2fc 1. removed window station/desktop hacks from ntoskrnl
2. implemented window station/desktop inheritance on thread/process startup
3. implemented process locking
4. fixed some fields in the EPROCESS structure

svn path=/trunk/; revision=11712
2004-11-20 16:46:06 +00:00
Martin Fuchs
76bd18b75f update change list
svn path=/trunk/; revision=11710
2004-11-20 16:23:35 +00:00
Eric Kohl
75d4557d4c Add UpdatePerUserSystemParameters stub and call it from winlogon.
svn path=/trunk/; revision=11709
2004-11-20 15:55:45 +00:00
Gé van Geldorp
65708377d8 Implement NtUserGetClipboardOwner
svn path=/trunk/; revision=11707
2004-11-20 09:34:43 +00:00
KJK::Hyperion
34149e19fc Use _alloca instead of stack variables, because the compiler feels too damn smart
svn path=/trunk/; revision=11706
2004-11-19 23:58:33 +00:00
Gé van Geldorp
c99ffa31ca At least show the window when wParam is TRUE and the window is currently
invisible

svn path=/trunk/; revision=11705
2004-11-19 23:07:09 +00:00
Gunnar Dalsnes
90125b20eb return correct ExitCode for non-terminated threads
svn path=/trunk/; revision=11704
2004-11-19 22:19:33 +00:00
Filip Navara
6699c721fc - Correctly calculate size of the CM_RESOURCE_LIST structure.
svn path=/trunk/; revision=11703
2004-11-19 21:31:02 +00:00
Thomas Bluemel
7857b6c7e9 report proper buffer sizes as documented
svn path=/trunk/; revision=11701
2004-11-19 20:02:47 +00:00
Thomas Bluemel
b260dfd4b0 buffers are calculated properly, no need to allocate more memory for safety anymore
svn path=/trunk/; revision=11700
2004-11-19 19:34:11 +00:00
Steven Edwards
35ab538802 Add more non-standard LANG_* ids.
svn path=/trunk/; revision=11699
2004-11-19 13:00:12 +00:00
Thomas Bluemel
cd57e3d41d 1. fixed definition of the DEBUG_MODULE_INFORMATION structure
2. implemented module and heap list enumeration for toolhelp

svn path=/trunk/; revision=11698
2004-11-19 01:30:35 +00:00
Filip Navara
c145b0b293 - Allocate the memory from paged pool instead of non-paged pool as almost all code (and none of the font code) in Win32k runs at IRQL < DISPATCH_LEVEL.
svn path=/trunk/; revision=11697
2004-11-18 22:22:46 +00:00
Eric Kohl
f5912089d2 Pass a fake translated resource list to a driver when a device is started.
svn path=/trunk/; revision=11695
2004-11-18 11:46:07 +00:00
Gé van Geldorp
583f2092ad Rollback identify code (Filip reluctantly agrees)
svn path=/trunk/; revision=11694
2004-11-18 08:32:32 +00:00
Art Yerkes
f404e670d5 Removed bad assertion. It's ok for TCPSendData to return immediately if the
data has been copied into the tcp buffer.  Requiring STATUS_PENDING here is
definately an error.

svn path=/trunk/; revision=11693
2004-11-18 05:02:10 +00:00
Art Yerkes
a2f6011b3d Changed kdbg a bit by adding some new flags (and a new command):
condition [all|umode|kmode]

condition all -> Handle all exceptions.  This is like the current kdbg
condition umode -> Handle unhandled usermode exceptions and all kmode
	exceptions.
condition kmode -> Handle only unhandled kernelmode exceptions (default)

svn path=/trunk/; revision=11692
2004-11-18 02:10:28 +00:00
Gunnar Dalsnes
4af944d53d revert incorrect fix
svn path=/trunk/; revision=11691
2004-11-17 23:55:36 +00:00
Gé van Geldorp
c9e0a17bab Get rid of global volume boot sector and store required info in separate
variables

svn path=/trunk/; revision=11690
2004-11-17 22:07:45 +00:00
Filip Navara
4d21897222 - Don't report CmResourceTypeNull resources for unused PCI descriptor resource entries.
svn path=/trunk/; revision=11688
2004-11-17 20:39:27 +00:00
Eric Kohl
9a7c335263 Implement NdisOverrideBusNumber.
svn path=/trunk/; revision=11686
2004-11-17 13:10:01 +00:00
Art Yerkes
ce37c3ed04 Member unknown renamed internaluse.
svn path=/trunk/; revision=11685
2004-11-17 07:12:27 +00:00
Art Yerkes
2c9bba03b5 tcpip: fix for udp socket close.
ws2_32: unstub WSAFDIsSet, small amount of work on select
msafd: select fixes
afd: major select overhaul
- 1 exit point for poll objects from the deviceext
- make sure to cancel the timer
- UpdatePollWithFCB now runs at DISPATCH_LEVEL in every case
- Added handle locks so we can signal and check handles properly

svn path=/trunk/; revision=11684
2004-11-17 05:17:22 +00:00
Martin Fuchs
4a7d199e30 make read_directory_unix() static
svn path=/trunk/; revision=11682
2004-11-16 19:42:08 +00:00
Martin Fuchs
36c518427e fix german menu text
svn path=/trunk/; revision=11681
2004-11-16 19:41:54 +00:00
Casper Hornstrup
59f81f9539 2004-11-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/lib/ip/network/arp.c: Assert certain conditions.
	* drivers/lib/ip/network/loopback.c: Ditto.
	* drivers/lib/ip/network/neighbor.c: Ditto.
	* drivers/lib/ip/transport/tcp/tcp.c: Ditto.
	* drivers/net/tcpip/datalink/lan.c: Ditto.
	* drivers/net/tcpip/datalink/loopback.c: Ditto.
	* drivers/net/tcpip/include/debug.h (ASSERT_KM_POINTER): Define.
	* drivers/lib/ip/transport/tcp/if.c: Remove disabled code.
	* drivers/net/afd/afd/main.c (AfdDispatch): Print known unimplemented
	IOCTLs.
	* drivers/net/tcpip/include/precomp.h: Include roscfg.h.
	* drivers/net/tcpip/tcpip/dispatch.c (DispTdiListen): Pass the right
	connection object to TCPListen.
	* drivers/net/tcpip/tcpip/mocklock.c: Fix some assertions.

svn path=/trunk/; revision=11680
2004-11-16 18:07:58 +00:00
Gregor Anich
845737a0c6 Simple implementation of some multi-monitor APIs (I hope this was the last one)
svn path=/trunk/; revision=11679
2004-11-16 17:36:37 +00:00
Gregor Anich
ad2c067338 Simple implementation of some multi-monitor APIs.
svn path=/trunk/; revision=11678
2004-11-16 17:25:47 +00:00
Gregor Anich
3de1bbc635 Simple implementation of some multi-monitor APIs.
svn path=/trunk/; revision=11677
2004-11-16 16:29:21 +00:00
Eric Kohl
43d65f019d - Make WrapperConfigurationContext a pointer to a WRAPPER_CONTEXT structure.
- Use correct bus number in NtImmediateReadPciSlotInformation, NdisImmediateWritePciSlotInformation, NdisReadPciSlotInformation and NdisWritePciSlotInformation.

svn path=/trunk/; revision=11676
2004-11-16 16:21:09 +00:00
Gunnar Dalsnes
1d44f8fade fix broken work item impl.
svn path=/trunk/; revision=11675
2004-11-15 23:14:36 +00:00
Gé van Geldorp
22e0d4d8eb Create Int versions of Rect functions
svn path=/trunk/; revision=11674
2004-11-15 23:10:42 +00:00
Art Yerkes
ccc0695954 Need AFD_IMMEDIATE.
svn path=/trunk/; revision=11673
2004-11-15 20:17:48 +00:00
Gunnar Dalsnes
d06c68bb99 add some error checking
svn path=/trunk/; revision=11672
2004-11-15 19:20:23 +00:00
Art Yerkes
28bfa5fcdd Implemented non-blocking recv and recvfrom.
Fixed address pass-through in afd.
Fixed some address cruft in udp and datagram regarding incoming
datagrams.

svn path=/trunk/; revision=11671
2004-11-15 18:24:57 +00:00
Eric Kohl
f44ad86cf8 Silence debug messages.
svn path=/trunk/; revision=11670
2004-11-15 16:36:28 +00:00
Eric Kohl
514e74cba8 Remove the default locale id.
svn path=/trunk/; revision=11669
2004-11-15 14:43:55 +00:00
Eric Kohl
42991379db Don't set the default locale id.
svn path=/trunk/; revision=11668
2004-11-15 14:41:25 +00:00
Eric Kohl
4d1046ee76 Don't retrieve the system locale id from the registry, use ZwQueryDefaultLocale instead.
svn path=/trunk/; revision=11667
2004-11-15 14:40:14 +00:00
Eric Kohl
f838190b50 NtSetDefaultLocale must only store the lanuage id (lower half) of the given system locale id.
svn path=/trunk/; revision=11666
2004-11-15 14:38:37 +00:00
Eric Kohl
0fafbcbcf4 Use autogenerated device names for PDOs on PCI buses.
svn path=/trunk/; revision=11665
2004-11-15 11:49:37 +00:00
Eric Kohl
d0da55a427 Add support for FILE_AUTOGENERATED_DEVICE_NAME to IoCreateDevice.
svn path=/trunk/; revision=11664
2004-11-15 11:41:33 +00:00
Eric Kohl
3b5c8f81f3 Register handler for PCI bus 2.
svn path=/trunk/; revision=11663
2004-11-15 09:18:19 +00:00
Gé van Geldorp
be441ae62f Don't need flashleds
svn path=/trunk/; revision=11662
2004-11-14 22:07:53 +00:00
Gé van Geldorp
4e5131fd86 Add UI support on the Xbox
svn path=/trunk/; revision=11661
2004-11-14 22:04:39 +00:00
Art Yerkes
b055a01bc8 Added port allocation.
Datagram: only match a sender if a sender match was specified.

svn path=/trunk/; revision=11660
2004-11-14 21:28:21 +00:00
Art Yerkes
e280e1272c Fixed UDP.
- Header size adjustments corrected.
- Added callback specified by caller.
- Port allocation added.

svn path=/trunk/; revision=11659
2004-11-14 21:27:15 +00:00
Hartmut Birr
9c5da940f0 - Started the implementation of the ipi calls.
svn path=/trunk/; revision=11658
2004-11-14 20:00:06 +00:00
Art Yerkes
323b7c4460 UDP working.
svn path=/trunk/; revision=11657
2004-11-14 19:45:16 +00:00
Hartmut Birr
1dcd7629c6 - Stored the apc/dpc requests in the KPCR.
svn path=/trunk/; revision=11656
2004-11-14 19:04:42 +00:00
Hartmut Birr
35636e998d - Used the time stamp counter from a pentium if it is available
(in KeStallExecutionProcessor/KeQueryPerformanceCounter).

svn path=/trunk/; revision=11655
2004-11-14 19:01:31 +00:00
Hartmut Birr
b39c7349f9 - Used the shared user data page instead of NtQuerySystemTime to get the time.
svn path=/trunk/; revision=11654
2004-11-14 18:53:11 +00:00
Hartmut Birr
349e167cae - Implemented waitable console handles.
- Removed a fake event after a input event to empty the queue in CsrReadInputEvent.

svn path=/trunk/; revision=11653
2004-11-14 18:47:10 +00:00
Gregor Anich
26b8d50a75 Fix handling of debug traps in GDB stub/KiDispatchException (This time for real I hope, sorry for the breakage)
svn path=/trunk/; revision=11652
2004-11-14 16:00:02 +00:00
Eric Kohl
e9d3254541 Set the current date/time and update the current time zone name on the date/time page.
svn path=/trunk/; revision=11651
2004-11-14 12:28:21 +00:00
Art Yerkes
11070b8093 Fixed bug in ne2000 driver, re: copying ethernet frame header when only
payload should be copied in MiniportTransferData.

Changed tcpip to not consider the ethernet header anywhere above
ProtocolReceive.

svn path=/trunk/; revision=11650
2004-11-14 10:13:17 +00:00
Steven Edwards
62e00f3e2f Enabled the ReactOS pcnet driver by default.
Added 1 line note about how to use the vendor driver rather than ours.

svn path=/trunk/; revision=11649
2004-11-14 03:51:26 +00:00
Hartmut Birr
ea6e7df66a - Stored the informations from the cpuid instruction within the KPCR of each processor.
svn path=/trunk/; revision=11648
2004-11-13 23:08:35 +00:00
Gregor Anich
59881376cd Fix handling of debug traps in GDB stub/KiDispatchException.
svn path=/trunk/; revision=11647
2004-11-13 23:00:15 +00:00
Hartmut Birr
60c952c6ce - Fixed the scanning for boot options.
svn path=/trunk/; revision=11646
2004-11-13 22:30:18 +00:00
Hartmut Birr
5260bf08c8 - Removed some unnecessary type casts.
svn path=/trunk/; revision=11645
2004-11-13 22:27:16 +00:00
Casper Hornstrup
9f05cd01e3 2004-11-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/utils/net/roshttpd/include/list.h (CList<Item>::Get): Declare i
	before use.

svn path=/trunk/; revision=11644
2004-11-13 17:20:30 +00:00
Thomas Bluemel
3e0c6c7994 implemented MmGetSystemRoutineAddress()
svn path=/trunk/; revision=11643
2004-11-13 13:09:07 +00:00
Filip Navara
d0917c6faf - Add NdisCopyLookaheadData macro.
svn path=/trunk/; revision=11642
2004-11-13 12:28:08 +00:00
Richard Campbell
0c3b663f9c - removed a few more DPRINTs that make no sense.
svn path=/trunk/; revision=11641
2004-11-13 02:02:07 +00:00
Richard Campbell
7b3d7ecb51 - Removed more nonsense debug prints.
- btw these changes are based on behavior discovered, on Windows XP SP2.  Your mileage may vary.

svn path=/trunk/; revision=11640
2004-11-13 01:57:45 +00:00
Richard Campbell
ad0e8d471b - Check for a valid hwnd.
- passing Key Up messages  as a parameter always returns 0;
- WM_SYSCHAR IS used however.
- Get rid of an odd debug print message.
- Changed the Window parameter name to hWnd.

svn path=/trunk/; revision=11639
2004-11-13 01:52:56 +00:00
Richard Campbell
c29ce9bc5b - Fixed a typo
svn path=/trunk/; revision=11638
2004-11-13 01:14:42 +00:00
Eric Kohl
6c7ede35c0 Add remaining time zones.
svn path=/trunk/; revision=11637
2004-11-13 00:16:32 +00:00
Art Yerkes
9a7c38e472 lib/ip:
transport/tcp/* remove some spew, eliminate deadlock condition (calling afd
  with socket locked).
 network/router.c -- GvG noticed a wrong condition at line 153:
  This code used to stop when finding a matching bit, not a non-matching one.
net/tcpip:
 makefile: change order of .a files.  Could break compilation before under
  the right circumstances.
 turn off some spew
 datalink/lan.c:
  NdisTransferData does not count header size when figuring out how many bytes
  to copy.  Most of the tcpip code does, so we do something wierd here.  We
  must fix this later in a better way.

svn path=/trunk/; revision=11636
2004-11-13 00:06:33 +00:00
Steven Edwards
2b84842184 Added .cvsignore file.
svn path=/trunk/; revision=11635
2004-11-12 21:30:13 +00:00
Aleksey Bragin
32333d3280 Removed PriorityBoost from DPRINT at IoSecondStageCompletion, since there is no priority boost in this func
svn path=/trunk/; revision=11634
2004-11-12 18:50:53 +00:00
Aleksey Bragin
0745f5a9ae Remove a warning about incorrect types, after discussion in channel it was decided to do it as &Process->Pcb instead of (PKPROCESS)Process.
svn path=/trunk/; revision=11633
2004-11-12 18:42:25 +00:00
Gé van Geldorp
2e3419423b Since CreateProcessA() is called, also use the Ansi version of STARTUPINFO
svn path=/trunk/; revision=11632
2004-11-12 18:23:31 +00:00
Gé van Geldorp
b4ef4b5e8f Add FATX support
svn path=/trunk/; revision=11631
2004-11-12 17:17:08 +00:00
Eric Kohl
69b5fdb8f1 - Build UNICODE dll.
- Fix the crash when the customize input locale button is pressed.

svn path=/trunk/; revision=11630
2004-11-12 15:42:36 +00:00
Eric Kohl
83541672c0 Defedf is not needed any longer.
svn path=/trunk/; revision=11629
2004-11-12 12:07:51 +00:00
Eric Kohl
7cd6c44a8a - Move NtAllocateUuids from the Security Reference Monitor to the Executive.
- Update NtAllocateUuids to W2K signature.
- Add NtSetUuidSeed.

svn path=/trunk/; revision=11628
2004-11-12 12:06:54 +00:00
Eric Kohl
55b37c64ca - Move NtAllocateUuids from the Security Reference Monitor to the Executeive.
- Update NtAllocateUuids to W2K signature.
- Add NtSetUuidSeed.

svn path=/trunk/; revision=11627
2004-11-12 12:04:32 +00:00
Art Yerkes
1eb22067d1 Small DBG related patches.
svn path=/trunk/; revision=11626
2004-11-12 09:27:02 +00:00
Art Yerkes
dea7f87980 Prevent some deadlock scenarios by unlocking the FCB while calling into
tcpip.sys.

svn path=/trunk/; revision=11625
2004-11-12 07:34:56 +00:00
Steven Edwards
0af675ba07 Added new patch for Alex's BindImage, Map and Load and
friends to CVS for next merge. This patch applies clean to
Winehq tip.

svn path=/trunk/; revision=11624
2004-11-12 03:55:15 +00:00
Alex Ionescu
126f95c1ea Fix calls to KeAttachProcess
svn path=/trunk/; revision=11623
2004-11-11 22:40:30 +00:00
Alex Ionescu
a9c33470e5 Kernel:
- apc.c: Fixed some bugs and used Dispatcher Lock. Simplified some functions and renamed/inlined others.
- wait.c: Fixed some assumptions about Dispatcher Lock and Waiting/Alertability
- process.c: Fully implemented KeStackAttachProcess and KeStackDetachProcess. Made all functions use PKPROCESS and not PEPROCESS.
Memory Manager: Fixed calls to KeAttachProcess/DetachProcess to typecast PKPROCESS
Process Manager: Removed call to empty function in apc.c

svn path=/trunk/; revision=11622
2004-11-11 22:23:52 +00:00
Eric Kohl
0cc7d4d22d Fix typo: Call RegDeleteValue to delete a value.
svn path=/trunk/; revision=11621
2004-11-11 17:46:22 +00:00
Steven Edwards
301bbb3f0b grrr I forgot to do binary.....
svn path=/trunk/; revision=11620
2004-11-11 17:27:58 +00:00
Steven Edwards
1dc6cec99d grrr I forgot to do binary.....
svn path=/trunk/; revision=11619
2004-11-11 17:27:24 +00:00
Steven Edwards
fa83dde5e5 some simple sounds for ReactOS by Stefan Zehe.
svn path=/trunk/; revision=11618
2004-11-11 17:26:55 +00:00
Eric Kohl
816885ccb2 Clean-up.
svn path=/trunk/; revision=11617
2004-11-11 12:27:40 +00:00
Eric Kohl
ca9e2e3b6d Enable automatic adjustment of daylight savings changes.
svn path=/trunk/; revision=11616
2004-11-11 12:24:56 +00:00
Eric Kohl
2fcf84ea37 Add even more time zones.
svn path=/trunk/; revision=11615
2004-11-11 12:21:45 +00:00
Eric Kohl
7ac73dbbc4 RegSetValueExA: lpData can be NULL.
This fixes three failures of the WINE regression tests.

svn path=/trunk/; revision=11614
2004-11-11 11:21:30 +00:00
Gé van Geldorp
2fada79f2e Add partition handling for the Xbox
svn path=/trunk/; revision=11613
2004-11-10 23:45:37 +00:00
Gregor Anich
6f9d1917af Print exception names/strings when KDB is entered.
svn path=/trunk/; revision=11612
2004-11-10 23:16:16 +00:00
Eric Kohl
992f09bfbe Add more time zones.
svn path=/trunk/; revision=11611
2004-11-10 10:03:02 +00:00
Alex Ionescu
39a5847ee5 Rewrote APC Implementation.
TODO: KiSwapApcEnvironment, Honour SpecialApcDisable.
Special thanks to Thomas and Filip.

Fixed I/O Manager Bugs. APCs were not created with the right parameters in the right places, or had useless parameters being sent.

Added mmdrv and midimap to bootcd.

Fixed KTHREAD defintion.

Fixed some thread alertability issue in thread creation.

svn path=/trunk/; revision=11610
2004-11-10 02:51:00 +00:00
Gregor Anich
8b3a000e7b Fix RecursionTrap (RescursionTrap) in UnhandledExceptionFilter to allow more than 2 exceptions beeing handled by the toplevel filter.
svn path=/trunk/; revision=11609
2004-11-10 01:07:45 +00:00
Gé van Geldorp
2950511d3e Add disk I/O (well, input only, no output) for the Xbox
svn path=/trunk/; revision=11608
2004-11-09 23:36:20 +00:00
Gregor Anich
d5b047feae Fix _control87, the old implementation was terribly wrong and broken.
svn path=/trunk/; revision=11607
2004-11-09 23:15:17 +00:00
Alex Ionescu
9e12bbeae6 baseaddress.cfg - Add entry for midimap.dll. Fix msacm's base address. It was conflicting with iplhapi and generated an unncessary relocation and error message.
Makefile - Add entry for midimap.dll, Build mmdrv because it's trying to get loaded at system startup and that caused an error
bootdata/hivedef.inf - Create PaintDesktopVersion key and set it to 0. Win32k was trying to read this value and gave an error message because it did not exist.
lib/samlib/samlib.c - Silence samlib for informational messages that aren't errors.(if NDEBUG is on)
lib/userenv/directory.c -Silence for informational messages that aren't errors (if NDEBUG is on)
lib/setupapi/devinst.c - Turn SetupDiInstallClassW blank debug message into something a little more informational.
lib/syssetup/install.c - Make syssetup check if samlib returned ERROR_USER_EXISTS, in which case instead of pointlessly rebooting (which probably never allowed the user to actually setup ros...if error_user_Exists is returned it means  that setup was abandonned for some reason, so we would want to restart it instead of giving up), it will  restart setup.

svn path=/trunk/; revision=11606
2004-11-09 15:02:35 +00:00
Eric Kohl
f167a592d3 Use BF_SOFT style to draw pushbutton edges.
svn path=/trunk/; revision=11605
2004-11-09 14:59:37 +00:00
Eric Kohl
3b4262a4c2 Add more time zones.
svn path=/trunk/; revision=11604
2004-11-09 14:56:05 +00:00
Alex Ionescu
ab31ca4db5 Move midimap.drv (a 9x component) to midimap.dll (an NT component), make it build with baseaddress.cfg.
svn path=/trunk/; revision=11603
2004-11-09 14:52:52 +00:00
Art Yerkes
60a319ecaa Cleaing in receive: fixed one bugcheck.
Removed much small allocation cruft (20 byte or less objects)

svn path=/trunk/; revision=11602
2004-11-09 09:39:38 +00:00
Steven Edwards
bdaa32578b One of the buggy versions of Mingw I have fails to compile this if I dont
include stdio.h.

svn path=/trunk/; revision=11601
2004-11-09 03:22:17 +00:00
Alex Ionescu
885ff857c4 Silence informational messages.
svn path=/trunk/; revision=11600
2004-11-09 00:38:37 +00:00
Gé van Geldorp
5882e75d37 Support video and memory detection on the Xbox
svn path=/trunk/; revision=11599
2004-11-08 22:02:48 +00:00
Thomas Bluemel
cfde60c60d 1. fixed GetProfilesDirectoryW(). the lpcchSize parameter takes the size of the buffer in characters, not bytes.
2. LoadUserProfileW() should pass the buffer size to GetProfilesDirectoryW()

svn path=/trunk/; revision=11598
2004-11-08 21:23:34 +00:00
Eric Kohl
2f3caac348 Select current time zone on the time zone property page.
svn path=/trunk/; revision=11597
2004-11-08 10:33:08 +00:00
Eric Kohl
d63d756d2c Add some more time zones.
svn path=/trunk/; revision=11596
2004-11-08 10:31:52 +00:00
Thomas Bluemel
dbd1890dee make better use of precompiled headers
svn path=/trunk/; revision=11595
2004-11-08 02:16:06 +00:00
Thomas Bluemel
3e1e519f2e don't return uninitialized variable. thx to Alex.
svn path=/trunk/; revision=11594
2004-11-08 01:46:12 +00:00
Thomas Bluemel
3e2287907c forgot this file
svn path=/trunk/; revision=11593
2004-11-08 00:37:19 +00:00
Gregor Anich
1664862298 Check for installed exception handlers if the kernel debugger returns not kdDoNotHandleException, and not not kdHandleException.
svn path=/trunk/; revision=11592
2004-11-08 00:36:41 +00:00
Thomas Bluemel
762aaad968 separate epsapi as per kjk's request again, sorry for that.
svn path=/trunk/; revision=11591
2004-11-08 00:34:46 +00:00
Filip Navara
93c256ba7e - Fix prototype for KeConnectInterrupt.
svn path=/trunk/; revision=11590
2004-11-07 23:22:39 +00:00
Gregor Anich
2a5fa312ec Add SSE detection.
svn path=/trunk/; revision=11589
2004-11-07 23:03:43 +00:00
Filip Navara
5879eeb98a - Export the InitSafeBootMode variable as per KB83764.
- Remove KeRescheduleThread (it's not present neither on WinNT4 nor on WinXP SP2).
- Fix IoOpenDeviceRegistryKey for PLUGPLAY_REGKEY_DRIVER case. (Oops)
- Move IoConnectInterrupt and IoDisconnectInterrupt outside from Ke.

svn path=/trunk/; revision=11588
2004-11-07 22:55:38 +00:00
Art Yerkes
da8cb9fe17 Preliminary stub generator ported from my shell script.
svn path=/trunk/; revision=11587
2004-11-07 22:54:04 +00:00
Gregor Anich
a6fdf80a8b Fix FORCE_INLINE for GNUC.
svn path=/trunk/; revision=11586
2004-11-07 22:20:50 +00:00
Steven Edwards
609b0c5307 Added Wine ole32 tests.
As of 2004-10-7 we pass all of the tests except the one marked todo
in Wine. It has been disabled.

svn path=/trunk/; revision=11585
2004-11-07 22:19:07 +00:00
Filip Navara
96c1aa383f - Initialize DriverObject->HardwareDatabase for newly created device objects.
svn path=/trunk/; revision=11584
2004-11-07 21:20:51 +00:00
Filip Navara
22d4c31e4c - New and complete implementation of IoOpenDeviceRegistryKey.
svn path=/trunk/; revision=11583
2004-11-07 21:18:33 +00:00
Art Yerkes
8a640a70d2 Removed remaining kernel imports from ip lib.
Removed unneeded precomp.h from drivers/lib/ip.
Removed some memtrack and other spew.
Removed datagram send pipe part, and accompanying address file queue.
Simplified send pipe (major changes):
- Neighbor is solely responsible for firing normal ip datagrams to the peer.
- Transmit is the only place normal ip datagrams are passed to neighbor from.
- Simplified fragmentation code.
- Made callbacks explicit and always called in neighbor and transmit.
- Clarified ownership of transmitted NdisPacket.
- Ditto IPPackets here and in icmp.
- PC(Packet)->DLComplete is *only* used by lan.c and loopback.c
- Simplified loopback send mechanism
Added the beginnings of a test suite

svn path=/trunk/; revision=11582
2004-11-07 20:37:21 +00:00
Steven Edwards
da9108e6ff Added Wine psapi tests.
As of 2004-10-7 we pass 17 out of 20 tests.
I have disabled the three we fail.

svn path=/trunk/; revision=11581
2004-11-07 20:05:22 +00:00
KJK::Hyperion
626b0a1f74 Moved VerSetConditionMask in RTL so it can be exported from ntoskrnl too
svn path=/trunk/; revision=11580
2004-11-07 18:45:52 +00:00
Thomas Bluemel
11aba14d5f fixed typo
svn path=/trunk/; revision=11579
2004-11-07 18:43:33 +00:00
Thomas Bluemel
5a1d86c75b corrected image base address
svn path=/trunk/; revision=11578
2004-11-07 18:41:19 +00:00
Eric Kohl
3c3bf1e647 Fill the time zone list.
svn path=/trunk/; revision=11577
2004-11-07 16:03:51 +00:00
Gregor Anich
5a1530f454 Translate EXCEPTION_XXX defines into EXCEPTION_DISPOSITION enum values.
svn path=/trunk/; revision=11576
2004-11-07 15:58:41 +00:00
Filip Navara
31e89ab427 - Define RTL_REGISTRY_HANDLE and RTL_REGISTRY_OPTIONAL.
svn path=/trunk/; revision=11575
2004-11-07 15:40:31 +00:00
Thomas Bluemel
4cebb355ef ignore .gch files
svn path=/trunk/; revision=11574
2004-11-07 15:39:22 +00:00
Thomas Bluemel
6414f19557 added stubs for winscard.dll
svn path=/trunk/; revision=11573
2004-11-07 15:37:41 +00:00
Steven Edwards
af0423f839 Added Wine Common Control Regression tests.
As of 2004-10-7 we pass all of these tests.

svn path=/trunk/; revision=11572
2004-11-07 14:36:23 +00:00
KJK::Hyperion
515d472b0f Implemented VerSetConditionMask.
[HEADER HELL] VER_XXX macros defined inside the source file. Sorry

svn path=/trunk/; revision=11571
2004-11-07 13:08:24 +00:00
Eric Kohl
aba2c302f3 Add more time zones.
svn path=/trunk/; revision=11570
2004-11-07 11:49:55 +00:00
Steven Edwards
edcdbd6b73 Cleanup the warnings.
Patch by Vandread this closes bug 306.

svn path=/trunk/; revision=11569
2004-11-07 03:22:50 +00:00
Gé van Geldorp
473854d2fd Use correct context.
Patch by Theodor Willax <theodor_willax@hotmail.com>

svn path=/trunk/; revision=11568
2004-11-06 22:28:11 +00:00
Filip Navara
d00861b8e8 - Fix ACL size calculation in SepInitDACLs.
- Fix size check in RtlpAddKnownAce.

svn path=/trunk/; revision=11567
2004-11-06 21:32:16 +00:00
Steven Edwards
6b9538eb54 include stdlib.h, string.h and ctype.h to fix a build problem I am seeing.
svn path=/trunk/; revision=11566
2004-11-06 21:06:52 +00:00
Eric Kohl
f7f3b5cbfe Add some more timezones.
svn path=/trunk/; revision=11565
2004-11-06 19:41:44 +00:00
Gregor Anich
fc99b33d66 Add ExtendedRegisters to CONTEXT_X86, CONTEXT_EXTENDED_REGISTERS and MAXIMUM_SUPPORTED_EXTENSIONS defines.
I just hope I don't break anything!

svn path=/trunk/; revision=11564
2004-11-06 19:15:15 +00:00
Thomas Bluemel
068b78cfc6 silence debug output
svn path=/trunk/; revision=11559
2004-11-06 18:17:32 +00:00
Art Yerkes
03c08fd7b9 Changes:
- Turn two instances of stricmp(...,".[Cc]") into one of strcaseccmp(...,".c")
  in filename parsing.
- Streamline line parsing a bit:
  - Scan the line only once, looking for any line terminator
  - Ignore leading and trailing blanks
  - Handle comments properly

svn path=/trunk/; revision=11557
2004-11-06 17:37:29 +00:00
Eric Kohl
de2ab6cf8b - Make TIME_ZONE_ID_XXX constants available from kernel mode.
- Fix definition of KSYSTEM_TIME.
- Set default time zone bias and id in the shared user page.

svn path=/trunk/; revision=11556
2004-11-06 16:05:49 +00:00
Eric Kohl
a7ffdcff0e - Replace TIME type by LARGE_INTEGER in FILE_*_INFORMATION structures.
- Make sure that filesystem-specific data and time are converted to/from system time.
- Replace assert() by ASSERT().

svn path=/trunk/; revision=11555
2004-11-06 13:44:57 +00:00
Eric Kohl
0a4eb63a58 - Replace TIME type by LARGE_INTEGER in FILE_*_INFORMATION structures.
- Make sure that filesystem-specific data and time are converted to/from system time.

svn path=/trunk/; revision=11554
2004-11-06 13:38:45 +00:00
Thomas Bluemel
2ec823a6b0 1. implemented GetPerformanceInfo()
2. fixed definition of SYSTEM_HANDLE_INFORMATION and SYSTEM_HANDLE_TABLE_ENTRY_INFO

svn path=/trunk/; revision=11553
2004-11-06 11:45:47 +00:00
Thomas Bluemel
112d5270ee removed obsolete forward declaration
svn path=/trunk/; revision=11551
2004-11-06 10:10:02 +00:00
Alex Ionescu
8cb1d77efd Reimplimented IO Timers correctly.
svn path=/trunk/; revision=11550
2004-11-06 04:12:59 +00:00
Thomas Bluemel
caa0346413 fixed return value of GetProcessImageFileNameA/W()
svn path=/trunk/; revision=11549
2004-11-06 01:43:59 +00:00
Thomas Bluemel
3b90d19697 1. fixed field names of the SYSTEM_PAGEFILE_INFORMATION structure
2. implemented EnumPageFilesA/W()

svn path=/trunk/; revision=11548
2004-11-06 01:42:04 +00:00
Thomas Bluemel
6903fc73af implemented GetProcessImageFileNameA/W()
svn path=/trunk/; revision=11547
2004-11-05 23:53:06 +00:00
Thomas Bluemel
2b4a515e61 fixed typo
svn path=/trunk/; revision=11546
2004-11-05 22:47:02 +00:00
Thomas Bluemel
2296e99d56 1. export all psapi stubs
2. added missing psapi declarations to w32api

svn path=/trunk/; revision=11545
2004-11-05 22:36:36 +00:00
Eric Kohl
e339d82c69 Read time zone information from registry at startup.
svn path=/trunk/; revision=11544
2004-11-05 17:42:20 +00:00
Thomas Bluemel
8655dad649 no need to reference the job object pointer in NtIsProcessInJob()
svn path=/trunk/; revision=11543
2004-11-05 13:30:18 +00:00
Eric Kohl
8ee82ee7cc Use ASSERT() instead of assert().
svn path=/trunk/; revision=11542
2004-11-05 12:28:19 +00:00
Thomas Bluemel
2d115eb645 pass lstrcpynW() the maximum number of characters, not bytes
svn path=/trunk/; revision=11541
2004-11-05 11:51:18 +00:00
Eric Kohl
6388bdc46c - Time zone combobox must have CBS_DROPDOWNLIST style.
- Select and install time zone information.

svn path=/trunk/; revision=11540
2004-11-05 11:48:45 +00:00
Eric Kohl
e24dc12954 Make sure that NtSetSystemTime won't crash if the new systen time is NULL.
svn path=/trunk/; revision=11539
2004-11-05 11:46:02 +00:00
Eric Kohl
c37b036361 Add some timezone information.
svn path=/trunk/; revision=11538
2004-11-05 11:44:38 +00:00
Thomas Bluemel
7ae4dcc791 epsapi.a doesn't exist anymore...
svn path=/trunk/; revision=11537
2004-11-04 22:14:41 +00:00
Gé van Geldorp
e838464040 TimeOut < 0 means not set yet, so we need a signed type to store that
svn path=/trunk/; revision=11536
2004-11-04 13:44:18 +00:00
Thomas Bluemel
1fe7b789a1 merged epsapi into psapi and reformatted some code to make it readable
svn path=/trunk/; revision=11535
2004-11-03 22:43:00 +00:00
Gé van Geldorp
65184e9a08 bootcd and livecd want cards.dll, so build it by default
svn path=/trunk/; revision=11534
2004-11-03 20:12:59 +00:00
Thomas Bluemel
a3901ae581 1. reformatted the code so human beings can read it
2. enabled precompiled headers

svn path=/trunk/; revision=11533
2004-11-02 23:42:49 +00:00
Martin Fuchs
f99b2df6d1 Design Shell About dialog more Windows-like (Klemens Friedl <frik85@hotmail.com>)
svn path=/trunk/; revision=11532
2004-11-02 23:11:37 +00:00
Thomas Bluemel
de6c4c8cb3 1. get rid of InternalGetProcessId()
2. Implemented GetProcessIdOfThread() and GetThreadId()

svn path=/trunk/; revision=11531
2004-11-02 21:51:25 +00:00
Thomas Bluemel
91ae432126 use ReadConsoleInputW() for unicode builds
svn path=/trunk/; revision=11530
2004-11-02 20:47:05 +00:00
Thomas Bluemel
c524730883 1. Implemented WriteConsoleW(), ReadConsoleW(), FillConsoleOutputCharacterW(), WriteConsoleInputW(), ReadConsoleOutputCharacterW(), ScrollConsoleScreenBufferW()
2. added stub for SetThreadUILanguage()
This get's XP's cmd.exe to start (unfortunately it exits for some reason after one hits the enter key).

svn path=/trunk/; revision=11529
2004-11-02 20:42:06 +00:00
Gé van Geldorp
f9029e5cd8 Generate stub functions from .spec file
svn path=/trunk/; revision=11528
2004-11-02 19:47:18 +00:00
Gé van Geldorp
5e46da95f8 windres 2.15.90 20040222 doesn't like the empty string on COMBOBOXes
svn path=/trunk/; revision=11527
2004-11-02 19:28:17 +00:00
Eric Kohl
983347820f Add the 'Date and Time' page.
Selecting a timezone does not work yet.

svn path=/trunk/; revision=11526
2004-11-02 15:42:09 +00:00
Alex Ionescu
7d6071de5d Fix Mailslot and Named Pipe Drivers
svn path=/trunk/; revision=11525
2004-11-01 22:54:24 +00:00
Gé van Geldorp
a10211cdc2 Add ability to be loaded as "multiboot kernel" from other multiboot loaders
svn path=/trunk/; revision=11524
2004-11-01 20:49:32 +00:00
Hartmut Birr
3ec6acd622 - Fixed KeGetCurrentThread for mp machines.
- Initialized the idle thread for application processors earlier.

svn path=/trunk/; revision=11523
2004-11-01 19:10:07 +00:00
Hartmut Birr
128ff94899 - Initialized the fpu of an application processor.
svn path=/trunk/; revision=11522
2004-11-01 19:03:26 +00:00
Hartmut Birr
f23530ddc9 - Changed/rewrote parts of the mp code to get my ASUS p2b-ds motherboard to working.
svn path=/trunk/; revision=11521
2004-11-01 19:01:25 +00:00
Hartmut Birr
3edce321a2 - Share the irq/irql/vector definitions between ntoskrnl and hal.
- Changed the handling of interrupts for uniprocessor machines from irqs to interrupt vectors.

svn path=/trunk/; revision=11520
2004-11-01 14:37:19 +00:00
Filip Navara
c8583d9809 - Use common KiInterruptDispatch2 function for both UP and MP kernels.
svn path=/trunk/; revision=11519
2004-10-31 23:57:15 +00:00
Alex Ionescu
a30fcc1117 Fix deleted line.
svn path=/trunk/; revision=11518
2004-10-31 23:49:33 +00:00
Alex Ionescu
7cc191567e Mailslot/Named Pipe structures.
svn path=/trunk/; revision=11517
2004-10-31 23:40:10 +00:00
Alex Ionescu
e24de43a0b cleanup.c: Fix typo
Fix Named Pipe and Mailslot Creation Implementation.

svn path=/trunk/; revision=11516
2004-10-31 23:00:41 +00:00
Alex Ionescu
47cef79cec Use proper IRP structure
svn path=/trunk/; revision=11515
2004-10-31 22:21:41 +00:00
Filip Navara
129c75c64d - Call KiDispatchInterrupt only if DPC software interrupt was requested. (TODO: The same should be done for APCs.)
- Request DPC/APC software interrupts where we should.
- Fix condition in KeUpdateRunTime to allow switching thread early in the boot.
- Set default thread quantum for system process.

svn path=/trunk/; revision=11514
2004-10-31 21:22:06 +00:00
Emanuele Aliberti
1ffec948ad Guarded mutex (no code and off makefile).
svn path=/trunk/; revision=11513
2004-10-31 21:21:14 +00:00
Emanuele Aliberti
5f451aa443 Normalize private symbols in LPC, plus minor changes/adds.
svn path=/trunk/; revision=11512
2004-10-31 20:27:08 +00:00
Emanuele Aliberti
430b802b99 Modular resource script for POSIX+ terminal emulator in W32.
svn path=/trunk/; revision=11511
2004-10-31 20:11:09 +00:00
Eric Kohl
8c1d092798 Code clean-up.
svn path=/trunk/; revision=11510
2004-10-31 19:46:10 +00:00
Thomas Bluemel
9bb9d462ba fixed typo
svn path=/trunk/; revision=11509
2004-10-31 19:24:31 +00:00
Hartmut Birr
0e80529be4 - Fixed the definition of KeGetCurrentKPCR.
svn path=/trunk/; revision=11508
2004-10-31 17:05:50 +00:00
Hartmut Birr
cb919902cb - Implemented KeSetTargetProcessorDpc.
- Fixed KeInsertQueueDpc and KeRemoveQueueDpc for mp machines.

svn path=/trunk/; revision=11507
2004-10-31 17:02:31 +00:00
Thomas Bluemel
0a216b2be5 German RC-File for sysdm and timedate and a few change in the Englich RC-File. Patch by Michael Fritscher
svn path=/trunk/; revision=11506
2004-10-31 16:24:31 +00:00
Filip Navara
9b10ed5a9a - Synchronize HalDisplayString using spinlocks at HIGH_LEVEL.
svn path=/trunk/; revision=11505
2004-10-31 15:56:20 +00:00
Hartmut Birr
a3278967c6 - Dpc's must be always deliver before a thread switch can start.
svn path=/trunk/; revision=11504
2004-10-31 15:31:40 +00:00
Hartmut Birr
7287eafc08 - The quantum of the idle thread must also end.
svn path=/trunk/; revision=11503
2004-10-31 15:24:06 +00:00
Hartmut Birr
914140ad22 - Queried some values from pcr at DISPATCH_LEVEL to prevent from changing the processor after a thread switch.
- Changed from bx to dx within inline assembler, because the ebx register must be saved.

svn path=/trunk/; revision=11502
2004-10-31 14:02:20 +00:00
Hartmut Birr
0ca2950639 - Initialize the pcr for an application processor before it is booted.
- Initialize the dpc implementation for the boot processor earlier.

svn path=/trunk/; revision=11501
2004-10-31 13:20:58 +00:00
Hartmut Birr
780bd8e919 - Removed PiApcLock, because apc's are thread local and not global.
svn path=/trunk/; revision=11500
2004-10-31 13:01:04 +00:00
Hartmut Birr
67b8ce4f3b - Save/initialize/restore the gs register on interrupt begin/return.
svn path=/trunk/; revision=11499
2004-10-31 12:49:37 +00:00
Eric Kohl
d81bcce9de Install new inf files and control panel applications.
svn path=/trunk/; revision=11498
2004-10-31 11:56:26 +00:00
Eric Kohl
e90523893c - Define a unique base address for each control panel application.
- Use the W32API.

svn path=/trunk/; revision=11497
2004-10-31 11:54:58 +00:00
Eric Kohl
39a395e1f1 Define a unique base address for each control panel application.
svn path=/trunk/; revision=11496
2004-10-31 11:54:22 +00:00
Eric Kohl
ee001b7a4d Add SCSI device class installer inf file and global layout file.
svn path=/trunk/; revision=11495
2004-10-31 11:49:33 +00:00
James Tabor
2b7e477fd0 Added missing header info for helping to compile msi.dll
svn path=/trunk/; revision=11494
2004-10-31 02:19:52 +00:00
Thomas Bluemel
8301eaaa24 fixed memory leak in CheckNameLegalDOS8Dot3A() (free the allocated unicode string)
svn path=/trunk/; revision=11493
2004-10-31 01:36:37 +00:00
Thomas Bluemel
f33c6e48c8 implemented InitializeProcessForWsWatch() and GetWsChanges()
svn path=/trunk/; revision=11492
2004-10-31 01:23:05 +00:00
Thomas Bluemel
0e568c5b9f fixed a comment
svn path=/trunk/; revision=11491
2004-10-31 00:14:18 +00:00
Thomas Bluemel
b298e3ec15 removed obsolete debug output
svn path=/trunk/; revision=11490
2004-10-31 00:09:12 +00:00
Thomas Bluemel
0a1dce4016 implemented Heap32ListFirst(), Heap32ListNext(), Module32First(), Module32FirstW(), Module32Next(), Module32NextW(), Process32First(), Process32FirstW(), Process32Next(), Process32NextW(), Thread32First(), Thread32Next(), Toolhelp32ReadProcessMemory() and CreateToolhelp32Snapshot().
Currently only the flags TH32CS_SNAPPROCESS, TH32CS_SNAPTHREAD and TH32CS_INHERIT are supported, snapshots of heaps and modules are not fully implemented yet.

svn path=/trunk/; revision=11489
2004-10-31 00:04:19 +00:00
Filip Navara
095f2900e8 - Change ULONG to ULONG_PTR for StackLimit.
- Move code from KiUpdateSystemTime to KeUpdateSystemTime.
- Move code from KiUpdateProcessThreadTime to KeUpdateRunTime.
- Honour thread quantums while scheduling.

svn path=/trunk/; revision=11488
2004-10-30 23:48:57 +00:00
Thomas Bluemel
75d9d45c27 avoid overlaps of kernel32 and ntdll when kernel32 gets too big. Thanks to Filip for pointing this out.
svn path=/trunk/; revision=11487
2004-10-30 22:57:05 +00:00
Thomas Bluemel
1c2597f8e9 added a few missing structures and some janitory work
svn path=/trunk/; revision=11486
2004-10-30 22:18:17 +00:00
Martin Fuchs
53f429e243 adjust WINE specific texts for ReactOS (Klemens Friedl <frik85@hotmail.com>)
svn path=/trunk/; revision=11485
2004-10-30 21:28:19 +00:00
Martin Fuchs
0775105df6 adjust about dialog to ROS font sizes (Klemens Friedl <frik85@hotmail.com>)
svn path=/trunk/; revision=11484
2004-10-30 20:23:59 +00:00
Filip Navara
12143ef1ae - Allow 0x80 to be a BIOS assigned drive number for CD-ROM.
svn path=/trunk/; revision=11483
2004-10-30 19:32:29 +00:00
Eric Kohl
6f9c0194f4 Add Date/Time control panel application.
svn path=/trunk/; revision=11482
2004-10-30 19:16:20 +00:00
Eric Kohl
10e480947b Use W32API.
svn path=/trunk/; revision=11481
2004-10-30 19:14:22 +00:00
Casper Hornstrup
d0c462bb30 - Print stack frames on crashes.
- Users should report errors to ros-dev@reactos.com.

svn path=/trunk/; revision=11480
2004-10-30 17:25:38 +00:00
Alex Ionescu
1acbbc2ca0 Fix some values.
svn path=/trunk/; revision=11479
2004-10-30 16:07:46 +00:00
Filip Navara
0ca74773d6 - Make InitializeListHead, InsertHeadList, InsertTailList and
RemoveEntryList an inline functions instead of macros to match DDK.
  It's important because using macros can lead to variable name
  conflicts.
- Make PopEntryList, PushEntryList a macro instead of inline function
  (to match DDK).
- RemoveEntryList, RemoveHeadList and RemoveTailList shouldn't zero
  Blink and Flink of the removed entry. The MS documentation is wrong
  and there has been already submitted an official bug report for that.

svn path=/trunk/; revision=11478
2004-10-30 14:02:04 +00:00
Filip Navara
f9f887791c - Use KfAcquireSpinLock/KfReleaseSpinLock instead of KiAcquireSpinLock/KiReleaseSpinLock.
svn path=/trunk/; revision=11477
2004-10-30 13:30:03 +00:00
Eric Kohl
26be094c41 Add ability to start individual control panel applications.
svn path=/trunk/; revision=11476
2004-10-30 12:38:52 +00:00
Eric Kohl
7b61512539 Build new control panel applications.
svn path=/trunk/; revision=11475
2004-10-30 12:37:02 +00:00
Eric Kohl
92ac842d73 Add Keyboard and Mouse (Main) control panel application.
svn path=/trunk/; revision=11474
2004-10-30 12:36:14 +00:00
Eric Kohl
b2a213a80c Add Regional Options (Intl) control panel application.
svn path=/trunk/; revision=11473
2004-10-30 12:33:51 +00:00
Casper Hornstrup
ab2c6fba8b - Support FULL_MAP command line option.
- Allow DEBUG to be set on command line.

svn path=/trunk/; revision=11472
2004-10-30 11:19:45 +00:00
Eric Kohl
b0a01fd7b7 Sort control panels by name.
svn path=/trunk/; revision=11471
2004-10-29 16:59:16 +00:00
Casper Hornstrup
7c19997893 2004-10-29 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/include/internal/test.h (NtLockVirtualMemoryInternal): Rename
	to MiLockVirtualMemory.
	* ntoskrnl/include/internal/test.h: Update.
	* ntoskrnl/tests/tests/VirtualMemory.c: Update.

svn path=/trunk/; revision=11470
2004-10-29 16:48:10 +00:00
Eric Kohl
f776678f2d - Support control panel applications that provide more than one control panel.
- Clean-up to improve readability.

svn path=/trunk/; revision=11468
2004-10-29 12:27:58 +00:00
Filip Navara
d338969f54 - Remove duplicate definition of RTL_RANGE_LIST_SHARED_OK and
RTL_RANGE_LIST_NULL_CONFLICT_OK.
- Fix declaration of PRTL_CONFLICT_RANGE_CALLBACK.

svn path=/trunk/; revision=11467
2004-10-28 21:41:58 +00:00
Casper Hornstrup
e89808b094 2004-10-28 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/tcpip/tests/setup.c: Include windows.h.
	* lib/gdiplus/tests/setup.c: Ditto.
	* lib/kernel32/tests/setup.c: Ditto.
	* lib/ws2_32/tests/setup.c: Ditto.
	* subsys/win32k/tests/setup.c: Ditto.
	* ntoskrnl/tests/setup.c: Ditto.
	* ntoskrnl/include/ntoskrnl.h: Include test.h.
	* ntoskrnl/mm/virtual.c (NtLockVirtualMemoryInternal): New function.
	(NtLockVirtualMemory): Use NtLockVirtualMemoryInternal.
	* ntoskrnl/tests/Makefile (TARGET_CFLAGS): Add -I../include.
	* ntoskrnl/tests/stubs.tst: Remove stubs for functions in libgcc.
	* regtests/shared/regtests.h: Make independent of windows.h.
	* tools/helper.mk (run): Link with libgcc.
	* tools/regtests.c (EXESTUB): Include windows.h.
	* ntoskrnl/include/internal/test.h: New file.
	* ntoskrnl/tests/tests/VirtualMemory.c: Ditto.

svn path=/trunk/; revision=11466
2004-10-28 19:01:59 +00:00
Filip Navara
497ef5e058 - Define IoReleaseRemoveLock.
- Fix definiton of IoReleaseRemoveLockAndWait.

svn path=/trunk/; revision=11465
2004-10-27 21:36:19 +00:00
Gregor Anich
8c57ab6af9 Added KdbpSafeRead/WriteMemory macros (translated into MmSafeCopyFrom/ToUser) and made KDB use them for accessing unsafe memory - should prevent it from crashing.
svn path=/trunk/; revision=11464
2004-10-27 13:33:59 +00:00
Eric Kohl
9accaf0d0e DrawStatusText() must not process prefix characters.
svn path=/trunk/; revision=11463
2004-10-26 13:15:06 +00:00
Eric Kohl
2e1e51f902 Pressing ENTER when a value is selected in the listview will open the edit dialog.
svn path=/trunk/; revision=11462
2004-10-26 11:05:49 +00:00
Eric Kohl
4daf602867 Use FileHeader->SizeOfOptionalHeader instead of sizeof(IMAGE_OPTIONAL_HEADER) as the real size of the optional header.
svn path=/trunk/; revision=11461
2004-10-26 10:56:38 +00:00
Gregor Anich
d85e7ec614 Fixed debug build
svn path=/trunk/; revision=11457
2004-10-25 14:22:21 +00:00
Thomas Bluemel
0402fbbd25 more prototype fixes
svn path=/trunk/; revision=11422
2004-10-24 20:37:27 +00:00
Casper Hornstrup
b69a77aa97 2004-10-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/Makefile (TARGET_REGTESTS): Define to yes.
	* regtests/regtests/regtests.c (_ExitProcess): Declare.
	* regtests/regtests/regtests.def (_ExitProcess@4): Ditto.
	* regtests/shared/regtests.h (_ExitProcess): Ditto.
	* tools/regtests.c: Exit process using _ExitProcess();
	Properly support fastcall symbols.
	* ntoskrnl/tests: New directory.
	* ntoskrnl/tests/tests: Ditto.
	* ntoskrnl/tests/.cvsignore: New file.
	* ntoskrnl/tests/Makefile: Ditto.
	* ntoskrnl/tests/setup.c: Ditto.
	* ntoskrnl/tests/stubs.tst: Ditto.
	* ntoskrnl/tests/tests/.cvsignore: Ditto.

svn path=/trunk/; revision=11420
2004-10-24 17:51:29 +00:00
Thomas Bluemel
1dbfd30e1e fixed prototypes of NtCreateProfile() and NtQueryIntervalProfile()
svn path=/trunk/; revision=11419
2004-10-24 17:14:27 +00:00
Thomas Bluemel
b4e530e530 fixed prototypes of NtCreateMutant(), NtQueryMutant(), NtQuerySemaphore(), NtQueryTimer(), NtReleaseMutant(), NtReleaseSemaphore(), NtSetTimerResolution() and NtSetTimer()
svn path=/trunk/; revision=11418
2004-10-24 16:49:49 +00:00
Thomas Bluemel
4a6dd7de44 fixed prototypes of NtSetEvent(), NtResetEvent(), NtQueryEvent(), NtPulseEvent(), NtOpenEvent() and NtCreateEvent()
svn path=/trunk/; revision=11417
2004-10-24 15:26:14 +00:00
Thomas Bluemel
4bd798e343 added some base addresses to the list
svn path=/trunk/; revision=11416
2004-10-24 13:05:53 +00:00
Thomas Bluemel
cb1bf2ae32 minor fixes
svn path=/trunk/; revision=11415
2004-10-24 12:55:19 +00:00
Casper Hornstrup
6003c5cb06 2004-10-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
* config (REGRESSIONTESTS): Remove.
	* tools/config.mk: Update.
	* lib/kernel32/misc/dllmain.c: Update.
	* drivers/net/tcpip/tests/Makefile (TARGET_OBJECTS): Add setup.o.
	* lib/gdiplus/tests/Makefile (TARGET_OBJECTS): Ditto.
	* lib/kernel32/tests/Makefile (TARGET_OBJECTS): Ditto.
	* lib/ws2_32/tests/Makefile (TARGET_OBJECTS): Ditto.
	* subsys/win32k/tests/makefile (TARGET_OBJECTS): Ditto.
	* regtests/shared/regtests.h (SetupOnce, _SetupOnce): Declare.
	(DISPATCHER): Rename to _Dispatcher.
	* lib/gdiplus/tests/tests/test-1.c: Update.
	* lib/kernel32/tests/tests/CreateFile.c: Ditto.
	* lib/ws2_32/tests/tests/WinsockEvent.c: Ditto.
	* subsys/win32k/tests/tests/eng-mem-1.c: Ditto.
	* tools/helper.mk: Be quiet when building tests.
	* tools/regtests.c: Remove unused code.
	* drivers/net/tcpip/tests/setup.c: New file.
	* lib/gdiplus/tests/setup.c: Ditto.
	* lib/kernel32/tests/setup.c: Ditto.
	* lib/ws2_32/tests/setup.c: Ditto.
	* subsys/win32k/tests/setup.c: Ditto.

svn path=/trunk/; revision=11414
2004-10-24 12:39:54 +00:00
Thomas Bluemel
40851010a8 minor fixes
svn path=/trunk/; revision=11413
2004-10-24 12:36:12 +00:00
Thomas Bluemel
565f4d669b minor fixes
svn path=/trunk/; revision=11412
2004-10-24 12:26:27 +00:00
Thomas Bluemel
0dd86887a1 minor fixes
svn path=/trunk/; revision=11411
2004-10-24 12:16:54 +00:00
Eric Kohl
f443b5edcf Set processor features in the shared user page.
This fixes bug #387.

svn path=/trunk/; revision=11410
2004-10-24 12:00:01 +00:00
Filip Navara
baac7ae72e - Return STATUS_SUCCESS for PCI bus PDO PnP IRPs so that function drivers can process them.
svn path=/trunk/; revision=11409
2004-10-24 09:14:03 +00:00
Filip Navara
b02b780b4a - Return STATUS_SUCCESS for root bus PDO PnP IRPs so that function drivers can process them.
svn path=/trunk/; revision=11408
2004-10-24 09:13:18 +00:00
Alex Ionescu
cad7a781f2 Fixed up some HAL prototypes and fixed some header problems in regards to upcoming DMA patch I will commit tomorrow.
svn path=/trunk/; revision=11407
2004-10-23 23:43:23 +00:00
Casper Hornstrup
eae828b789 2004-10-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Support regtests_implib.
	* rules.mak (REGTESTS_PATH): Define.
	* drivers/net/tcpip/makefile (TARGET_BUILDENV_TEST): Remove.
	* drivers/net/tcpip/tests/Makefile: Update.
	* lib/gdiplus/tests/.cvsignore: Ditto.
	* lib/gdiplus/tests/Makefile: Ditto.
	* lib/kernel32/tests/Makefile: Ditto.
	* lib/kernel32/tests/stubs.tst (HeapAlloc, HeapFree): Add.
	* lib/ws2_32/makefile (TARGET_REGTESTS): Define to yes.
	* regtests/Makefile: Update.
 	* regtests/shared/regtests.c (_alloca): Define.
	(FrameworkGetHook): Move to here.
 	* regtests/shared/regtests.h (_AssertTrue, _AssertFalse): Define.
 	(_GetModuleHandleA, _GetProcAddress, _LoadLibraryA): Define.
 	(FrameworkGetExportedFunctionNameInternal): Define.
 	* subsys/win32k/tests/makefile: Update.
 	* tools/helper.mk: Create dependencies.
 	* tools/regtests.c: Move FrameworkGetHook; Support forwarded exports.
	* lib/ws2_32/tests: New directory.
	* lib/ws2_32/tests/.cvsignore: New file.
	* lib/ws2_32/tests/Makefile: Ditto.
	* lib/ws2_32/tests/stubs.tst: Ditto.
	* lib/ws2_32/tests/tests: New directory.
	* lib/ws2_32/tests/tests/.cvsignore: New file.
	* lib/ws2_32/tests/tests/WinsockEvent.c: New file.
	* regtests/regtests: New directory.
	* regtests/regtests/.cvsignore: New file.
	* regtests/regtests/Makefile: Ditto.
	* regtests/regtests/regtests.c: Ditto.
	* regtests/regtests/regtests.def: Ditto.

svn path=/trunk/; revision=11406
2004-10-23 21:05:12 +00:00
Gé van Geldorp
825e1dc162 Take DC origin into account
svn path=/trunk/; revision=11405
2004-10-23 19:17:54 +00:00
Filip Navara
985184b134 - Add _hooks.c and _stubs.S to list of ignore files.
svn path=/trunk/; revision=11404
2004-10-23 17:39:51 +00:00
Filip Navara
1b13f5b90b - Minor device node fixes.
svn path=/trunk/; revision=11402
2004-10-23 17:32:51 +00:00
Thomas Bluemel
9c06590d72 finally get rid of loadros
svn path=/trunk/; revision=11401
2004-10-23 17:07:07 +00:00
Gregor Anich
7e179dae1f Fixed debug build
svn path=/trunk/; revision=11400
2004-10-23 15:17:35 +00:00
Gregor Anich
fcfc4f85d1 Fixed debug build, uncommented NDEBUG in io/pnpmgr.c
svn path=/trunk/; revision=11399
2004-10-23 14:52:51 +00:00
Eric Kohl
dbc9b1b7dd Update DEVICE_NODE structure but some ReactOS specific components still remain.
svn path=/trunk/; revision=11398
2004-10-23 14:48:16 +00:00
Gé van Geldorp
f0497fdefd InProcServer32 entries only take a DLL name, no resource identifier
svn path=/trunk/; revision=11397
2004-10-23 13:10:57 +00:00
Filip Navara
b5e5b4f012 - Add declarations for the PnP arbiter and resource translation interfaces (ARBITER_REQUEST_SOURCE, ARBITER_RESULT, ARBITER_ACTION, ARBITER_CONFLICT_INFO, ARBITER_PARAMETERS, ARBITER_LIST_ENTRY, PARBITER_HANDLER, ARBITER_INTERFACE, RESOURCE_TRANSLATION_DIRECTION, PTRANSLATE_RESOURCE_HANDLER, PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER, TRANSLATOR_INTERFACE).
svn path=/trunk/; revision=11396
2004-10-23 08:10:57 +00:00
Thomas Bluemel
75009fd35f hopefully a better implementation of rundown protections, thanks also to Alex.
svn path=/trunk/; revision=11395
2004-10-22 22:49:00 +00:00
Thomas Bluemel
1270089c9f fixed redefinition of ASSERT
svn path=/trunk/; revision=11394
2004-10-22 21:21:52 +00:00
Eric Kohl
2a175cb990 Use upper-case ASSERT macros.
svn path=/trunk/; revision=11393
2004-10-22 20:57:39 +00:00
Eric Kohl
92239abf04 IoAdjustPagingPathCount is a macro.
svn path=/trunk/; revision=11392
2004-10-22 20:54:57 +00:00
Filip Navara
9fb531fab6 - Check for DeviceNode->CapabilityFlags being NULL before trying to access it.
svn path=/trunk/; revision=11391
2004-10-22 20:44:48 +00:00
Eric Kohl
b1a58d7d7e Use upper-case ASSERT macros.
svn path=/trunk/; revision=11390
2004-10-22 20:43:58 +00:00
Eric Kohl
9e01875f9c Use upper-case ASSERT macros.
svn path=/trunk/; revision=11389
2004-10-22 20:19:58 +00:00
Eric Kohl
8c62a8159a Use ASSERT macro instead of assert macro.
svn path=/trunk/; revision=11388
2004-10-22 20:08:22 +00:00
Filip Navara
e49ebc81df - Fix uninitialized variable warning in KeFlushEntireTb.
svn path=/trunk/; revision=11387
2004-10-22 20:07:13 +00:00
Eric Kohl
1e9ad342c8 Define ASSERT macro.
svn path=/trunk/; revision=11386
2004-10-22 20:04:05 +00:00
Eric Kohl
72aae9d8ca Define ASSERT and ASSERTMSG macros.
svn path=/trunk/; revision=11385
2004-10-22 20:02:32 +00:00
Filip Navara
ce60fe1bee - Add the afiler.h (ARC MAC filter) and wdmguid.h (GUIDs for buses, device events, ...) headers.
svn path=/trunk/; revision=11383
2004-10-22 19:35:19 +00:00
Filip Navara
3d8c71fce1 - Define the PLUGPLAY_REGKEY_* flags.
svn path=/trunk/; revision=11382
2004-10-22 19:29:44 +00:00
Filip Navara
6b8a09e4a4 - Support the BINARY_COMPATIBLE compile definition.
- Declare NDIS_PROCESSOR_TYPE and NDIS_ENVIRONMENT_TYPE.

svn path=/trunk/; revision=11381
2004-10-22 19:29:28 +00:00
Eric Kohl
ca8388ad0c Fix a debug message
svn path=/trunk/; revision=11380
2004-10-22 18:34:11 +00:00
Filip Navara
0214f20262 - Fix RtlIsRangeAvailable for boundary addresses and honour the RTL_RANGE_SHARED flag.
svn path=/trunk/; revision=11379
2004-10-22 16:30:58 +00:00
Filip Navara
ec9c488f06 - Fix a case when a device with same IDs is located on two or more buses in the same slot (honour bus number in FdoLocateChildDevice).
- Read only the common PCI header and not private device data while enumerating.

svn path=/trunk/; revision=11378
2004-10-22 16:30:46 +00:00
Eric Kohl
c647cbd575 - Remove obsolete variables from the DEVICE_NODE structure and store it in the registry instead.
- IoGetDeviceProperty() supports more properties (untested).

svn path=/trunk/; revision=11377
2004-10-22 11:00:41 +00:00
Eric Kohl
2461583881 - Remove obsolete variables from the DEVICE_NODE structure and store it in the registry instead.
- IoGetDeviceProperty() supports more properties (untested).

svn path=/trunk/; revision=11376
2004-10-22 10:55:35 +00:00
Gé van Geldorp
b3e27217fd - Don't double-quote an already double-quoted argument
- Properly increment the fmt pointer

svn path=/trunk/; revision=11375
2004-10-21 18:30:36 +00:00
Thomas Bluemel
69b98bb582 fixed a comment
svn path=/trunk/; revision=11374
2004-10-21 18:28:05 +00:00
Art Yerkes
8238df107b Corrected build problem: hal.a was not placed in the ddk implib
directory.

svn path=/trunk/; revision=11373
2004-10-21 18:04:48 +00:00
Steven Edwards
4cd92d7bd7 Thats it. the tests are now in rosapps.
svn path=/trunk/; revision=11372
2004-10-21 12:05:13 +00:00
Gé van Geldorp
2ecd28627f Put back -D__REACTOS__ for now
svn path=/trunk/; revision=11371
2004-10-21 12:02:18 +00:00
Steven Edwards
24617fc41e Almost done removing old tests
svn path=/trunk/; revision=11370
2004-10-21 11:58:12 +00:00
Gé van Geldorp
d8a803d10b Better drawing of +/- boxes at smaller icon sizes
svn path=/trunk/; revision=11369
2004-10-21 08:38:36 +00:00
Steven Edwards
2d23921220 I'll finish in the morning......
svn path=/trunk/; revision=11368
2004-10-21 05:30:46 +00:00
Steven Edwards
2b58d249c6 Started removing tests
svn path=/trunk/; revision=11367
2004-10-21 05:27:50 +00:00
Steven Edwards
75fbd2832d Added regexpl and tests to the makefile.
Let me know if something is broken on linux.

svn path=/trunk/; revision=11366
2004-10-21 05:20:52 +00:00
Steven Edwards
005fb790e6 Re-enable almost all tests.
svn path=/trunk/; revision=11365
2004-10-21 05:20:21 +00:00
Steven Edwards
10a923d083 Moving tests....Almost done.
svn path=/trunk/; revision=11364
2004-10-21 05:12:02 +00:00
Steven Edwards
4ed7672428 Remove tests from the Main Makefile.
svn path=/trunk/; revision=11363
2004-10-21 05:08:32 +00:00
Steven Edwards
5368a4c682 Moving the tests.....still more....
svn path=/trunk/; revision=11362
2004-10-21 04:59:01 +00:00
Steven Edwards
e1c8dd64af Moving the tests.....more
svn path=/trunk/; revision=11361
2004-10-21 04:53:21 +00:00
Steven Edwards
dbf0e6e889 Moving the tests
svn path=/trunk/; revision=11360
2004-10-21 04:48:46 +00:00
Art Yerkes
68d63b431f Added null check for CapabilityFlags.
svn path=/trunk/; revision=11359
2004-10-21 03:39:37 +00:00
Thomas Bluemel
48008b5f19 fixed language code
svn path=/trunk/; revision=11358
2004-10-20 22:41:16 +00:00
Thomas Bluemel
85de1b945e forgot to add these files
svn path=/trunk/; revision=11357
2004-10-20 22:31:05 +00:00
Casper Hornstrup
e1a7bb0d2f 2004-10-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/gdiplus/makefile (TARGET_BUILDENV_TEST): Remove.
	(TARGET_TYPE): Set to test.
	* lib/kernel32/makefile: Ditto.
	* subsys/win32k/makefile: Ditto.
	* tools/helper.mk (TARGET_BUILDENV_TEST): Remove.
	(TARGET_TYPE): New value test.
	* regtests/shared/regtests.c (_Result, _Buffer): Add.
	* regtests/shared/regtests.h (_Result, _Buffer): Declare extern.
	(TestRoutine): Make void return type and remove Buffer parameter.
	(FAIL*): Remove.

svn path=/trunk/; revision=11356
2004-10-20 20:51:21 +00:00
Gé van Geldorp
8139ac2333 Sync to Wine-20041019
svn path=/trunk/; revision=11355
2004-10-20 20:35:58 +00:00
Gé van Geldorp
ef42acd73f Remove global -DCOBJMACROS for winedll's since they #define it themselves
now when needed

svn path=/trunk/; revision=11354
2004-10-20 20:31:36 +00:00
Thomas Bluemel
5df79e4eec disabled mouse tracking should just supress MSG_MOUSE_MOVED - all other mouse messages are supposed to be dispatched.
svn path=/trunk/; revision=11353
2004-10-20 19:19:12 +00:00
Gé van Geldorp
ab895b1d38 Update status
svn path=/trunk/; revision=11352
2004-10-20 18:33:05 +00:00
Gé van Geldorp
b16df368f7 Sync to Wine-20041019
svn path=/trunk/; revision=11350
2004-10-20 18:30:39 +00:00
Gé van Geldorp
1b613704b0 Sync to Wine-20041019:
Vincent Beron <vberon@mecano.gme.usherb.ca>
- Fix various function prototypes.
Jeremy White <jwhite@codeweavers.com>
- Revise winmm/time.c to fix timer resolution at 1 ms. This then allows
a much more efficient implementation of timer events and timeGetTime,
and callers that used sub 10 ms resolution will now get correct
results.
Hans Leidekker <hans@it.vu.nl>
- Fix signed/unsigned comparison warnings.
Eric Pouech <pouech-eric@wanadoo.fr>
- bring the multimedia doc up-to-date
- moved the TODO from the doc into the code

svn path=/trunk/; revision=11349
2004-10-20 17:42:11 +00:00
Gé van Geldorp
c333fa4ed1 Sync to Wine-20041019:
Francois Gouget <fgouget@free.fr>
- Don't define COBJMACROS in objbase.h.
- Update the Wine sources accordingly.
Robert Shearman <rob@codeweavers.com>
- Don't define GWL_USERDATA, GWL_ID, GWL_HWNDPARENT, GWL_HINSTANCE and
GWL_WNDPROC when compiling the Wine source.
Mike McCormack <mike@codeweavers.com>
- Fix some -Wsigned-compare warnings.
Huw Davies <huw@codeweavers.com>
- Rewrite PathCreateFromUrl.
- Implement PathSearchAndQualify.
- Fix UrlUnescapeW.
- PathIsURL should return TRUE even if a scheme is unknown.
- UrlEscape has different rules depending on the protocol.
- Added a load of tests.
- ParseURL is now documented, so move it into shlwapi.h.
Bill Medland <billmedland@mercuryspeed.com>
- Fix SHDeleteKey so that it will handle deleting a key with more than
one subkey.  Also includes test.
Steven Edwards <steven_ed4153@yahoo.com>
- Move URL_SCHEME typedef to match PSDK.

svn path=/trunk/; revision=11348
2004-10-20 16:49:27 +00:00
Gé van Geldorp
4667670c9e Simplify wine/shlwapi.h
svn path=/trunk/; revision=11347
2004-10-20 16:20:22 +00:00
Gé van Geldorp
dc9f9834d9 Sync to Wine-20041019:
Mike McCormack <mike@codeweavers.com>
- Add stub implementation for CreateProxyFromTypeInfo.
Francois Gouget <fgouget@free.fr>
- Don't define COBJMACROS in objbase.h.
- Update the Wine sources accordingly.
Vincent Beron <vberon@mecano.gme.usherb.ca>
- Fix various function prototypes.
Hans Leidekker <hans@it.vu.nl>
- Fix signed/unsigned comparison warnings.

svn path=/trunk/; revision=11346
2004-10-20 09:38:15 +00:00
Gé van Geldorp
65e1445718 Hans Leidekker <hans@it.vu.nl>
- Fix signed/unsigned comparison warnings.

svn path=/trunk/; revision=11345
2004-10-20 09:32:11 +00:00
Gé van Geldorp
bf5400ab2a Sync to Wine-20041019:
Alexandre Julliard <julliard@winehq.org>
- Build the .h files from their idl source at compile time, and remove
them from CVS.
- Build idl files as part of the normal build process.
- Avoid depending on the non-standard IUnknown_METHODS macro in Wine
internal headers.
Francois Gouget <fgouget@free.fr>
- Don't define COBJMACROS in objbase.h.
- Update the Wine sources accordingly.
- Assorted spelling fixes.
Joris Huizer <jorishuizer@planet.nl>
- Ref count increment/decrement cleanup.
Robert Shearman <rob@codeweavers.com>
- Improve proxy destruction comment.
Mike McCormack <mike@codeweavers.com>
- CoSuspendClassObjects stub implementation.
Vincent Beron <vberon@mecano.gme.usherb.ca
- Fix some types problems.
Hans Leidekker <hans@it.vu.nl>
- Fix signed/unsigned comparison warnings.

svn path=/trunk/; revision=11344
2004-10-20 09:27:43 +00:00
Gé van Geldorp
b48649a01d Jacek Caban <jack@itma.pwr.wroc.pl>
- Added/updated Polish translations.
Robert Shearman <rob@codeweavers.com>
- GetWindowLong -> GetWindowLongPtr.
Vincent Beron <vberon@mecano.gme.usherb.ca>
- Fix various function prototypes.
- Better document some apis in commdlg and mscms.
Francois Gouget <fgouget@free.fr>
- Don't define COBJMACROS in objbase.h.
- Update the Wine sources accordingly.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Constify some statics and make them smaller.
Steven Edwards <steven_ed4153@yahoo.com>
- Remove unneeded include statements.
Dimitrie O. Paun <dpaun@rogers.com>
- Avoid W->A transitions.

svn path=/trunk/; revision=11343
2004-10-20 08:53:06 +00:00
Gé van Geldorp
695f33412e Sync to Wine-20041019:
Dmitry Timoshkov <dmitry@codeweavers.com>
- If an animation is already playing do not restart it.
- Remove WM_CLOSE handler, it leads to a memory corruption later on.
- Do not use GlobalFree for a memory returned by LoadResource.
Robert Shearman <rob@codeweavers.com>
- Implement SetPathWordBreakProc and MirrorIcon.
- Implement ImageList_SetColorTable.
- Implement WS_DISABLED style.
- Issue EN_CHANGE notification.
- Make the control look more like native by using the right font and
  spacing.
- Use TextOutW rather than DrawTextW as we don't use any features of
  DrawTextW.
- Fix caret size and position.
- Implement WM_CHAR and WM_SYSCHAR messages.
- Status update.
- Should create HOTKEY_INFO storage in WM_NCCREATE rather than in
  WM_CREATE so that we can also add the WS_EX_CLIENTEDGE style.
- Remove code that draws the client edge; it is already drawn by
  DefWindowProc.
- Document status of control against v6.0 of native version.
- Don't use TrackMouseEvents/WM_MOUSELEAVE API for handling the hot
  button; use plain mouse capture instead like native.
- Return only HTTRANSPARENT/HTCLIENT from WM_NCHITTEST and remove
  associated hacks of WM_SETCURSOR, WM_NCLBUTTONDOWN and
  WM_NCLBUTTONUP.
- Refactor state change code so that state changes don't happen as
  side effects from messages such as WM_NCCALCSIZE, instead only from
  user input messages like WM_MOUSEMOVE.
- Rebar completeness audit.
- TBN_DELETINGBUTTON sends the command ID, not the index.
- Fill in tbButton structure for TBN_DELETINGBUTTON notification.
- Document TBN_QUERY* sending indices.
- Fix some TRACEs
- More A->W conversions missed by previous patch.
- Fix off-by-one error in validating drag-n-drop from available
  buttons list box to actual buttons list box.
- Unicode flag should be based on the notification window.
- Use Unicode window messages.
- Determine whether to do label edit before sending NM_CLICK.
Francois Gouget <fgouget@free.fr>
- Don't define COBJMACROS in objbase.h.
- Update the Wine sources accordingly.
- Assorted spelling fixes.
Filip Navara <xnavara@volny.cz>
- Implement PSM_INDEXTOID, PSM_INDEXTOPAGE and PSM_PAGETOINDEX messages.
- Partially implement the PSH_WIZARDCONTEXTHELP and PSH_NOCONTEXTHELP
  styles.
- Add note about unimplemented TB_SAVERESTORE message.
- Fix obviously wrong condition in an "if" statement.
Dimitrie O. Paun <dpaun@rogers.com>
- We now have ICC_LINK_CLASS.
- Cleanup W->A transition.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- ImageList_Merge should not fail if indices are bad.
- Add tests for this case, a visible test mode and fix DrawIndirect test
under some native comctl32.dll's.
- Items are variable sized, use an accessor to get at them.
- Combine A/W calls together to remove duplication.
- Don't leak text when removing/changing items.
- Turn off hot tracking when we delete the last item.
- Use the 'delete 1 item' logic when deleting all items.
- Draw +/- correctly for large icon sizes.
- Item height/expand button width must be >= than imagelist size.
- Avoid a magic number, add FIXME for incorrect +/- drawing.
Michael Stefaniuc <mstefani@redhat.com>
- native ImageList_Remove dosn't spit out an error message when
  deleting an index out of range so don't do that either
- add 2 ImageList_Remove tests
Aric Stewart <aric@codeweavers.com>
- Check to make sure PropSheetInfo* is not null before dereferencing it
for some windows messages.
Vitaliy Margolen <wine-patch@kievinfo.com>
- Don't loose last band on insert.
Ge van Geldorp <gvg@reactos.com>
- Pass correct uiParam for SPI_GETNONCLIENTMETRICS.

svn path=/trunk/; revision=11342
2004-10-20 08:36:55 +00:00
Gé van Geldorp
177b871326 Vincent B�ron <vberon@mecano.gme.usherb.ca>
Fix various function prototypes.

svn path=/trunk/; revision=11341
2004-10-20 07:47:39 +00:00
James Tabor
2b473d593e Ported Wine CompareStringA.
svn path=/trunk/; revision=11340
2004-10-20 03:46:27 +00:00
Hartmut Birr
5b5e2d9b00 - Fixed the size calculation of the resource list in IopSetDeviceInstanceData.
svn path=/trunk/; revision=11339
2004-10-19 23:23:04 +00:00
Eric Kohl
91ff1098cb Cosmetical fixes.
svn path=/trunk/; revision=11338
2004-10-19 22:47:38 +00:00
Emanuele Aliberti
8bf1b284bf cvs-ignore compiled resources
svn path=/trunk/; revision=11337
2004-10-19 21:12:42 +00:00
Filip Navara
dc5c114cdd - Fix the values of KeepObject, DeallocateObject and DeallocateObjectKeepRegisters.
svn path=/trunk/; revision=11336
2004-10-19 20:36:52 +00:00
Filip Navara
0d7040d3bb - Successfully complete IRP_MN_START_DEVICE and IRP_MN_STOP_DEVICE so that the drivers lower in the device stack can work.
svn path=/trunk/; revision=11335
2004-10-19 19:39:23 +00:00
Filip Navara
953b49dd54 - Fix various bugs in IoGetDmaAdapter.
- Fill the IoStatus values in the Irp I/O status block in IopInitiatePnpIrp.

svn path=/trunk/; revision=11334
2004-10-19 19:37:45 +00:00
Eric Kohl
cbc7c9eac2 Install class installers.
svn path=/trunk/; revision=11333
2004-10-19 14:33:07 +00:00
Eric Kohl
fe3da89e8e Disable debug messages.
svn path=/trunk/; revision=11332
2004-10-19 14:32:13 +00:00
Eric Kohl
9058842f67 Implement
- SetupDiBuildClassInfoList(ExW)
 - SetupDiClassGuidsFromName(W/ExW),
 - SetupDiClassNameFromGuid(W/ExW)
 - SetupDiGetActualSectionToInstallW
 - SetupDiGetClassDescription(W/ExW)
 - SetupDiInstallClassW partially
 - SetupDiOpenClassRegKey(ExW)
 - SetupOpenMasterInf

Fix compiler warnings.

svn path=/trunk/; revision=11331
2004-10-19 11:19:16 +00:00
Eric Kohl
f8eb27af13 Implement
-  SetupDiBuildClassInfoList(ExW), SetupDiClassGuidsFromName(W/ExW),
 - SetupDiClassNameFromGuid(W/ExW)
 - SetupDiGetActualSectionToInstallW
 - SetupDiGetClassDescription(W/ExW)
 - SetupDiInstallClassW partially
 - SetupDiOpenClassRegKey(ExW)

svn path=/trunk/; revision=11330
2004-10-19 11:13:11 +00:00
Thomas Bluemel
2bcdc488b3 the last parameter of NtQueryInformationProcess() is optional, don't use it when not needed.
svn path=/trunk/; revision=11329
2004-10-19 10:27:11 +00:00
Gé van Geldorp
b35df7844e Rolf Kalbermatter <rolf.kalbermatter@citeng.com>
- Added SHFreeNameMappings implementation.
- Modify ANSI functions to allocate intermediate Unicode strings on the
heap instead of stack.
Mike McCormack <mike@codeweavers.com>
- Convert the shellmenu code to use unicode.

svn path=/trunk/; revision=11328
2004-10-19 10:17:53 +00:00
Gé van Geldorp
b373e014a9 Simplify wine/shellapi.h
svn path=/trunk/; revision=11327
2004-10-19 10:17:05 +00:00
Gé van Geldorp
9f29b6e41d Windows doesn't check uiParam for SPI_GETNONCLIENTMETRICS
svn path=/trunk/; revision=11326
2004-10-19 08:25:25 +00:00
Gé van Geldorp
5d5362aca5 Don't free subclass stack while it's still in use
svn path=/trunk/; revision=11325
2004-10-18 21:31:41 +00:00
Filip Navara
bd1f1924a0 - Change _NDIS_ define to NDIS_WRAPPER.
svn path=/trunk/; revision=11324
2004-10-18 21:08:20 +00:00
Filip Navara
83c1f21479 - Fix a typo.
svn path=/trunk/; revision=11323
2004-10-18 21:07:42 +00:00
Filip Navara
dbcfba9bdb - Fix calling convention of ExInterlockedPushEntrySList and ExInterlockedPopEntrySList.
svn path=/trunk/; revision=11322
2004-10-18 20:56:22 +00:00
Casper Hornstrup
9af4f499f3 2004-10-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/kernel32/makefile (TARGET_BUILDENV_TEST): Set to yes.
	* lib/kernel32/tests/Makefile: New target run.
	* lib/kernel32/tests/tests/file-1.c: Remove.
	* lib/kernel32/tests/tests/CreateFile.c: New file.
	* lib/kernel32/tests/stubs.tst: New file.
	* lib/gdiplus/tests/tests/test-1.c: Update.
	* lib/gdiplus/tests/stubs.tst: Update.
	* lib/gdiplus/tests/Makefile: Update.
	* lib/tools/helper.mk: Better support for TARGET_BUILDENV_TEST.
	* tools/regtests.c: Terminate process after running tests.
	* regtests/shared/regtests.c (PerformTest): Increase buffer sizes.
	* regtests/Makefile: Update.
	* regtests/kmregtests/*: Remove.
	* regtests/kmrtint/*: Remove.
	* regtests/regtests/*: Remove.
	* regtests/win32base/*: Remove.
	* subsys/win32k/tests/tests/eng-mem-1.c: Update.
	* subsys/win32k/tests/stubs.tst: New file.
	* drivers/net/tcpip/tests/Makefile: Update.
	* drivers/net/tcpip/makefile: Update.
	* drivers/net/tcpip/stubs.tst: New file.
	* drivers/net/tcpip/tests/Makefile: Update.

svn path=/trunk/; revision=11321
2004-10-18 19:11:09 +00:00
Gé van Geldorp
41fed98970 Sort by address to make searching easier
svn path=/trunk/; revision=11320
2004-10-17 21:25:43 +00:00
Richard Campbell
1dcf1a09de commented out an assert(0); that was causing crashes in windows.
svn path=/trunk/; revision=11319
2004-10-17 20:41:16 +00:00
Gé van Geldorp
9f4291ecfc Move resource constant to local header file
svn path=/trunk/; revision=11318
2004-10-17 18:51:09 +00:00
Hartmut Birr
f7f880f8e9 - Fixed the changing of the PGE bit in cr4.
- Check if the cpu supports global pages.

svn path=/trunk/; revision=11317
2004-10-17 17:28:45 +00:00
Hartmut Birr
53a23c65e8 - Used variables from the KPCR for the current irql, for dpc's, for time counters and for the idle thread.
svn path=/trunk/; revision=11316
2004-10-17 15:39:30 +00:00
Hartmut Birr
70919642d8 - Simplified the definition of KeGetCurrentKPCR for the UP target.
svn path=/trunk/; revision=11315
2004-10-17 13:26:48 +00:00
Filip Navara
108bfdf09f - Fix calling convention of ExInterlocked* functions.
svn path=/trunk/; revision=11314
2004-10-17 13:08:26 +00:00
Hartmut Birr
7090b2771a - Fixed the definition KPCR_SELF and KeGetCurrentKPCR.
svn path=/trunk/; revision=11313
2004-10-17 10:53:05 +00:00
Hartmut Birr
6fe0a87268 - Fixed the dependency check for ntoskrnl.
svn path=/trunk/; revision=11312
2004-10-17 10:43:57 +00:00
Filip Navara
fdfdfbe2d2 - Fix NdisMSynchronizeWithInterrupt.
svn path=/trunk/; revision=11310
2004-10-17 10:15:07 +00:00
Filip Navara
6815a62066 - Fix cut & paste mistake (s/NdisDprAcquireSpinLock/NdisDprReleaseSpinLock/).
- Fix values passed to NdisMRegisterInterrupt.

svn path=/trunk/; revision=11309
2004-10-17 10:15:02 +00:00
Gé van Geldorp
b91c380949 More shutdown messages
svn path=/trunk/; revision=11308
2004-10-17 09:36:08 +00:00
Alex Ionescu
020a7e0b2d Fixed definition of KPCR_TIB to match W32API/NT5 defintion. Fixed bug in Makefile (fixed by Filip)
svn path=/trunk/; revision=11307
2004-10-17 05:20:29 +00:00
Alex Ionescu
a5262fdf54 Fix accidental change.
svn path=/trunk/; revision=11306
2004-10-17 03:55:05 +00:00
Alex Ionescu
b3f049be4f KeStackAttach: Acquire lock before getting thread
svn path=/trunk/; revision=11305
2004-10-17 03:43:26 +00:00
Filip Navara
1f59f1138b - Fix the CFLAGS handling to avoid duplicating flags on command line.
svn path=/trunk/; revision=11304
2004-10-17 02:51:39 +00:00
Filip Navara
33a12b714a - Fix IRQL restrictions.
svn path=/trunk/; revision=11303
2004-10-17 01:59:36 +00:00
Filip Navara
921ff5c94d - Add comment to NdisMRegisterIoPortRange about the meaning of InitialPort parameter and pass the bus number to HalTranslateBusAddress.
svn path=/trunk/; revision=11302
2004-10-17 01:59:18 +00:00
Filip Navara
d788739c0e - Compile with W32API headers.
- Add multicast support.
- Add media state detection support.
- Protect the adapter context with spinlock and move code talking to card to inside NdisMSynchronizeWithInterrupt calls where necessary.

svn path=/trunk/; revision=11301
2004-10-17 01:55:54 +00:00
Filip Navara
3d1e209ba7 - Cleanup handling of NDISxx definitions.
- Define NDIS_MINIPORT_MAJOR_VERSION, NDIS_MINIPORT_MINOR_VERSION, NDIS_PROTOCOL_MAJOR_VERSION and NDIS_PROTOCOL_MINOR_VERSION when necessary.
- Fix definition of NdisMIndicateStatus macro.
- Add prototypes for NdisMSetTimer, NdisMInitializeTimer, NdisMSetPeriodicTimer, NdisMCancelTimer.

svn path=/trunk/; revision=11300
2004-10-17 01:55:33 +00:00
Gé van Geldorp
712015d695 Centralize definition of version resource
svn path=/trunk/; revision=11299
2004-10-16 22:30:19 +00:00
Gé van Geldorp
600222621e Undo change to DBG
svn path=/trunk/; revision=11298
2004-10-16 20:29:32 +00:00
Gé van Geldorp
4221b60000 - Centralize definition of version resource
- Give DLLs a high version number, so installers won't overwrite them

svn path=/trunk/; revision=11297
2004-10-16 20:27:43 +00:00
Alex Ionescu
f5d1a75a57 Fix Typo
svn path=/trunk/; revision=11296
2004-10-16 18:56:54 +00:00
Alex Ionescu
10d4df0a8b Fixed ExGetCurrentProcessorUsage (thanks to Mike)
svn path=/trunk/; revision=11295
2004-10-16 18:45:03 +00:00
Gé van Geldorp
597aeb8577 Fix legacy detection of AGP cards
svn path=/trunk/; revision=11294
2004-10-15 22:48:43 +00:00
Thomas Bluemel
8d81aae9b5 some german translations and fixes by Michael Wirth
svn path=/trunk/; revision=11293
2004-10-15 14:07:42 +00:00
Filip Navara
ca8df5d139 - Update prototype of NdisMAllocateMapRegisters.
- Fix declaration of NDIS_MINIPORT_CHARACTERISTICS, NDIS_PROTOCOL_CHARACTERISTICS and NDIS_MAC_CHARACTERISTICS.

svn path=/trunk/; revision=11292
2004-10-14 18:46:57 +00:00
Eric Kohl
23d3eee3ec Silence debug message.
svn path=/trunk/; revision=11291
2004-10-14 11:49:55 +00:00
Alex Ionescu
44c0fd942d Implemented KeSetEventBoostPriority, KeFindConfigurationEntry, KeDeregisterBugCheckCallback, KeIsAttachedProcess, KeQueryActiveProcessors, KeSetDmaIoCoherency, KeSetTimeIncrement, KeQueryRuntimeThread, KeUpdateRunTime, KeUpdateSystemTime. Made KeRegisterBugCheckCallback check if Callback isn't already registered.
svn path=/trunk/; revision=11290
2004-10-13 22:27:03 +00:00
Gé van Geldorp
196a075d05 Pass win.ini as filename to *PrivateProfile* functions instead of NULL
svn path=/trunk/; revision=11289
2004-10-13 19:52:09 +00:00
Filip Navara
2cc81267e3 - Handle all required OID requests.
- Fix handling of OID_GEN_MAXIMUM_FRAME_SIZE and OID_GEN_DRIVER_VERSION.
- Generate error statistics.

svn path=/trunk/; revision=11288
2004-10-13 18:50:09 +00:00
Gé van Geldorp
e2e8956ca7 Create "Program Files" directory and store its location in the registry.
Not sure if this is the correct place to implement it, feel free to move
around.

svn path=/trunk/; revision=11287
2004-10-13 18:14:07 +00:00
Eric Kohl
218066682a Use the W32API headers.
Clean-up the indentation.

svn path=/trunk/; revision=11286
2004-10-13 10:17:41 +00:00
Alex Ionescu
b0f334f36a Sorry, forgot to add this.
svn path=/trunk/; revision=11285
2004-10-13 02:58:59 +00:00
Alex Ionescu
c30ca53066 Implemented KeAreApcsDisabled, KeFlushEntireTb, KeIsExecutingDpc, KeSetKernelStackSwapEnable, KeQueryPriorityThread, KeRevertToUserAffinityThread, KeSetIdealProcessorThread, KeSetSystemAffinityThread, KeTerminateThread, KeStackAttachProcess, KeUnstackDetachProcess
svn path=/trunk/; revision=11284
2004-10-13 01:42:14 +00:00
Gé van Geldorp
83a232d3a2 LastError needs to be set always if disposition is CREATE_ALWAYS or OPEN_ALWAYS
svn path=/trunk/; revision=11283
2004-10-12 22:04:51 +00:00
Filip Navara
56531ca70d - Fix logic error in PsDeleteCidHandle.
svn path=/trunk/; revision=11282
2004-10-12 20:00:40 +00:00
Eric Kohl
9b57fe0ffa Add default hardware profile settings.
svn path=/trunk/; revision=11281
2004-10-12 12:00:29 +00:00
Eric Kohl
58ae572645 Implement GetCurrentHwProfileA/W.
svn path=/trunk/; revision=11280
2004-10-12 11:56:04 +00:00
Alex Ionescu
973021673c Implemented ExVerifySuite, ExInterlockedFlushSList, ExSystemExceptionFilter, ExRaiseException, ExGetCurrentProcessorCpuUsage, ExGetCurrentProcessorCounts
svn path=/trunk/; revision=11279
2004-10-12 00:56:46 +00:00
Alex Ionescu
9623e3cbe8 Added complete defintion of FX_SAVE_AREA and moved it to fpu.h instead of ps.h.
svn path=/trunk/; revision=11278
2004-10-12 00:33:30 +00:00
Thomas Bluemel
fb49f8ddd7 removed obsolete typecasts
svn path=/trunk/; revision=11277
2004-10-11 21:27:22 +00:00
Thomas Bluemel
fe8243b96a use INT_PTR as return type for dialog callbacks as documented in favor of portability
svn path=/trunk/; revision=11276
2004-10-11 21:08:06 +00:00
Eric Kohl
c104ab305d Store device instance data in the registry.
svn path=/trunk/; revision=11275
2004-10-11 19:07:25 +00:00
Filip Navara
4107035c78 - Change Start value for PCnet to demand load. (Now really!)
svn path=/trunk/; revision=11274
2004-10-11 18:42:49 +00:00
Filip Navara
2683ce6f26 - Allow querying information for root enumerated devices using IoGetDeviceProperty.
svn path=/trunk/; revision=11273
2004-10-11 18:36:20 +00:00
Filip Navara
df95ba950b - Add root bus enumeration registry for NE2000 driver.
- Change Start value for PCnet to demand load.

svn path=/trunk/; revision=11272
2004-10-11 18:36:17 +00:00
Filip Navara
095f953de7 - Return correct error value from WSPSocket.
svn path=/trunk/; revision=11271
2004-10-11 17:26:50 +00:00
Filip Navara
f321359e16 - Fix receive to work on VMware emulated adapters. We need to set busmaster bit on PCI command register in order to get packets. Otherwise we just get "missing frame" error and the ring buffer remains empty.
- Indicate receive completition.
- Implement basic packet transmitting.
- Don't read slot number from registry and report itself as NDIS 5.0 miniport.
- Fix nasty bugs in halt code path (incorrect assignment and wrong parameters to NdisMFreeSharedMemory calls).

svn path=/trunk/; revision=11270
2004-10-11 15:03:13 +00:00
Eric Kohl
2dea5c279b Minor simplifications.
svn path=/trunk/; revision=11269
2004-10-11 12:37:04 +00:00
Steven Edwards
e9542274b4 Make regexpl build again. (I know I really should fix this to be unicode)
BTW this is a kick ass tool that does work over the network. I just tested it
editing the registry on the wifes box.

svn path=/trunk/; revision=11268
2004-10-11 01:24:22 +00:00
Steven Edwards
ee08f03b99 Make regexpl build again. This has been bitrotting for a while.
svn path=/trunk/; revision=11267
2004-10-11 01:20:13 +00:00
Filip Navara
0f86ec1497 Don't use NdisTransferData if the whole packet is contained in the header+lookup buffer.
svn path=/trunk/; revision=11266
2004-10-10 22:38:22 +00:00
Filip Navara
02b3928237 Fix printing of packet contents to really print the contents instead of destroying them.
svn path=/trunk/; revision=11265
2004-10-10 21:06:13 +00:00
Filip Navara
f39899be58 Update registry entries for NE2000 driver to match the new layout.
svn path=/trunk/; revision=11264
2004-10-10 21:03:23 +00:00
Filip Navara
87079b419a Ignore registry reading errors while building services database.
svn path=/trunk/; revision=11263
2004-10-10 21:00:59 +00:00
Eric Kohl
e8fa5a048e Remove obsolete comments.
svn path=/trunk/; revision=11262
2004-10-10 18:28:05 +00:00
Eric Kohl
29240c3d8b Silence a debug message.
svn path=/trunk/; revision=11261
2004-10-10 18:26:33 +00:00
Eric Kohl
50fcbd0ea9 NtReadFile(): Take FILE_USE_FILE_POINTER_POSITION into account.
svn path=/trunk/; revision=11260
2004-10-10 18:23:09 +00:00
Filip Navara
1d16f49bbf - Fix debug message.
svn path=/trunk/; revision=11259
2004-10-10 17:23:13 +00:00
Filip Navara
33b2ec789a - Fix the NdisMEthIndicateReceive macro and ETH_RCV_INDICATE_HANDLER prototype to be binary compatible with Windows (R).
- Modify NDIS accordingly.

svn path=/trunk/; revision=11258
2004-10-10 17:16:42 +00:00
Gregor Anich
1ad4234f07 Fixed compiler warning ('RegistryPropertyName' might be used uninitialized in this function)
svn path=/trunk/; revision=11257
2004-10-10 15:51:52 +00:00
Eric Kohl
cd9eae5e7a NtDeviceIoControlFile() and NtFsControlFile():
Check granted access rights against access rights from IoControlCode.

svn path=/trunk/; revision=11256
2004-10-10 14:01:50 +00:00
Art Yerkes
fc10d9f802 Change flags of some network-related registry values. They were wrong.
svn path=/trunk/; revision=11255
2004-10-10 10:46:02 +00:00
Eric Kohl
009d1a6a71 Implement RegQueryMultipleValuesA().
svn path=/trunk/; revision=11254
2004-10-10 10:43:23 +00:00
Hartmut Birr
6fada73411 - Fixed some size calculations according to the last changes in cm/ntfunc.c.
svn path=/trunk/; revision=11253
2004-10-10 10:10:52 +00:00
Gé van Geldorp
7600e9b587 - Implement GetPrivateProfileSectionA/W()
- Handle value-less keys
- Handle comments

svn path=/trunk/; revision=11252
2004-10-09 18:46:41 +00:00
Filip Navara
0a6aa71bb4 - Attach NDIS miniport devices to the device stack.
- Gain the bus type and slot number using IoGetDeviceProperty from the PnP stack.
- Read the registry values for NDIS miniports from the correct place. See www.plasmic.com/~vizzini/ntnetarch.html for details.
- Update NdisReadPciSlotInformation/NdisWritePciSlotInformation to use the adapter slot information.

svn path=/trunk/; revision=11251
2004-10-09 18:17:08 +00:00
Filip Navara
1e6e22e32e - Implement IoOpenDeviceRegistryKey for PLUGPLAY_REGKEY_DRIVER case.
- Implement IoGetDeviceProperty for DevicePropertyClassName, DevicePropertyClassGuid, DevicePropertyDriverKeyName, DevicePropertyManufacturer, DevicePropertyFriendlyName cases.

svn path=/trunk/; revision=11250
2004-10-09 18:16:58 +00:00
Filip Navara
dd7fed7f38 - Delete all build files on "make clean".
svn path=/trunk/; revision=11249
2004-10-09 17:14:11 +00:00
Martin Fuchs
fbd3aee44b correct array size
svn path=/trunk/; revision=11248
2004-10-09 14:07:13 +00:00
Gé van Geldorp
85ec38bb53 Pass requested base address to MmAllocateSection()
svn path=/trunk/; revision=11247
2004-10-09 12:17:54 +00:00
Martin Fuchs
05cc213374 add splitpath.c
svn path=/trunk/; revision=11246
2004-10-09 11:42:39 +00:00
Martin Fuchs
7715f83501 unixcalls.c
svn path=/trunk/; revision=11245
2004-10-09 11:40:44 +00:00
Martin Fuchs
08faa2ac23 Update French translation.
svn path=/trunk/; revision=11244
2004-10-09 11:40:08 +00:00
Thomas Bluemel
6712cd665f Create named pipes with security information if argument is present
svn path=/trunk/; revision=11243
2004-10-08 23:24:01 +00:00
Thomas Bluemel
d0953a3d80 Create mail slots with security information if argument is present
svn path=/trunk/; revision=11242
2004-10-08 23:20:57 +00:00
Thomas Bluemel
a30f6d7c94 little simplification
svn path=/trunk/; revision=11241
2004-10-08 23:12:29 +00:00
Thomas Bluemel
6961ff9728 atomically increment the pipe id to be thread-safe. Thanks to Mark Grosberg for reporting it.
svn path=/trunk/; revision=11240
2004-10-08 21:48:46 +00:00
Thomas Bluemel
d02f400b31 little simplification
svn path=/trunk/; revision=11239
2004-10-08 21:37:16 +00:00
Thomas Bluemel
82a44258db fixed return value of FindCloseChangeNotification()
svn path=/trunk/; revision=11238
2004-10-08 21:29:40 +00:00
Thomas Bluemel
db533baf58 implemented GetNamedPipeHandleStateA() and a few fixes for GetNamedPipeHandleStateW()
svn path=/trunk/; revision=11237
2004-10-08 21:25:18 +00:00
Filip Navara
4664a1f6ed - Fix one error case to prevent crashes when registry enumeration fails.
svn path=/trunk/; revision=11236
2004-10-08 21:20:35 +00:00
Filip Navara
1e09759df9 Correctly handle small buffers in NtEnumerate[Value]Key and NtQuery[Value]Key registry routines:
- If buffer is too small to contain even fixed size information for specified type return STATUS_BUFFER_TOO_SMALL.
- If buffer is large enough to contain some information, but not all information requested, fill as much as we can and return STATUS_BUFFER_OVERFLOW.
- If we fill the entire buffer return STATUS_SUCCESS.

svn path=/trunk/; revision=11235
2004-10-08 21:19:12 +00:00
Gé van Geldorp
ef253bf9d3 Add SYSTEM_REGISTRY_QUOTA_INFORMATION
svn path=/trunk/; revision=11234
2004-10-08 21:14:21 +00:00
Martin Fuchs
b0468e7ffa call vswprintf@msvcrt in Wine's UNICODE version
svn path=/trunk/; revision=11233
2004-10-08 20:20:15 +00:00
Gé van Geldorp
8d52d923ed - Return some values for NtQuerySystemInformation(SystemRegistryQuotaInformation)
- Print messages for not implemented system information classes
- Silence some debug messages

svn path=/trunk/; revision=11232
2004-10-08 20:02:30 +00:00
Martin Fuchs
d5c0bee9ae resource files
svn path=/trunk/; revision=11231
2004-10-08 19:30:45 +00:00
Martin Fuchs
41c01ba24e tchar.h
svn path=/trunk/; revision=11230
2004-10-08 19:30:30 +00:00
Martin Fuchs
8fa949ca79 call Unix functions in separate module read_unix.c
svn path=/trunk/; revision=11229
2004-10-08 18:19:53 +00:00
Eric Kohl
4d19c5066a - User resource strings instead of constant strings for folder names.
- Add english and german resource strings.

svn path=/trunk/; revision=11228
2004-10-08 11:52:30 +00:00
Martin Fuchs
475d618db9 UNICODE for WINE version
svn path=/trunk/; revision=11227
2004-10-08 09:53:37 +00:00
Martin Fuchs
26a5b94393 german resource strings
svn path=/trunk/; revision=11226
2004-10-08 08:35:02 +00:00
Martin Fuchs
4e85d9668a convert string constants into string resources and character arrays
svn path=/trunk/; revision=11225
2004-10-08 08:18:42 +00:00
Steven Edwards
9117b8fb51 Remove the GNU from the name as its not a GNU program.
svn path=/trunk/; revision=11224
2004-10-08 04:09:51 +00:00
Steven Edwards
ba571f2170 Sync notepad with Winehq. It looks more like Windows notepad.
svn path=/trunk/; revision=11223
2004-10-08 04:05:11 +00:00
Art Yerkes
068cb50dec Added makefile dependency in both dirs, and proper relinking rule for
oskittcp and ip.

svn path=/trunk/; revision=11222
2004-10-08 01:28:32 +00:00
Gé van Geldorp
f9bf3651a1 Remove forgotten breakpoint
svn path=/trunk/; revision=11221
2004-10-07 21:05:36 +00:00
Gé van Geldorp
8438655244 Fix GetFullPathNameA/W() return value
svn path=/trunk/; revision=11220
2004-10-07 20:39:04 +00:00
Gé van Geldorp
ed6cee0a13 Undo last change, since GetFullPathName is supposed to return the length
including terminating nul char when the buffer is too small

svn path=/trunk/; revision=11219
2004-10-07 19:24:26 +00:00
Gé van Geldorp
e961e71fec Don't rely on UNICODE being #define'ed
svn path=/trunk/; revision=11218
2004-10-07 19:20:57 +00:00
Gé van Geldorp
1541b702fa Don't corrupt the registry when deleting a REG_DWORD value
svn path=/trunk/; revision=11217
2004-10-07 18:00:10 +00:00
Art Yerkes
5be7877f22 some formatting and prototype changes
memtrack on
moved timer dpc out of libip
added work item for ip timer callback to work at passive level

svn path=/trunk/; revision=11216
2004-10-07 15:04:45 +00:00
Gé van Geldorp
7e61a0ac6d Francois Gouget <fgouget@free.fr>
-Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.

svn path=/trunk/; revision=11215
2004-10-07 09:13:56 +00:00
Martin Fuchs
82ccd0b94c use TREE_LINE_DX for better look of the tree with big fonts
svn path=/trunk/; revision=11214
2004-10-07 08:43:34 +00:00
Steven Edwards
42906c61fc Allow NtGdiCreateScaleableFontResource to keep going.
(This allows OpenOffice 1.1.1 to load)

svn path=/trunk/; revision=11213
2004-10-07 05:26:54 +00:00
Art Yerkes
7c750ecdd6 Sorry jimtabor and rcampbell, it turns out that ip.a was not getting cleaned
and you guys were using an old one.  sedwards helped me figure that out.
I've been cleaning these dirs explicitly since i'm working in them.

This should fix the clean for those.

svn path=/trunk/; revision=11212
2004-10-07 04:47:42 +00:00
Gé van Geldorp
d24addb280 GetFullPathName returns length without nul byte
svn path=/trunk/; revision=11211
2004-10-06 23:46:09 +00:00
Martin Fuchs
85f0c7023d update item height after changing the font
svn path=/trunk/; revision=11210
2004-10-06 09:08:50 +00:00
Martin Fuchs
1011770d88 ID_FILE_MOVE resources
svn path=/trunk/; revision=11209
2004-10-06 09:08:16 +00:00
Gé van Geldorp
1eb248c43e Rolf Kalbermatter <rolf.kalbermatter@citeng.com>
- Fix bug found by Piotr Caban, where our function tried to delete a
directory eventhough the user canceled the operation.

svn path=/trunk/; revision=11208
2004-10-06 07:29:58 +00:00
Art Yerkes
4368f11574 More stuff moved out of ip lib.
svn path=/trunk/; revision=11207
2004-10-06 04:40:34 +00:00
Gé van Geldorp
91447e78e2 Do some simple error checking on .cur and .ico file structure
svn path=/trunk/; revision=11206
2004-10-05 22:08:56 +00:00
Gé van Geldorp
cdefabd236 Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.

svn path=/trunk/; revision=11205
2004-10-05 20:58:38 +00:00
Hartmut Birr
fc5e4daca1 - Bugcheck on a page fault, if the reason was code executing in a non executable area (only available on a AMD64).
svn path=/trunk/; revision=11204
2004-10-05 19:11:17 +00:00
Hartmut Birr
fa64b48be5 - Changed some functions from Nt to Zw in RtlFormatCurrentUserKeyPath to bypass the buffer checks.
svn path=/trunk/; revision=11203
2004-10-05 19:04:09 +00:00
Hartmut Birr
3fdd7a717c - Removed some hard coded values, which depend on a kernel base of 0xc0000000.
svn path=/trunk/; revision=11202
2004-10-05 18:53:28 +00:00
Gregor Anich
306d451c3b Mesa version 6.2 import (also removed _MSC_VER define for building with mingw) - look at http://www.mesa3d.org/ for changelogs.
svn path=/trunk/; revision=11201
2004-10-05 14:19:13 +00:00
Steven Edwards
c383ed94fd Silence a few warnings and bring the source (mostly) back in line
with the source drop from embedded.cl

svn path=/trunk/; revision=11200
2004-10-05 13:57:29 +00:00
Eric Kohl
e48441fd2e Remove outdated profile path postfix.
svn path=/trunk/; revision=11199
2004-10-05 13:39:42 +00:00
Steven Edwards
528acaf7b3 Added a simple embedded GPL dhcp server for ReactOS by
Carlos Manuel Duclos Vergara

TODO:
Make it a real Window Service
Make it use the registry rather than dhcpd.conf
.......

svn path=/trunk/; revision=11198
2004-10-05 13:09:46 +00:00
Eric Kohl
e345820c8e Remove fixed heap base address (HEAP_BASE) to enable bottom-up heap allocation.
svn path=/trunk/; revision=11197
2004-10-05 10:40:13 +00:00
Gé van Geldorp
baf11aeb1c Recognize our CD-Rom drives
svn path=/trunk/; revision=11196
2004-10-05 07:51:11 +00:00
Gé van Geldorp
7f50dbe3fe Alexandre Julliard <julliard@winehq.org>
- Fixed typo in ProgramsW.
- Changed the case of windows and system directories to match the
  directories we create by default.
- Avoid depending on the non-standard IUnknown_METHODS macro in Wine
  internal headers.

svn path=/trunk/; revision=11195
2004-10-05 07:43:19 +00:00
Alex Ionescu
dc70244c68 Un-hardcoded the 0xC0000000 value, and stuck the define in one single place both for ASM and C code. This define is 0x80000000 by default, but automatically sets itself to 0xC0000000 if 3GB is set to 1 in reactos/config. This option is turned on by default for now, because the Default heap is at 0xA0000000, which doesn't work on a non 3GB system. Lower values seem to crash Win32K but I fill figure out a solution.
svn path=/trunk/; revision=11193
2004-10-04 21:38:49 +00:00
Casper Hornstrup
8646668c58 2004-10-04 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/helper.mk: Support for kernel TARGET_TYPE.
	* ntoskrnl/Makefile: Simplified makefile.

svn path=/trunk/; revision=11192
2004-10-04 20:04:49 +00:00
Gé van Geldorp
841c394e6f Piotr Caban <pio13@poczta.onet.pl>
- Added Polish translation.

svn path=/trunk/; revision=11191
2004-10-04 19:44:11 +00:00
Gé van Geldorp
aec725dce4 Reapply winehq change:
Robert Shearman <rob@codeweavers.com>
- Simplify getting custom icons for a folder by utilising the new
  SHELL32_GetCustomFolderAttribute function.
- Add support for custom shell folders, such as the History folder.
- Always try to initialize folder using IPersistFolder3 interface and
  then fall back on IPersistFolder if not supported.
Ge van Geldorp <gvg@reactos.com>
- Can't pass NULL as default value to GetPrivateProfileString.

svn path=/trunk/; revision=11190
2004-10-04 19:41:31 +00:00
Casper Hornstrup
67a41ff238 2004-10-04 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/helper.mk: Clean autogenerated files.
	* tools/regtests.c: Remove newlines.

svn path=/trunk/; revision=11189
2004-10-04 19:41:28 +00:00
Jens Collin
f539cfcea7 return hardcoded value (1) for SM_CMONITORS.
svn path=/trunk/; revision=11188
2004-10-04 19:23:31 +00:00
Gé van Geldorp
aa496615df Use GetStringTypeW() for implementation of IsCharAlphaNumericW(),
IsCharAlphaW(), IsCharLowerW() and IsCharUpperW()

svn path=/trunk/; revision=11187
2004-10-04 19:22:16 +00:00
Jens Collin
7e15de6d4a defined SM_CMONITORS (80)
svn path=/trunk/; revision=11186
2004-10-04 19:22:02 +00:00
Gé van Geldorp
1736e3772b Implement GetStringTypeA/W() and GetStringTypeExA/W()
svn path=/trunk/; revision=11185
2004-10-04 19:17:58 +00:00
Art Yerkes
2638336b0e Fixed IPStartup prototype and moved DisplayIPPacket out of ifdef.
svn path=/trunk/; revision=11184
2004-10-04 18:32:30 +00:00
Art Yerkes
706ff78e48 Removed unneeded DriverObject parameter to IPStartup.
svn path=/trunk/; revision=11183
2004-10-04 18:31:40 +00:00
Hartmut Birr
49871ae71b - Fixed the setting of the page protection for ntoskrnl.
The image is loaded without the size of the bss section.
  Pages after the bss section may not be changed.

svn path=/trunk/; revision=11182
2004-10-04 17:27:13 +00:00
Martin Fuchs
a573c6ea80 sync with WINE source
svn path=/trunk/; revision=11181
2004-10-04 17:13:03 +00:00
Casper Hornstrup
8ec117a236 Revert:
2004-10-02  Casper S. Hornstrup  <chorns@users.sourceforge.net>

	* ntoskrnl/Makefile: Fix dependencies when PCH is enabled.

2004-10-02  Casper S. Hornstrup  <chorns@users.sourceforge.net>

	* tools/helper.mk: Support for kernel TARGET_TYPE.
	* ntoskrnl/Makefile: Simplified makefile.

svn path=/trunk/; revision=11180
2004-10-04 10:16:59 +00:00
Martin Fuchs
83de11e97e merged corrected version of the Wine commit http://cvs.winehq.org/patch.py?id=13936:
- added choosing fonts
- added file moving

svn path=/trunk/; revision=11179
2004-10-04 09:31:10 +00:00
Art Yerkes
184c8d80f1 First shot at ip lib test app.
svn path=/trunk/; revision=11178
2004-10-04 04:26:00 +00:00
Alex Ionescu
4e21459b33 DBG should be 0 by default. Also, DBG = 1 seems to break ROS (it hangs before ntoskrnl is even loaded.)
svn path=/trunk/; revision=11177
2004-10-04 03:19:07 +00:00
Art Yerkes
3b2388081c Added new targets. ip and oskittcp should now clean with the rest of the
tree.

svn path=/trunk/; revision=11176
2004-10-03 22:55:45 +00:00
Art Yerkes
8eb5ca6ffa Final propogation of TDI_CONNECTION_INFORMATION/TRANSPORT_ADDRESS changes.
svn path=/trunk/; revision=11175
2004-10-03 21:44:43 +00:00
Art Yerkes
bab3b21d32 Propogating TDI address changes.
svn path=/trunk/; revision=11174
2004-10-03 21:16:31 +00:00
Gé van Geldorp
7eb30acddb Rollback last change since it was incorrect.
See http://www.reactos.com/bugzilla/show_bug.cgi?id=36

svn path=/trunk/; revision=11173
2004-10-03 21:03:06 +00:00
Art Yerkes
fc4b179d93 New file buffer.c which contains NDIS_BUFFER and NDIS_PACKET routines.
svn path=/trunk/; revision=11172
2004-10-03 20:39:19 +00:00
Art Yerkes
5394560307 Fixed UDP protocol.
Leaned interface between tcpip and ip lib to not include ndis buffers and
such, as well as datagram request structs.  This both eliminates code
setting up these structs as well as making use of ip lib easier from userland.
Moved ndis buffer routines to tcpip/buffer.c.  They are a bit separate from
the neutral routines functions.

svn path=/trunk/; revision=11171
2004-10-03 20:38:48 +00:00
Art Yerkes
a52618ca99 Fixed use of TA_ADDRESS in favor of TRANSPORT_ADDRESS. This still confuses
me.
write, read: Handle errors correctly.

svn path=/trunk/; revision=11170
2004-10-03 20:36:46 +00:00
Gé van Geldorp
81e60d8ded Move final user stack cleanup to kernelmode
svn path=/trunk/; revision=11169
2004-10-03 18:53:05 +00:00
Gé van Geldorp
9584768301 CVS maintenance
svn path=/trunk/; revision=11168
2004-10-03 18:46:07 +00:00
Gé van Geldorp
91083c72fd Remove faulty debug statement
svn path=/trunk/; revision=11167
2004-10-03 18:22:33 +00:00
Thomas Bluemel
737ea5b737 don't let dlltool mess up c++ mangled exports for crtdll and msvcrt
svn path=/trunk/; revision=11166
2004-10-03 14:24:43 +00:00
Thomas Bluemel
c0f9c7505c fixed GetHandleInformation(), SetHandleInformation() and minor fixes to CloseHandle() and DuplicateHandle()
svn path=/trunk/; revision=11165
2004-10-03 10:05:56 +00:00
Eric Kohl
d8ea61531d Update a new users private shell folder paths when a new user profile is created.
svn path=/trunk/; revision=11164
2004-10-03 09:27:22 +00:00
Alex Ionescu
772a37758e Sorry, forgot these updates for WIN32K to build with new KPCR.
svn path=/trunk/; revision=11163
2004-10-03 03:07:18 +00:00
Alex Ionescu
4d9e3a1cae Corrected KPCR structure, removed IKPCR, set up CurrentThread in proper structure (implemented KPRCB), added some types needed by KPRCB.
svn path=/trunk/; revision=11162
2004-10-03 03:03:54 +00:00
Thomas Bluemel
b26683b0b3 fixed ProcessIdToSessionId()
svn path=/trunk/; revision=11161
2004-10-02 21:14:08 +00:00
Thomas Bluemel
3f75c451d1 don't duplicate tons of code for error handling
svn path=/trunk/; revision=11160
2004-10-02 20:56:54 +00:00
Thomas Bluemel
86b4ec40d4 INF Helper tool for installation of .inf files, by Michael Biggins
svn path=/trunk/; revision=11159
2004-10-02 18:33:12 +00:00
Filip Navara
a73f47bd18 Allocate memory for the handle table from paged pool!
svn path=/trunk/; revision=11158
2004-10-02 16:48:12 +00:00
Filip Navara
8e9f6624d1 Change the ASSERT_IRQL in ExAllocatePagedPoolWithTag from PASSIVE_LEVEL to APC_LEVEL.
svn path=/trunk/; revision=11157
2004-10-02 16:48:05 +00:00
Thomas Bluemel
190c655d90 added stubs for winfax.dll
svn path=/trunk/; revision=11156
2004-10-02 16:43:05 +00:00
Casper Hornstrup
05ee9bbcc3 2004-10-02 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/Makefile: Fix dependencies when PCH is enabled.

svn path=/trunk/; revision=11155
2004-10-02 14:38:37 +00:00
Casper Hornstrup
cf4df378aa 2004-10-02 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/helper.mk: Support for kernel TARGET_TYPE.
	* ntoskrnl/Makefile: Simplified makefile.

svn path=/trunk/; revision=11154
2004-10-02 14:03:51 +00:00
Eric Kohl
b8e59707a9 Add common user shell folder key.
svn path=/trunk/; revision=11153
2004-10-02 12:35:12 +00:00
Eric Kohl
d2e9fecf72 Remove default users shell folder paths.
svn path=/trunk/; revision=11152
2004-10-02 12:33:20 +00:00
Eric Kohl
19c3f3e06e Improve creation of shell folder settings.
Todo:
 - Store folder names in resource strings.
 - Update current users shell folder paths when a new profile is created.

svn path=/trunk/; revision=11151
2004-10-02 12:31:28 +00:00
Hartmut Birr
acb1dd91c6 - Made cmt unicode compatible.
- Enabled time counting.
- Improved the waiting of key input events.

svn path=/trunk/; revision=11150
2004-10-02 10:26:48 +00:00
Hartmut Birr
d2a8a1bc51 - Terminate the wait thread if the handle was from a console.
svn path=/trunk/; revision=11149
2004-10-02 10:19:38 +00:00
Hartmut Birr
c8641fc2a3 - Updated the workingset size in the rmap functions.
svn path=/trunk/; revision=11148
2004-10-02 10:16:10 +00:00
Casper Hornstrup
9495493fde 2004-10-02 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/gdiplus/tests/.cvsignore: Ignore _hooks.c and _stubs.S.
	* lib/gdiplus/tests/Makefile (TARGET_OBJECTS): Remove passthrough.o and
	add _hooks.o and _stubs.o.
	* lib/gdiplus/tests/tests/test-1.c: Test API hooking.
	* regtests/shared/regtests.h: Add support for API hooking.
	* tools/helper.mk: Generate stubs.
	* tools/regtests.c: Add support for generating stubs and hooks.
	* lib/gdiplus/tests/passthrough.c: Remove.
	* lib/gdiplus/tests/stubs.tst: New file.

svn path=/trunk/; revision=11147
2004-10-02 08:44:54 +00:00
Hartmut Birr
d12bb0393c - Fixed the definition of SNMP_FUNC_TYPE.
svn path=/trunk/; revision=11146
2004-10-02 08:28:34 +00:00
Art Yerkes
0b03f1a2a9 Sorry i didn't have all the assertions correct in ntoskrnl/mm/pool.c
Now i've moved them to npool.c and ppool.c, where they are shorter.

svn path=/trunk/; revision=11145
2004-10-01 20:51:29 +00:00
Gé van Geldorp
adeb131ada Don't use more than a single page for a TEB (forgotten file)
svn path=/trunk/; revision=11144
2004-10-01 20:29:58 +00:00
Gé van Geldorp
228cddee4a Don't use more than a single page for a TEB
svn path=/trunk/; revision=11143
2004-10-01 20:26:05 +00:00
Hartmut Birr
f6fb22a9ef - Rewrote parts of the Process & Thread time count functions.
svn path=/trunk/; revision=11142
2004-10-01 20:09:57 +00:00
Gé van Geldorp
96bb83f2a9 Handle mapping a view of a section at non-zero file offset
svn path=/trunk/; revision=11141
2004-10-01 20:06:43 +00:00
Art Yerkes
a07571a47c pool.c: assert irql and pool type for PASSIVE_LEVEL and above.
ntoskrnl/ob/security.c:
This function did not either identify the new descriptor as self relative
nor honor the case where self-relative was not set.  Now fixed.
Bug identified by WaxDragon (while loading a cygwin app)

svn path=/trunk/; revision=11140
2004-10-01 04:00:11 +00:00
Art Yerkes
2c3fecda88 Added needed rc file.
svn path=/trunk/; revision=11139
2004-10-01 02:31:05 +00:00
Art Yerkes
9fd341c9ae Zero the new descriptor so that the Dacl, Sacl etc pointers will be zeroed
if not initialized.  cygwin was exercising this.

svn path=/trunk/; revision=11138
2004-10-01 01:28:56 +00:00
Art Yerkes
f45c8f618d It seems there's a subtle difference between mingw32 on windows and on
unixen.  Apparently, include_next does not count repeated include
directories on unixen but does on windows, thus windows users of mingw
saw the build of the ip lib break for not having included
w32api/include/basetsd.h through the include/basetsd.h.  It would
include include/basetsd.h again and (since the include guard in that
file surrounds the include_next), would do nothing the second time.  I guess
I'm the only person who got bit by this difference.

svn path=/trunk/; revision=11137
2004-09-30 22:04:13 +00:00
Emanuele Aliberti
c7eba737e2 Correct spelling errors in some remarks.
svn path=/trunk/; revision=11136
2004-09-30 21:14:24 +00:00
Eric Kohl
639754c6b8 Remove common shell folder settings.
svn path=/trunk/; revision=11135
2004-09-30 20:24:51 +00:00
Eric Kohl
3036e1670c - Add proper file header.
- Create common shell folder registry values in InitializeProfiles().

svn path=/trunk/; revision=11134
2004-09-30 20:23:00 +00:00
Richard Campbell
1de98ec592 rollback change for now
svn path=/trunk/; revision=11133
2004-09-30 16:47:49 +00:00
Art Yerkes
7b91f0c3fb Fixed makefile. Wrong name for ip.a
svn path=/trunk/; revision=11132
2004-09-30 16:30:43 +00:00
Richard Campbell
c831dac0e0 - For now, hardcode the all users profile path until we get better user management code in place
- removed the %USERPROFILE% prefix, this will go in combination with my other fix to hopefully get things working right again.

svn path=/trunk/; revision=11131
2004-09-30 15:39:48 +00:00
Royce Mitchell III
2ab40c2827 You're such a trooper, Marvin
svn path=/trunk/; revision=11130
2004-09-30 13:44:48 +00:00
Gé van Geldorp
e167d42360 You can tune a file system, but you can't tunafish
svn path=/trunk/; revision=11129
2004-09-30 10:07:00 +00:00
Gé van Geldorp
ae3fd2574d Rollback winehq merge since it breaks Explorer
svn path=/trunk/; revision=11128
2004-09-30 06:49:06 +00:00
Art Yerkes
0bccb9dbb0 Most files moved to linkable library drivers/lib/ip, which can be linked
from kernel land, or from userland with the help of drivers/lib/undis.
Hopefully, I'll be able to simulate a sufficient environment with undis
that we'll be able to test most problems with the ip system in userland.
This follows my general priniciple of getting most interesting code into
a place where we can really examine it and work with it.  The interface
to the ip library is still a bit raw.  I was hoping to do a better job
of isolating it and especially digging nt kernel dependencies out into
the remaining framework files (tcpip/dispatch.c, tcpip/fileobjs.c), but
it was taking too long.  Hopefully I can return to that later.

svn path=/trunk/; revision=11127
2004-09-30 06:00:42 +00:00
Art Yerkes
4ec1a851b9 Changes to the interface to componentized ip library. This commit is where
the ambiguously linked library starts being used in km.  There are further
cleanups i need to do, but hopefully having this checked in will help others
who are eager to help work on it.

svn path=/trunk/; revision=11126
2004-09-30 05:44:10 +00:00
Art Yerkes
03a9fe5219 Fixes to interface. Prototypes which were being stubborn. I will have to
figure out how to use these headers better.

svn path=/trunk/; revision=11125
2004-09-30 05:41:09 +00:00
Art Yerkes
e60bec5f2c Undis now builds a dll, carefully skirting the linkage problem i was facing.
I also add more and more correct functions.

svn path=/trunk/; revision=11124
2004-09-30 05:40:15 +00:00
Thomas Bluemel
c8de36191c use ULONG_PTR to calculate pointers
svn path=/trunk/; revision=11122
2004-09-29 08:41:39 +00:00
Gé van Geldorp
b8e45d0e41 Robert Shearman <rob@codeweavers.com>
- Simplify getting custom icons for a folder by utilising the new
  SHELL32_GetCustomFolderAttribute function.
- Add support for custom shell folders, such as the History folder.
- Always try to initialize folder using IPersistFolder3 interface and
  then fall back on IPersistFolder if not supported.

svn path=/trunk/; revision=11121
2004-09-29 07:01:37 +00:00
Art Yerkes
a6797af759 Getting there. Smoothing out the public interface and eliminating useless
types.

svn path=/trunk/; revision=11120
2004-09-29 06:11:27 +00:00
Art Yerkes
4c30d6be10 IP library. These files were moved from tcpip.sys and can be linked with
apps/tests/iptest using the undis library.  We need to make a change to
the way this is built so that we end up with ip.a (userland) and
ipkernel.a.  I'm still deciding how i want to do that.  For our purposes
now, it'll be fine to have it userland only as long as we still have the
option to build it for kernel use by hand to try out.

svn path=/trunk/; revision=11119
2004-09-29 05:10:48 +00:00
Art Yerkes
0f5152aa1c Added a header to lie between undis and net/ndis.h. This header will be used
to wrap and modify ndis definitions if necessary.

svn path=/trunk/; revision=11118
2004-09-29 04:57:26 +00:00
Art Yerkes
107ff56d07 Simple library which captures the remaining link-time dependencies for ip.a
Incomplete as yet.

Open question: how to make ip.a ambiguously linkable without building it
twice in it's present form.  Oskit was relatively simple because the
system dependencies were already isolated.  We need to capture and isolate
system dependencies in ip.a as well.

svn path=/trunk/; revision=11117
2004-09-29 04:54:26 +00:00
Art Yerkes
91a2bfd277 These calls to ExAllocatePool are done at != PASSIVE_LEVEL. Allocate
non-paged-pool.

svn path=/trunk/; revision=11116
2004-09-29 03:36:52 +00:00
Richard Campbell
1fea21808f - Changed a few REG_EXPAND_SZ to REG_SZs as per Windows
svn path=/trunk/; revision=11115
2004-09-29 01:26:35 +00:00
Royce Mitchell III
af06b2d654 sprintf bad
svn path=/trunk/; revision=11114
2004-09-29 00:47:42 +00:00
Gé van Geldorp
79d6604660 NtAllocateVirtualMemory() should return 64k aligned areas (forgotten file)
svn path=/trunk/; revision=11113
2004-09-28 20:58:29 +00:00
Gé van Geldorp
8e7f16e570 Don't return data length if not requested
svn path=/trunk/; revision=11112
2004-09-28 20:40:15 +00:00
Hartmut Birr
8ceb672cc0 - Fixed LdrLookupPageProtection.
svn path=/trunk/; revision=11111
2004-09-28 20:16:24 +00:00
James Tabor
e3bfa4f45a Add advpack.
svn path=/trunk/; revision=11110
2004-09-28 19:49:27 +00:00
Gé van Geldorp
d243b55958 NtAllocateVirtualMemory() should return 64k aligned areas
svn path=/trunk/; revision=11109
2004-09-28 19:49:21 +00:00
Steven Edwards
43787ecece Ported icmp.dll from wine.
svn path=/trunk/; revision=11108
2004-09-28 19:07:56 +00:00
Thomas Bluemel
3ef6e3494f relicense to LGPL
svn path=/trunk/; revision=11107
2004-09-28 16:05:24 +00:00
Thomas Bluemel
fdde8be2a7 avoid compiler warning
svn path=/trunk/; revision=11106
2004-09-28 15:14:04 +00:00
Thomas Bluemel
2d01207958 1. get rid of the global thread list and group threads in processes instead
2. get rid of all reactos-specific fields in the E/KTHREAD structure and make them match the 2k layout
3. identify threads (and later processes) using a client id table (which should propably be replaced by a global handle table instead)
4. disabled thread event pair functions by default (NT4 only) as they require a field in the ETHREAD structure that is not present in later versions

svn path=/trunk/; revision=11105
2004-09-28 15:02:31 +00:00
Eric Kohl
c0e4836b17 - Implement IoFreeErrorLogEntry().
- Fix log size calculation in IopLogWorker().

svn path=/trunk/; revision=11104
2004-09-28 12:51:14 +00:00
Eric Kohl
f665fe8a22 Use FILE_APPEND_DATA access right to write log entries.
svn path=/trunk/; revision=11103
2004-09-28 12:50:23 +00:00
Eric Kohl
f15ffecda4 Support special FILE_WRITE_TO_END_OF_FILE byte offset to append data to a file.
svn path=/trunk/; revision=11102
2004-09-28 10:52:55 +00:00
Eric Kohl
d394870def NtWriteFile must append to file if it was opened with the FILE_APPEND_DATA access.
FILE_WRITE_DATA take precedence over FILE_APPEND_DATA.

svn path=/trunk/; revision=11101
2004-09-28 10:51:05 +00:00
Gé van Geldorp
3d82d976d3 NtSetInformationThread() expects a pointer, not the handle itself
svn path=/trunk/; revision=11100
2004-09-27 20:04:53 +00:00
Eric Kohl
db47f999dd Define FILE_WRITE_TO_END_OF_FILE.
svn path=/trunk/; revision=11094
2004-09-27 11:32:31 +00:00
Gé van Geldorp
46dbd3190e Sylvain Petreolle <spetreolle@yahoo.fr>
- rules.mak is included too late in tools/winebuild/Makefile, which makes
  TARGET, "all:", CLEAN_FILES and HOST_CFLAGS wrong.

svn path=/trunk/; revision=11093
2004-09-27 08:15:07 +00:00
Steven Edwards
73a66a9cc9 Some fixes for MS_VC.
svn path=/trunk/; revision=11092
2004-09-27 04:32:52 +00:00
Steven Edwards
6a64eeeb08 Add a shutdown message.
svn path=/trunk/; revision=11091
2004-09-27 04:12:40 +00:00
Steven Edwards
21d354a1c1 Slightly new and improved stub for GetUserNameA based on the Winehq
code and hacked by Royce and Me.

svn path=/trunk/; revision=11082
2004-09-26 21:15:51 +00:00
Gé van Geldorp
05848ce54b Scream when an unimplemented function is called
svn path=/trunk/; revision=11081
2004-09-26 20:28:22 +00:00
Gé van Geldorp
f427428df7 Stub LookupAccountNameA/W
svn path=/trunk/; revision=11080
2004-09-26 20:26:13 +00:00
Gé van Geldorp
409e2330e1 Call GetProcessHeap() instead of passing it's address
svn path=/trunk/; revision=11079
2004-09-26 19:17:21 +00:00
Hartmut Birr
6375fca5be - Added a little sample which tests the noexecute protection.
svn path=/trunk/; revision=11077
2004-09-26 17:00:15 +00:00
Royce Mitchell III
9d63d77c6e add a little more debug output in case of unhandled exceptions
svn path=/trunk/; revision=11076
2004-09-26 16:54:53 +00:00
Hartmut Birr
1b03d41981 - Detect more cpu features.
- Implemented the noexecute protection for the AMD64 cpu.

svn path=/trunk/; revision=11075
2004-09-26 16:32:18 +00:00
Thomas Bluemel
455470d018 minor fix
svn path=/trunk/; revision=11074
2004-09-26 16:14:05 +00:00
Thomas Bluemel
cc0fabacd1 use Get/SetWindowLongPtr() where appropriate in favor of 64bit compatibility
svn path=/trunk/; revision=11073
2004-09-26 15:55:53 +00:00
Martin Fuchs
d3f70f50f0 introduce XPath syntax to make handling configuration a bit easier
svn path=/trunk/; revision=11071
2004-09-26 15:13:16 +00:00
Hartmut Birr
c8e0c372d9 - Rewrote (copied from ntdll) parts of the relocation and import fixup code.
- Don't load no-load sections at the end of the  driver.
- Don't relocate the relocation section itself.
- Set the correct page protection for section which are executable.
- Added a (dirty) fix for the fireport driver.
- Fixed the detection of the noguiboot option.

svn path=/trunk/; revision=11070
2004-09-26 15:07:44 +00:00
Filip Navara
a2446b3408 - Move shldisp.h to the right place.
- Get rid of the ICOM crap.

svn path=/trunk/; revision=11069
2004-09-26 14:34:23 +00:00
Thomas Bluemel
c28cd9af2c minor fix
svn path=/trunk/; revision=11068
2004-09-26 13:25:42 +00:00
Thomas Bluemel
5ee10c6024 add hid.dll to the build system
svn path=/trunk/; revision=11067
2004-09-26 12:39:30 +00:00
Eric Kohl
a1463efaf0 Delete a boot log from the registry after it was written to the boot log file.
svn path=/trunk/; revision=11066
2004-09-26 11:29:50 +00:00
Thomas Bluemel
1a541c9ebb enable PCH
svn path=/trunk/; revision=11065
2004-09-26 10:43:00 +00:00
Thomas Bluemel
dae8e69f8c fixed typo
svn path=/trunk/; revision=11064
2004-09-26 10:01:09 +00:00
Thomas Bluemel
06fc0007ce added shell extension that enables the user to change compatibility modes for .exe files in the file properties.
svn path=/trunk/; revision=11063
2004-09-26 09:56:23 +00:00
Hartmut Birr
82f36a4a4e - Reselected the drive (master/slave) after a soft reset.
svn path=/trunk/; revision=11062
2004-09-26 09:14:20 +00:00
Art Yerkes
a3091079d6 Fixed each call to use a unique event. This is needed because send, recv,
connect, etc can complete independently even on the same socket.
Fixed connect to pass the status from afd back correctly.  Connect now
fails as expected when we couldn't make a connection.

svn path=/trunk/; revision=11061
2004-09-26 07:55:32 +00:00
Royce Mitchell III
97fcd66fc7 more sayings
svn path=/trunk/; revision=11060
2004-09-26 02:33:31 +00:00
Filip Navara
93f1330753 - Fix RtlFindClearBits to correctly treat the hint.
svn path=/trunk/; revision=11059
2004-09-25 22:59:17 +00:00
Gé van Geldorp
200da8e7da Don't abandon file creation if hTemplateFile is INVALID_HANDLE_VALUE
svn path=/trunk/; revision=11058
2004-09-25 21:44:02 +00:00
Art Yerkes
e1741d6626 Use the recursive mutex to lock the TCP.
svn path=/trunk/; revision=11057
2004-09-25 21:32:56 +00:00
Art Yerkes
1eb1e27110 Added simple recursive mutex adapted from my afd one. Works both above
and below DISPATCH_LEVEL.

svn path=/trunk/; revision=11056
2004-09-25 21:32:18 +00:00
Art Yerkes
3a4c09d746 More experimental detritus. Sorry about that.
svn path=/trunk/; revision=11055
2004-09-25 21:08:53 +00:00
Filip Navara
630b1b2eb3 - Fix usage of RtlFindSetBits and loops in CmiStartLogUpdate and CmiStartHiveUpdate.
svn path=/trunk/; revision=11054
2004-09-25 20:53:29 +00:00
Filip Navara
3823d945f5 - Fix implementation of RtlFindSetBits to be able to return bits that are at lower location than the supplied hint.
svn path=/trunk/; revision=11053
2004-09-25 20:49:57 +00:00
Art Yerkes
91fea9194d Previously checked in with some detritus from some experimental rtl stuff.
Fixed.

svn path=/trunk/; revision=11052
2004-09-25 20:38:46 +00:00
Art Yerkes
3725308f3e Fixed connection locking in tcp.c
Added a work item in lan.c re: dpc callback from the adapter.  This keeps
us from needing mdl functions at dpc level.
Track IRPs to be completed with memtrack.

svn path=/trunk/; revision=11051
2004-09-25 20:24:00 +00:00
Filip Navara
ee0f0ee26f - Remove the incorrect ALIGN macro (missing "* (align)") and replace it with ROUND_UP.
svn path=/trunk/; revision=11050
2004-09-25 19:39:57 +00:00
Gé van Geldorp
fceb614b2b Make some installers happy (well, happier at least)
svn path=/trunk/; revision=11049
2004-09-25 18:22:33 +00:00
Emanuele Aliberti
0f2014b8bb Fixed spelling error.
svn path=/trunk/; revision=11048
2004-09-25 15:46:52 +00:00
Eric Kohl
23a709ca5f - CmiAddValueToKey(): Double the size of the value list cell when it is completely filled. This prevents fragmentation if a key got lots of values.
- CmiDeleteValueFromKey(): Fix corruption of the value list cell when a value is removed from the list.
- Rename the variable VBOffset to ValueCellOffset.

svn path=/trunk/; revision=11047
2004-09-25 15:25:28 +00:00
Eric Kohl
1f82196fd5 - Use ROUND_UP macro instead of explicit calculation.
- Replace fixed values by appropriate constants.
- Replace STATUS_UNSUCCESSFUL by better status codes.

svn path=/trunk/; revision=11046
2004-09-25 12:11:13 +00:00
Gé van Geldorp
95210d36ee - Round up requested amount of memory instead of down
- Simplify space check, old version didn't work because of signed/unsigned issues

svn path=/trunk/; revision=11045
2004-09-25 08:58:44 +00:00
Gé van Geldorp
79c3ba475a SeAccessCheck() returns TRUE on success
svn path=/trunk/; revision=11044
2004-09-25 08:49:06 +00:00
Filip Navara
ee3726520d - Remove duplicate SPI_* definitions.
svn path=/trunk/; revision=11043
2004-09-25 08:21:12 +00:00
Filip Navara
d8db49d056 - Remove duplicate definitions and redundant header file.
svn path=/trunk/; revision=11042
2004-09-25 08:20:16 +00:00
Martin Fuchs
5ee46f4794 compareType refactoring
svn path=/trunk/; revision=11041
2004-09-25 07:55:31 +00:00
Art Yerkes
0089446cc6 cm/regfile.c, ldr/init.c, ldr/loader.c: OBJ_CASE_INSENSITIVE patch I proposed
on the list.  This makes the registry, and dll loading case insensitive when
we are on a case preserving filesystem.

ntoskrnl/ex/power.c: My own contributions to the poweroff message list.

ntoskrnl/mm/npool.c: Fixed bit-rot in whole page alloc.  That's how i found
the bug below.

se/semgr.c, lib/rtl/sd.c:
semgr, when creating a SECURITY_DESCRIPTOR, anded the PRESENT and DEFAULT
flags rather than oring them for group, dacl, and sacl, leading to
RtlLengthSecurityDescriptor giving the wrong length to sdcache.  When
sdcache would copy the security descriptor, it would be too short, and
the bound check from the whole-page allocator would go off.  I fixed this
and made rtl/sd.c use the ROUND_UP macro and RtlLengthSid.  This is cleaner.
It may not be completely correct yet but it no-longer truncates security
descriptors into the cache, which means that the Owner, Group and etc
SIDs should now actually work right when coming from the cache, no matter
what happens in the heap.  They probably seemed to work before simply
because they trashed the ends of their blocks and never moved in the
cache.

svn path=/trunk/; revision=11040
2004-09-25 06:41:16 +00:00
Art Yerkes
906e734ab4 Changed functions RtlClearAllBits and RtlSetAllBits to use SizeOfBitMap
as the number of bits, not the number of bytes in the bitmap.  This was
making the whole page allocator in ntoskrnl/mm/npool.c crash early in
the boot process with whole page allocations on.  This may affect other
things adversely as well.

The documentation for RtlInitializeBitMap is here:
http://www.osronline.com/ddkx/kmarch/k109_5sfm.htm

svn path=/trunk/; revision=11039
2004-09-25 03:20:16 +00:00
Thomas Bluemel
9e91360716 1. implemented GetThreadSelectorEntry()
2. added missing DESCRIPTOR_TABLE_ENTRY structure

svn path=/trunk/; revision=11037
2004-09-24 20:55:58 +00:00
Gé van Geldorp
29df1f045e You can't wait for 0 objects
svn path=/trunk/; revision=11036
2004-09-24 20:26:43 +00:00
Thomas Bluemel
4d0a1d7cea don't skip the detection code
svn path=/trunk/; revision=11035
2004-09-24 20:20:46 +00:00
Thomas Bluemel
9dfe6f1d9c enabled the Wizard97 style
svn path=/trunk/; revision=11034
2004-09-24 20:18:16 +00:00
Eric Kohl
01aff80376 Enable wizard 97 style and add a dummy progress page.
svn path=/trunk/; revision=11033
2004-09-24 18:52:29 +00:00
Thomas Bluemel
109dc19c13 added stub for ObFindHandleForObject() and export it
svn path=/trunk/; revision=11031
2004-09-24 16:18:28 +00:00
Filip Navara
ec73e88d5f - Remove duplicate definitions.
svn path=/trunk/; revision=11030
2004-09-24 16:13:21 +00:00
Gé van Geldorp
df80dc6da3 Implement PathIsCharValidA/W
svn path=/trunk/; revision=11029
2004-09-24 15:17:20 +00:00
Filip Navara
c9da2445aa - Don't validate parents after sending the WM_ERASEBKGND message.
- Fix support for SWP_NOREDRAW flag in SetWindowPos.

svn path=/trunk/; revision=11028
2004-09-24 15:07:38 +00:00
Eric Kohl
78e1dba27f Close the bootlog key if value enumeration or writing to the log file fails.
svn path=/trunk/; revision=11027
2004-09-24 15:00:34 +00:00
Gé van Geldorp
361d78ab88 Merge back commit from winehq
svn path=/trunk/; revision=11026
2004-09-24 12:13:54 +00:00
Gé van Geldorp
b92ba82e5f - SHGetAppCompatFlags() takes 4 bytes of parameters
- QueryInterface will return NULL for the new pointer if it fails

svn path=/trunk/; revision=11025
2004-09-24 11:12:44 +00:00
Eric Kohl
97037edf6b - Print correct ReactOS version in the boot log header.
- Add ntoskrnl.exe and hal.dll to the boot log.

svn path=/trunk/; revision=11024
2004-09-24 10:51:35 +00:00
Art Yerkes
102c8c9a78 Initialize ext so that MCLFREE will be called appropriately.
This macro was freeing (m)->m_data, but m was not a macro parameter.
It compiled because virtually every mbuf * is named m.  Fixed.

svn path=/trunk/; revision=11023
2004-09-24 04:58:17 +00:00
Art Yerkes
d7a6bf353f Also wait in the success, no data case in socket state change.
svn path=/trunk/; revision=11022
2004-09-24 00:56:39 +00:00
Art Yerkes
2c75d67c33 Fix send function as well to properly deallocate the irp on failure on
MmProbeAndLockPages.

svn path=/trunk/; revision=11021
2004-09-24 00:51:31 +00:00
Thomas Bluemel
2eb5ead6ed implemented GetUserDefaultUILanguage()
svn path=/trunk/; revision=11020
2004-09-24 00:36:14 +00:00
Thomas Bluemel
5b552386bc don't attempt to reference NULL objects in NtIsProcessInJob()
svn path=/trunk/; revision=11019
2004-09-23 22:02:39 +00:00
Thomas Bluemel
b50f152bc1 implemented NtIsProcessInJob()
svn path=/trunk/; revision=11018
2004-09-23 21:23:34 +00:00
Emanuele Aliberti
bf3b5cc677 Emanuele Aliberti <ea@reactos.com>
- Some stubs for ts moved in process/session.c.
- Implemented ProcessIdToSessionId.

svn path=/trunk/; revision=11017
2004-09-23 21:01:23 +00:00
Art Yerkes
b0f758cf33 tcp: print error when we can't allocate a bucket.
event: Don't report eof if we have bytes to deliver still.
       Made a mistake moving statuses around.  Requeue the request on
       STATUS_PENDING.

svn path=/trunk/; revision=11016
2004-09-23 20:51:46 +00:00
Art Yerkes
e91d1416ab Write: print bytes returned so we can see it.
Read : notify ourselves that the buffer is empty and reset the pointers.
Tdi  : since the handler part is an inner function, don't return from it
       but instead set Status and return afterward.

svn path=/trunk/; revision=11015
2004-09-23 20:48:40 +00:00
Gé van Geldorp
0a185bdb18 Sync to Wine:
Alexandre Julliard <julliard@winehq.org>
- Store all information about the current dll in a structure instead of
  using global variables to make it easier to reuse the parsing
  routines.
- Added native mode dll support (based on a patch by Marcus Meissner).
- Added support for building a dll from a .def file for cases where we
  don't want to write a full .spec.
- Renamed --spec option to --dll for consistency.
- Removed the Unicode exe modes, and instead detect automatically which
  mode to use based on the existence of main or wmain.
- Automatically detect whether the entry point is main or WinMain
  instead of depending on the subsystem type.
- Do not strip stdcall decoration in spec files.
- Print a warning when DllRegisterServer and similar functions are not
  marked private.
- Fill in the proper offsets in the resource directory instead of
  relying on the compiler to do it.
Jukka Heinonen <jhei@iki.fi>
- Remove support for generating interrupt handlers.
- DPMI programs now handle pending events.
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Fix proc name reported in delay load failure.
Richard Cohen <richard@daijobu.co.uk>
- Remove . from default library search path.
Eric Pouech <pouech-eric@wanadoo.fr>
- added size information about most of the generated thunks (import,
  16/32 relay...)
- marked the wine thunks by inserting specific symbols (to be managed
  by wine's dbghelp)
- removed the stabs generation:
  + mostly used by winedbg, and the previous item will replace it for
    dbghelp
  + still broken for gdb anyway
- enhanced const correctness
Pierre d'Herbemont <stegefin@free.fr>
- Detection of .size instruction.
- Detection of the assembler name prefix.
- Delayed import fix for Darwin and PowerPC Host.
- Be more accurate on Darwin stack size.
- Delay import fix on PowerPC hosts.
Marcus Meissner <meissner@suse.de>
- Use "LD" instead of "ld" in winebuild to be able to use a different ld
  or ld options.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Add a few missing __ASM_NAME macros.

svn path=/trunk/; revision=11014
2004-09-23 20:27:30 +00:00
Casper Hornstrup
219e1cea20 2004-09-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/msafd/makefile (TARGET_CFLAGS): Don't define DBG.
	* lib/msafd/include/debug.h: Redefine ASSERT.

svn path=/trunk/; revision=11013
2004-09-23 20:05:32 +00:00
Thomas Bluemel
f9de66edba remove implemented stubs
svn path=/trunk/; revision=11011
2004-09-23 19:03:26 +00:00
Thomas Bluemel
8fd7d74051 fixed returning a wrong handle count in GetProcessHandleCount()
svn path=/trunk/; revision=11010
2004-09-23 19:01:38 +00:00
Thomas Bluemel
3d915100ab fixed initialization of the object attributes in CreateJobObjectW()
svn path=/trunk/; revision=11009
2004-09-23 18:55:18 +00:00
Thomas Bluemel
808e28016e implemented OpenJobObjectA/W() - untested though
svn path=/trunk/; revision=11008
2004-09-23 18:46:10 +00:00
Martin Fuchs
c39da650dd work around GCC's wide string constant bug
svn path=/trunk/; revision=11007
2004-09-23 18:37:57 +00:00
Thomas Bluemel
51c36121e9 implemented CreateJobObjectA/W() - untested though
svn path=/trunk/; revision=11006
2004-09-23 18:31:51 +00:00
Thomas Bluemel
b85ef6c64a implemented IsProcessInJob(), AssignProcessToJobObject(), QueryInformationJobObject(), SetInformationJobObject() and TerminateJobObject(), all untested though
svn path=/trunk/; revision=11005
2004-09-23 18:02:19 +00:00
Royce Mitchell III
04c8adbef9 add some debug output
svn path=/trunk/; revision=11004
2004-09-23 18:00:29 +00:00
Thomas Bluemel
1c5a999278 export job functions
svn path=/trunk/; revision=11003
2004-09-23 17:03:59 +00:00
Thomas Bluemel
08dea69da5 forgot to add job access rights
svn path=/trunk/; revision=11002
2004-09-23 16:53:25 +00:00
Thomas Bluemel
dcea0ecb49 proper job access mapping
svn path=/trunk/; revision=11001
2004-09-23 16:31:21 +00:00
Martin Fuchs
62c06f1198 encode &quot; and &apos;
svn path=/trunk/; revision=11000
2004-09-23 16:09:15 +00:00
Art Yerkes
d774499bf8 event.c: Don't infinite loop while completing a zero-length read.
tcp.c: Correctly pass on length in recv.

svn path=/trunk/; revision=10999
2004-09-23 14:16:27 +00:00
Royce Mitchell III
0dbb29fa23 small fix to OskitDumpBuffer() - each line should display the address of it's first byte, not the address of the beginning of the dump...
svn path=/trunk/; revision=10998
2004-09-23 12:43:49 +00:00
Royce Mitchell III
2c63cbebbc new version of OskitDumpBuffer() that shows ascii characters, too, for easier debugging
svn path=/trunk/; revision=10997
2004-09-23 12:36:19 +00:00
Eric Kohl
6e00d9b507 Implement boot logging. Add /BOOTLOG to the command line to enable boot logging.
svn path=/trunk/; revision=10996
2004-09-23 11:27:58 +00:00
Art Yerkes
d0135b1184 Fixed the way send and recv are called and return errors.
added some printing.
dllmains: adjusted printing.

svn path=/trunk/; revision=10995
2004-09-23 08:16:16 +00:00
Gé van Geldorp
18318e6e17 Steven Edwards <steven_ed4153@yahoo.com>
- Remove some unneeded include statements.

svn path=/trunk/; revision=10994
2004-09-23 06:48:09 +00:00
Art Yerkes
51580f3182 Fixes: Lock does not need to acquire a spinlock in the non-passive-level
case because we can't contend with outselves in passive level.
Realized subtle bug in select.

Select needs a referenced file object rather than a handle.  Will change
this when i get time.

svn path=/trunk/; revision=10993
2004-09-23 06:42:16 +00:00
Art Yerkes
36cc9bb181 Main changes: reimported uipc_socket.c which had lots of differences with
freebsd.
Fixed: OskitTCPReceive.  Now rely exclusively on uio as suggested.

svn path=/trunk/; revision=10992
2004-09-23 06:39:16 +00:00
Royce Mitchell III
bb9e009623 forgot to save workspace before commiting. removed directory from include path that was only meant to be temporary
svn path=/trunk/; revision=10991
2004-09-23 03:13:35 +00:00
Royce Mitchell III
438e4eae22 oskittcp can now be built with vs6
svn path=/trunk/; revision=10990
2004-09-23 03:02:29 +00:00
Martin Fuchs
696d3bd2b6 remove wStringTableOffset
svn path=/trunk/; revision=10989
2004-09-22 23:00:24 +00:00
Martin Fuchs
8e81012956 configuration dialog to choose between MDI and SDI mode with persistent storage
svn path=/trunk/; revision=10988
2004-09-22 22:57:00 +00:00
Thomas Bluemel
40637ed24b initialize the job management and export PsJobType
svn path=/trunk/; revision=10987
2004-09-22 22:31:46 +00:00
Steven Edwards
ba27e813a3 Fix building mdi test on MS_VC and Mingw
svn path=/trunk/; revision=10986
2004-09-22 22:25:13 +00:00
Steven Edwards
3cf59b7b6c Fix building dnsquery test on MS_VC and Mingw
svn path=/trunk/; revision=10985
2004-09-22 22:13:56 +00:00
Gé van Geldorp
4170c2ae26 Henning Gerhardt <henning.gerhardt@web.de>
- Minor fixes and updates to the German resource files.
Marcelo Duarte <wine-devel@bol.com.br>
- French translation and other adjustments.
- Update localization for Portuguese language.
Ivan Leo Puoti <puoti@inwind.it>
- Changed my name, so update copyright info.
- Added Italian resources.
Jose Manuel Ferrer Ortiz <jmfo1982@yahoo.es>
- Updated the Spanish shell32 translation and made some corrections to
  other language files.

svn path=/trunk/; revision=10984
2004-09-22 20:50:30 +00:00
Thomas Bluemel
594cfc6a04 1. fixed RtlValidSecurityDescriptor() that attempted to validate nonexisting owner/group SID
2. implemented RtlValidRelativeSecurityDescriptor()

svn path=/trunk/; revision=10983
2004-09-22 20:16:02 +00:00
Steven Edwards
c92d7b8a36 Fix building for building on both Mingw and MS_VC.
svn path=/trunk/; revision=10982
2004-09-22 19:53:14 +00:00
Gé van Geldorp
dab159a4de Robert Shearman <rob@codeweavers.com>
- GetWindowLong -> GetWindowLongPtr.

svn path=/trunk/; revision=10981
2004-09-22 19:46:52 +00:00
Gé van Geldorp
5a585fd014 Ulrich Czekalla <ulrich@codeweavers.com>
- When we send out a notification to a registered window with
  SHCNRF_NewDelivery, we should send a LPNOTIFICATIONLIST and the
  process id of the caller.

svn path=/trunk/; revision=10980
2004-09-22 19:38:54 +00:00
Gé van Geldorp
c2678bf64e Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.

svn path=/trunk/; revision=10979
2004-09-22 19:24:14 +00:00
Gé van Geldorp
b49b939efd Stefan Leichter <Stefan.Leichter@camLine.com>
- Moved stub of Control_FillCache_RunDLL from ascii to unicode.

svn path=/trunk/; revision=10978
2004-09-22 19:13:36 +00:00
Gé van Geldorp
f505dd6839 Merge back commit from winehq.
Mike McCormack <mike@codeweavers.com>
- Use Heap function in preference to malloc/free.

svn path=/trunk/; revision=10977
2004-09-22 18:47:39 +00:00
Gé van Geldorp
2e87325d12 Huw Davies <huw@codeweavers.com>
- Change dialogs to use MS Shell Dlg rather than Helv or MS Sans Serif.

svn path=/trunk/; revision=10976
2004-09-22 18:10:57 +00:00
Royce Mitchell III
b608a8ac83 don't zero out OtcpEvent structure from InitOskitTCP(), because it has already been initialized at this point. Also added a check for null to avoid crash in ifa_ifwithnet()
svn path=/trunk/; revision=10975
2004-09-22 17:41:52 +00:00
Thomas Bluemel
bebf5b5e5e 1. added EJOB structure
2. implemented PsGetProcessJob(), PsGetJobLock(), PsGetJobSessionId() and PsGetJobUIRestrictionsClass()

svn path=/trunk/; revision=10974
2004-09-22 14:53:26 +00:00
Royce Mitchell III
cd3894b51d clean up/simplify 'type' command some more and don't append command-terminating carriage-return to the output buffer.
svn path=/trunk/; revision=10973
2004-09-22 13:55:07 +00:00
Royce Mitchell III
540291d651 replace problematic stack variable in OskitTCPSend() with properly allocated mbuf, and get rid of a redundant memcpy() in OskitTCPReceiveDatagram().
svn path=/trunk/; revision=10972
2004-09-22 13:35:11 +00:00
Thomas Bluemel
3c9fc0f8ce accidently changed the @unimplemented marks
svn path=/trunk/; revision=10971
2004-09-22 10:58:06 +00:00
Thomas Bluemel
c436cba1b9 don't be silent when calling unimplemented functions
svn path=/trunk/; revision=10970
2004-09-22 10:49:07 +00:00
Thomas Bluemel
6c07abd294 implemented CheckNameLegalDOS8Dot3A/W()
svn path=/trunk/; revision=10969
2004-09-22 09:31:01 +00:00
Gé van Geldorp
2b9416f467 Robert Shearman <rob@codeweavers.com>
- Share version information between DllGetVersion and resource file.

svn path=/trunk/; revision=10968
2004-09-22 05:08:04 +00:00
Gé van Geldorp
9fcfe5a590 Juan Lang <juan_lang@yahoo.com>
- If a folder contains a desktop.ini, check it for the icon location
  before using the default folder icon.

svn path=/trunk/; revision=10967
2004-09-21 22:14:38 +00:00
Thomas Bluemel
cbfc9645ec implemented GetSystemRegistryQuota()
svn path=/trunk/; revision=10966
2004-09-21 22:08:18 +00:00
Thomas Bluemel
5f701004c0 fixed definition of the SYSTEM_REGISTRY_QUOTA_INFORMATION structure
svn path=/trunk/; revision=10965
2004-09-21 22:07:38 +00:00
Thomas Bluemel
1f2ec88e90 implemented GetProcessHandleCount()
svn path=/trunk/; revision=10964
2004-09-21 21:53:45 +00:00
Gé van Geldorp
63b36d9681 Francois Gouget <fgouget@codeweavers.com>
- Fix CSIDL_COMMON_{STARTMENU,PROGRAMS,DESKTOPDIRECTORY} so they all use
  paths in 'All Users' like CSIDL_COMMON_STARTUP.
  The CSIDL_COMMON_PROGRAMS fix solves many menu creation problems.

svn path=/trunk/; revision=10963
2004-09-21 21:13:49 +00:00
Gé van Geldorp
664942baf9 Eric Pouech <pouech-eric@wanadoo.fr>
- GetModuleFileName[AW] doesn't terminate the string if the buffer is
  too small.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Don't leak cache imagelists on exit.

svn path=/trunk/; revision=10962
2004-09-21 20:48:02 +00:00
Gé van Geldorp
ffa3b3d7fd Match whitespace to winehq
svn path=/trunk/; revision=10961
2004-09-21 19:44:19 +00:00
Gé van Geldorp
2ff29d7662 Juan Lang <juan_lang@yahoo.com>
- Correct return value in a couple of error cases.
Marcus Meissner <marcus@jet.franken.de>
- Marked some functions in debughlp as static.
- Do not use REFIID as return, but IID*.

svn path=/trunk/; revision=10960
2004-09-21 19:38:17 +00:00
Gé van Geldorp
a867629b4f Juan Lang <juan_lang@yahoo.com>
- Correct some PIDL types and eliminate some magic numbers in PIDL
  allocation; correct a copy-pasto from a previous patch.

svn path=/trunk/; revision=10959
2004-09-21 19:34:21 +00:00
Thomas Bluemel
e831b21339 implemented CreateMemoryResourceNotification() and QueryMemoryResourceNotification(), but only the kernel32 part
svn path=/trunk/; revision=10958
2004-09-21 19:17:26 +00:00
Gé van Geldorp
d0fa47278d Sync to winehq
svn path=/trunk/; revision=10957
2004-09-21 19:11:35 +00:00
Gé van Geldorp
e74c23bc36 We have our own tray code
svn path=/trunk/; revision=10956
2004-09-21 19:02:01 +00:00
Gé van Geldorp
af135d8b9b Juan Lang <juan_lang@yahoo.com>
- Add stub for ShellDDEInit to let Windows explorer.exe get past the
  beginning.
Francois Gouget <fgouget@free.fr>
- Make Unicode strings static const.
Eric Pouech <pouech-eric@wanadoo.fr>
- GetModuleFileName[AW] doesn't terminate the string if the buffer is
  too small.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Delete the about dialog font when the dialog is closed.
Juan Lang <juan_lang@yahoo.com>
- Added support for DLLVERSIONINFO2 in DllGetVersion.

svn path=/trunk/; revision=10955
2004-09-21 18:55:53 +00:00
Gé van Geldorp
4ac1e6a310 Mike McCormack <mike@codeweavers.com>
- Update path from relative path on loading.

svn path=/trunk/; revision=10954
2004-09-21 18:14:15 +00:00
Thomas Bluemel
bd7af734b8 implemented IsDBCSLeadByte() and IsDBCSLeadByteEx()
svn path=/trunk/; revision=10953
2004-09-21 17:41:24 +00:00
Art Yerkes
fa965094ed Fixed tcptest to not do send recv or close on a socket that's not connected.
This keeps the user from doing something inappropriate.
makefile: add -g back in

svn path=/trunk/; revision=10952
2004-09-21 04:06:15 +00:00
Royce Mitchell III
6f6e411eef bcopy()'s arguments are different order than memcpy()
svn path=/trunk/; revision=10951
2004-09-21 04:00:14 +00:00
Gé van Geldorp
822b8e1a47 Francois Gouget <fgouget@free.fr>
- Make Unicode const strings static so they are not copied to the stack
  each time we enter the function.
Aric Stewart <aric@codeweavers.com>
- In IPersistFile_Save if the exe file is not found, trust the path we
  are given and allow creation of the link.
- Make sure exePath contains the path since it is used later in the
  function as well.
Ge van Geldorp <gvg@reactos.com>
- Match whitespace to winehq

svn path=/trunk/; revision=10950
2004-09-20 21:39:04 +00:00
Hartmut Birr
093f4a09c5 - Implemented the loading of drivers according to the order
of the tag entries in the GroupOrderList key.

svn path=/trunk/; revision=10949
2004-09-20 19:47:25 +00:00
Gé van Geldorp
c9ece8cfa5 Maxime Belleng� <maxime.bellenge@laposte.net>
- Add the IAutoComplete and IAutoComplete2 implementation (but methods
  stubbed for now).

svn path=/trunk/; revision=10948
2004-09-20 19:47:14 +00:00
Gé van Geldorp
6eb55219c8 Merge back commits from winehq
Maxime Bellenge <maxime.bellenge@laposte.net>
- Add the IAutoComplete and IAutoComplete2 implementation (but methods
  stubbed for now).

svn path=/trunk/; revision=10947
2004-09-20 18:55:21 +00:00
Gé van Geldorp
dfd4f0156b Francois Gouget <fgouget@free.fr>
- Fix some field names in CSFV and QCMINFO.
Patrik Stridvall <ps@leissner.se>
- Fixed some issues found by winapi_check.

svn path=/trunk/; revision=10946
2004-09-20 18:45:00 +00:00
Gé van Geldorp
5a384553bd Robert Shearman <rob@codeweavers.com>
- Add exports for missing ordinals 191-194.
- Stub for SHUpdateImageW.

svn path=/trunk/; revision=10945
2004-09-20 18:32:33 +00:00
Gé van Geldorp
6382d705ab Francois Gouget <fgouget@free.fr>
- Don't export the shell32 SHAllocShared functions by name.
  Implement them by calling out their shlwapi equivalent (which had a
  much more complete implementation anyway).
- Fix the prototype of shlwapi's SHAllocShared().
- Don't crash if lpvData is NULL in SHAllocShared().
- Add a conformance test to shlwapi.

svn path=/trunk/; revision=10944
2004-09-20 18:29:10 +00:00
Gé van Geldorp
cccdc00157 Fork a small change which has little change of being accepted by winehq
svn path=/trunk/; revision=10943
2004-09-20 18:08:37 +00:00
Gé van Geldorp
322da3c44c Vincent Beron <vberon@mecano.gme.usherb.ca>
- Don't hardcode c:\windows paths in msi.dll.
Huw Davies <huw@codeweavers.com>
- Unicodify a load of strings.

svn path=/trunk/; revision=10942
2004-09-20 18:07:54 +00:00
Hartmut Birr
553993dcd2 - Implemented the driver loading by the sequence of tag entries in the GroupOrderList key.
svn path=/trunk/; revision=10941
2004-09-20 18:02:36 +00:00
Hartmut Birr
b23fa198a6 - Added the 'GroupOrderList' key.
- Added entries for some scsi port drivers.
- Added the tag key for the atapi driver.

svn path=/trunk/; revision=10940
2004-09-20 17:57:46 +00:00
Gé van Geldorp
f634e3c46c Return status code
svn path=/trunk/; revision=10939
2004-09-20 17:55:16 +00:00
Gé van Geldorp
67f1b8f671 Martin Fuchs <martin-fuchs@gmx.net>
- make drive letters in PIDLs always uppercase to enable PIDL
  comparison
- Unicodify _ILCreateDrive()

svn path=/trunk/; revision=10938
2004-09-20 17:47:49 +00:00
Gé van Geldorp
e4f5d86770 Martin Fuchs <martin-fuchs@gmx.net>
Return "file not found" error values instead of E_INVALIDARG if
_ILCreateFromPathA() failed to find files.

svn path=/trunk/; revision=10936
2004-09-20 17:42:57 +00:00
Royce Mitchell III
cd1222eced initialize fields that sosend() expects to have valid values
svn path=/trunk/; revision=10935
2004-09-20 15:47:03 +00:00
Gé van Geldorp
db2f0db5f7 Martin Fuchs <martin-fuchs@gmx.net>
- make drive letters in PIDLs always uppercase to enable PIDL
  comparison
- Unicodify _ILCreateDrive()

svn path=/trunk/; revision=10934
2004-09-20 15:36:07 +00:00
Gé van Geldorp
56dec0d9ee Merge back commit from winehq
svn path=/trunk/; revision=10933
2004-09-20 15:07:21 +00:00
Gé van Geldorp
91923bdc1d Mike McCormack <mike@codeweavers.com>
- Clean up messy comment in SHFileOperation.
- Reduce the number of goto labels in SHFileOperation by one.

svn path=/trunk/; revision=10932
2004-09-20 14:52:47 +00:00
Gé van Geldorp
88a015f877 Vitaliy Margolen <wine-patch@kievinfo.com>
- IShellFolder::CompareIDs - return only -1/0/1 in lower 16 bit.

svn path=/trunk/; revision=10931
2004-09-20 14:45:07 +00:00
Gé van Geldorp
8985a9b088 Alexandre Julliard <julliard@winehq.org>
- Don't define BEGIN_INTERFACE in unknwn.h.
Francois Gouget <fgouget@free.fr>
- Add #define COBJMACROS where needed in Wine.
Juan Lang <juan_lang@yahoo.com>
- IShellView seems reasonably complete, change a FIXME to a TRACE to
  speed up open/save dialogs.

Merge back commits from winehq

svn path=/trunk/; revision=10930
2004-09-20 14:38:30 +00:00
Gé van Geldorp
0785062c81 Alexandre Julliard <julliard@winehq.org>
- Get rid of the non-standard ICOM_DEFINE macro.
- Get rid of the non-standard ICOM_VFIELD macro.
- Get rid of the non-standard ICOM_VTABLE macro.
- Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
  macro.
- Removed some more uses of the non-standard ICOM_THIS macro.

svn path=/trunk/; revision=10929
2004-09-20 09:18:52 +00:00
Gé van Geldorp
f7f21544a4 Remove incorrect assert. An APC can be queued to the attached environment,
as long as it is delivered before KeDetachProcess() is called.

svn path=/trunk/; revision=10928
2004-09-20 08:17:44 +00:00
Art Yerkes
2d1b661aa1 Implemented MCLGET for reactos, not dependent on either bsd or oskit
facilities.

svn path=/trunk/; revision=10927
2004-09-20 05:03:28 +00:00
Art Yerkes
03fea0db7d Royce Mitchell pointed out that we could eliminate these ifdefs if we don't
use a uio, and that the uio is not needed because an mbuf can't be partially
accepted.

svn path=/trunk/; revision=10926
2004-09-20 04:18:45 +00:00
Royce Mitchell III
10adf2be06 sosend( ) will not process mbuf if you pass it a uio (according to arty)
svn path=/trunk/; revision=10925
2004-09-20 04:13:46 +00:00
Gé van Geldorp
5124ae5f88 Fix copy/paste error
svn path=/trunk/; revision=10924
2004-09-19 22:07:40 +00:00
Gé van Geldorp
b22290537c Francois Gouget <fgouget@free.fr>
- Moved declarations from undocshell.h to shlobj.h to match the latest
  platform SDK.

svn path=/trunk/; revision=10923
2004-09-19 22:02:28 +00:00
Royce Mitchell III
2613fbbeb9 added 'type' command
svn path=/trunk/; revision=10922
2004-09-19 15:55:35 +00:00
Thomas Bluemel
17cd1043bb 1. implemented SetProcessWorkingSetSize()
2. fixed Set/GetPriorityClass() not to call csrss and use NtSet/QueryInformationProcess() instead

svn path=/trunk/; revision=10921
2004-09-19 14:36:47 +00:00
Thomas Bluemel
b912ada645 don't memcpy TIME structures to FILETIME structures
svn path=/trunk/; revision=10920
2004-09-19 12:45:55 +00:00
Martin Fuchs
fb19ab485e remove explorer references
svn path=/trunk/; revision=10919
2004-09-19 12:33:17 +00:00
Martin Fuchs
00bbf934b7 added Wine translations for winefile:
es.rc, fr.rc, hu.rc, it.rc, nl.rc, pt.rc, ru.rc, si.rc, zh.rc
Thanks to Sylvain Petreolle <spetreolle@yahoo.fr>

svn path=/trunk/; revision=10918
2004-09-19 12:23:31 +00:00
Hartmut Birr
035b22b542 - Call MmFreeSectionSegments if the Bcb reference count is zero (in CcRosReleaseFileCache).
svn path=/trunk/; revision=10917
2004-09-19 12:11:44 +00:00
Gé van Geldorp
06bac7f0b9 Avoid crash
svn path=/trunk/; revision=10916
2004-09-19 11:25:43 +00:00
Gé van Geldorp
510df619d2 Sync to Wine-20040914
svn path=/trunk/; revision=10915
2004-09-19 11:15:58 +00:00
Gé van Geldorp
0645493981 Sync to Wine-20040914:
Robert Reif <reif@earthlink.net>
- Don't try to find alternate formats for non PCM formats.

svn path=/trunk/; revision=10913
2004-09-19 11:13:17 +00:00
Gé van Geldorp
601c767280 Sync to Wine-20040914:
David Kredba <kredba@ibot.cas.cz>
- Added Czech resources.
Robert Reif <reif@earthlink.net>
- Remove wine specific DRV_QUERYDSOUNDGUID message and calculate it in
  dsound.dll (like in 2k/xp).
Dmitry Timoshkov <dmitry@codeweavers.com>
- Fix an obvious typo leading to a crash.
Alexandre Julliard
- Function parameters don't need WINE_UNUSED.
Eric Pouech <pouech-eric@wanadoo.fr>
- Implemented the mmTask* functions.

svn path=/trunk/; revision=10912
2004-09-19 11:07:39 +00:00
Emanuele Aliberti
976020b12d .cvsignore updated.
svn path=/trunk/; revision=10911
2004-09-19 10:48:43 +00:00
Gé van Geldorp
7a8404b20f Sync to Wine-20040914:
Hans Leidekker <hans@it.vu.nl>
- Dutch resource translation.
Alexandre Julliard
- Removed some uses of the non-standard ICOM_THIS macro.
- Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
  macro.
Mike McCormack <mike@codeweavers.com>
- Fix some -Wsigned-compare warnings.
- Don't read past end of table in PathFileExistsDefExtW.
- Use the ACP define in MB/WC conversion functions.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Implement SHSimulateDrop, MIME_GetExtensionA/W, StrCpyNXA/W,
  SHAnsiToAnsi, SHUnicodeToUnicode.
Francois Gouget <fgouget@free.fr>
- Don't export the shell32 SHAllocShared functions by name.
- Implement them by calling out their shlwapi equivalent (which had a
  much more complete implementation anyway).
- Fix the prototype of shlwapi's SHAllocShared().
- Don't crash if lpvData is NULL in SHAllocShared().
- Add a conformance test to shlwapi.
- Assorted spelling fixes.
Diego Petten= <dgp85@users.sourceforge.net>
- Add support for file:/// urls in PathCreateFromUrl.
- Add support in UrlIs() for URLIS_DIRECTORY and URLIS_FILEURL flags.
James Hawkins <truiken@gmail.com>
- Fix buffer overflow in PathSetDlgItemPathW that led to a trashed
  stack.

svn path=/trunk/; revision=10910
2004-09-19 10:46:48 +00:00
Gé van Geldorp
77b4d47ea6 Sync to Wine-20040914:
Mike McCormack <mike@codeweavers.com>
- Avoid non-standard types in rpcdcep.h.
Alexandre Julliard:
- Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
  macro.
- Removed some uses of the non-standard ICOM_THIS macro.
Francois Gouget <fgouget@free.fr>
- Fix and unify parsing of calling conventions.
- Hack handling of 'struct { } *NDR_SCONTEXT;' so we don't cause a parse
  error as this is a valid C construct.
- Generate type tests for rpcrt4.
- Remove PRPC_BINDING_VECTOR and PUUID_VECTOR, they don't exist on
  Windows.
- Fix the MIDL_STUB_MESSAGE, MIDL_SERVER_INFO and
  MIDL_STUBLESS_PROXY_INFO structs.
- Add NDR_ALLOC_ALL_NODES_CONTEXT, NDR_POINTER_QUEUE_STATE and
  CS_STUB_INFO.

svn path=/trunk/; revision=10909
2004-09-19 10:35:24 +00:00
Gé van Geldorp
414bb6e2c0 Sync to Wine-20040914:
Mike McCormack <mike@codeweavers.com>
- Use buffers rather than linked lists for input and out buffers.
- Stop reading input at a nul byte.
Evan Deaubl <wine@warpedview.com>
- Stop processing input stream when the outermost RTF group is closed.

svn path=/trunk/; revision=10908
2004-09-19 10:28:59 +00:00
Gé van Geldorp
95fadd5bb4 Sync to Wine-20040914:
Huw Davies <huw@codeweavers.com>
- Change dialogs to use MS Shell Dlg rather than Helv or MS Sans Serif.
David Kredba <kredba@ibot.cas.cz>
- Added Czech resources.

svn path=/trunk/; revision=10907
2004-09-19 10:24:48 +00:00
Gé van Geldorp
5693a82971 Sync to Wine-20040914:
Alexandre Julliard:
- Added recursive idl target to allow updating idl files private to a
  dll.
- Get rid of the non-standard ICOM_THIS macro.
- Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
  macro.
- Inline functions don't need WINE_UNUSED.
- Don't define BEGIN_INTERFACE in unknwn.h.
Mike McCormack <mike@codeweavers.com>
- Fix some warnings found with -Wsign-compare.
Francois Gouget <fgouget@free.fr>
- Move the PROPVARIANT declaration from objidl.idl to propidl.idl.
- Move related API declarations from individual C files to propidl.idl.
- Remove uneeded include of propidl.h in the propvariant.c test.
Robert Shearman <rob@codeweavers.com>
- Fix PropVariantCopy for VT_LPSTR and VT_LPWSTR.
- Test case VT_BSTR, VT_LPSTR and VT_LPWSTR.
- Fix PropVariantClear to reject invalid types.
- Don't crash on NULL pointers.
- Add test case.

svn path=/trunk/; revision=10906
2004-09-19 10:20:48 +00:00
Gé van Geldorp
07a136b6e9 Sync to Wine-20040914:
Hans Leidekker <hans@it.vu.nl>
- Dutch resource translation.

svn path=/trunk/; revision=10905
2004-09-19 10:08:06 +00:00
Gé van Geldorp
6a086fc044 Sync to Wine-20040914:
Hans Leidekker <hans@it.vu.nl>
- Dutch resource translation.
David Kredba <kredba@ibot.cas.cz>
- Added Czech resources.

svn path=/trunk/; revision=10904
2004-09-19 10:07:26 +00:00
Gé van Geldorp
6dfffdb082 Sync to Wine-20040913:
Huw Davies <huw@codeweavers.com>
- Change dialogs to use MS Shell Dlg rather than Helv or MS Sans Serif.
- Fix printer selection in PD_PRINTSETUP type dialogs.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Use "MS Shell Dlg" in the Open File dialog templates as in Windows
- Resize child dialog when its controls are moved relatively stc32
  "magic" control.
- Y coordinate of the "magic" static control should be treated
  inclusively.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Polish translation update.
Rein Klazes <rklazes@xs4all.nl>
- Fix a crash saving a file without file name extension and without
  extension filter.
Hans Leidekker <hans@it.vu.nl>
- Fix signed/unsigned comparison warnings.
Alexandre Julliard
- Removed some uses of the non-standard ICOM_THIS macro.
- Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
  macro.
- Get rid of the non-standard CONV_POINT and CONV_RECT functions.

svn path=/trunk/; revision=10903
2004-09-19 10:03:26 +00:00
Gé van Geldorp
a795a4185c Sync to Wine-20040913:
Robert Shearman <rob@codeweavers.com>
- Add 16x16 error, info and warning icons.
- Replace GetWindowLong by GetWindowLongPtr.
- Implement insert marks.
- Rearrange TOOLBAR_INFO.
- Clear data structure after dragging.
- WM_SETCURSOR does not need to be handled as it is not sent whilst
  the window is captured.
- Make uDragListMessage non-static so that we can re-use it
  elsewhere.
- Set class hbrBackground and style to the same as native.
- Set hbrBackground class property to same value as native.
- Use Unicode window functions instead of ANSI.
- Always redraw dialog on changing between pages.
- Set hbrBackground class property to same value as native.
- Remove no longer needed WM_ERASEBKGND handler.
- Use Unicode window functions instead of ANSI.
- Make customization list boxes into drag list boxes.
- Order available buttons in the same way as the native version.
- Obey TBCDRF_NOOFFSET for the button text.
- Make anchor highlighting behave more like native version.
- Don't recalculate toolbar in TOOLBAR_Unkwn460.
- Obey WM_SETREDRAW for the WM_ERASEBKGND message as well as
  WM_PAINT.
- TB_MARKITEM should redraw button.
- Send NM_LDOWN notification.
- NM_RDBLCLK only needs to send a NMHDR structure.
- On mouse notifications returning 0 DefWndProc should be called.
- Fix regression with IE's Menu Bar.
- Implement insert marks.
- Rearrange TOOLBAR_INFO.
- Fix anchor highlighting.
- Remove redundant test in TOOLBAR_DrawButton.
- Status update.
- Remove no longer valid comment.
- Minor coding style cleanups.
- Implement titles.
Hans Leidekker <hans@it.vu.nl>
- Fix signed/unsigned comparison warnings.
Ulrich Czekalla <ulrich@codeweavers.com>
- Forward focus to combobox, otherwise edit control won't get focus.
- The rectangle passed in DRAWITEMSTRUCT is slightly too large as
  compared with Windows.
- Clear tooltip when text is set to NULL.
- Repaint tooltip when item info changes.
Kevin Koltzau <kevin@plop.org>
- Fix bug with chained messages.
- Make SetWindowSubclass behave with SetWindowLong subclasses.
- Allow unlimited number of subclasses.
- Correct issue when SendMessage is called from within a subclass proc.
- Add regression test.
Huw Davies <huw@codeweavers.com>
- Change dialogs to use MS Shell Dlg rather than Helv or MS Sans Serif.
David Kredba <kredba@ibot.cas.cz>
- Added Czech resources.
Vitaliy Margolen <wine-patch@kievinfo.com>
- Send correct tracing notification messages.
Michael Stefaniuc <mstefani@redhat.de>
- Fix hotspot handling
- Remove unused flag from the InternalDrag struct.
Filip Navara <xnavara@volny.cz>
- Status update.
- Fix resizing of wizards.
- Fill the area next to watermark bitmap with window color and subclass
  exterior wizard pages to suppress drawing background.
- Correct displaying of wizard subtitle.
- Do not distinguish exterior wizard pages by their position, but
  instead expect that every page in wizard that doesn't have header is
  exterior.
- Move the property sheet resizing code from PROPSHEET_CreatePage to
  PROPSHEET_SetCurSel. It needs to be executed on every page change
  because the application can modify it during the notifications.
- Draw the Wizard97 header bitmaps before drawing the header strings.
- Center the header bitmap of the new Wizard97 correctly.
- Display the correct wizard title for any wizard type and do not
  change it for reqular property sheets.
- Fix loading wizard title and subtitle from resources.
Mike McCormack <mike@codeweavers.com>
- Calculate the correct size of dialog templates in the propsheet
  control.
Zach Gorman <zach@archetypeauction.com>
- OK button should be default in non-wizard property sheets.
- Propsheet pages need WS_EX_CONTROLPARENT style.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- CreateDCA -> CreateDCW
Vitaliy Margolen <wine-patch@kievinfo.com>
- Make sure TreeView gets redrawn after calling EnsureVisible.

svn path=/trunk/; revision=10902
2004-09-19 09:50:06 +00:00
Gé van Geldorp
4319f1c249 Sync to Wine-20040914:
Hans Leidekker <hans@it.vu.nl>
- Fix signed/unsigned comparison warnings.

svn path=/trunk/; revision=10901
2004-09-19 09:18:36 +00:00
Gé van Geldorp
5d5247de81 Prepare for syncing to Wine-20040914
svn path=/trunk/; revision=10900
2004-09-19 09:11:12 +00:00
Gé van Geldorp
ac1e392aec Fix insertion of APCs where the target thread is attached to another process
svn path=/trunk/; revision=10899
2004-09-18 19:43:00 +00:00
Magnus Olsen
767ca4f4ac fix some compilings warings when you using some optimze settings in gcc compiler
env.c: In function `RtlDestroyEnvironment':
env.c:108: warning: dereferencing type-punned pointer will break strict-aliasing rules
env.c: In function `RtlSetEnvironmentVariable':
env.c:347: warning: dereferencing type-punned pointer will break strict-aliasing rules
env.c:393: warning: dereferencing type-punned pointer will break strict-aliasing rules

svn path=/trunk/; revision=10898
2004-09-18 09:31:53 +00:00
Magnus Olsen
c98cf6b15e fix some compilings warings
svn path=/trunk/; revision=10897
2004-09-18 07:25:53 +00:00
Magnus Olsen
e1dbb4b414 fix last compilings warings from this file.
svn path=/trunk/; revision=10896
2004-09-18 07:10:14 +00:00
Magnus Olsen
b743a5f954 fix last compilings warings from this file.
svn path=/trunk/; revision=10895
2004-09-17 18:37:37 +00:00
Magnus Olsen
5a3f530e45 fix last compilings warings from this file.
svn path=/trunk/; revision=10894
2004-09-17 18:19:52 +00:00
Magnus Olsen
9a099491c4 fix last compilings warings from this file.
svn path=/trunk/; revision=10893
2004-09-17 18:12:17 +00:00
Magnus Olsen
94bcb6fe25 fix last compilings warings from this file.
svn path=/trunk/; revision=10892
2004-09-17 17:54:46 +00:00
Magnus Olsen
a99b01ff0c fix some compings warings not all yet
svn path=/trunk/; revision=10891
2004-09-17 17:47:14 +00:00
Magnus Olsen
7a1f8074b5 fix some compings warings not all yet
svn path=/trunk/; revision=10890
2004-09-17 17:31:08 +00:00
Martin Fuchs
25547e2d8c Handle "." and ".." as special direcory names and move them at the very first beginning of directory listings
svn path=/trunk/; revision=10888
2004-09-17 16:56:46 +00:00
Art Yerkes
1c08e25544 Userland test for lan.sys
svn path=/trunk/; revision=10887
2004-09-17 16:07:41 +00:00
Art Yerkes
77700375d6 Interface for lan.sys
svn path=/trunk/; revision=10886
2004-09-17 15:51:52 +00:00
Art Yerkes
83fc2a9406 Removed arp.h until the arp part is finished.
svn path=/trunk/; revision=10885
2004-09-17 15:51:07 +00:00
Art Yerkes
885107a541 lan.sys is a simple driver providing access to ndis. This stuff is
ripped from tcpip.sys in preparation for a big breakup.

svn path=/trunk/; revision=10884
2004-09-17 15:50:16 +00:00
Gé van Geldorp
865a63875c Restore old DBG and KDBG defaults
svn path=/trunk/; revision=10883
2004-09-17 14:48:20 +00:00
Magnus Olsen
74d54596e4 fix small spelling fault
svn path=/trunk/; revision=10882
2004-09-17 09:25:10 +00:00
Gé van Geldorp
6c4737effa Get rid of .edf files
svn path=/trunk/; revision=10881
2004-09-16 21:31:50 +00:00
Magnus Olsen
01926b2642 my small change to config to add optimze build for a cpu
did break build for shm
it  did need small change in makefile for lpc  now it works agein

sorry all

svn path=/trunk/; revision=10880
2004-09-16 19:22:12 +00:00
Magnus Olsen
f9b6a686e0 my small change to config to add optimze build for a cpu
did break build for nptest
it  did need small change in makefile for lpc  now it works agein

sorry all

svn path=/trunk/; revision=10879
2004-09-16 19:20:57 +00:00
Magnus Olsen
475dcac67e my small change to config to add optimze build for a cpu
did break build for mstest
it  did need small change in makefile for lpc  now it works agein

sorry all

svn path=/trunk/; revision=10878
2004-09-16 19:19:34 +00:00
Magnus Olsen
1106a16497 my small change to config to add optimze build for a cpu
did break build for lpc
it  did need small change in makefile for lpc  now it works agein

sorry all

svn path=/trunk/; revision=10877
2004-09-16 18:47:20 +00:00
Magnus Olsen
e75c574ed1 In config add switch OARCH for optimze build for the cpu you want
for rule.mak
remove hardcoding of optimze build for cpu.
-march=i486 to -march=$(OARCH)

svn path=/trunk/; revision=10876
2004-09-16 17:35:33 +00:00
Gé van Geldorp
8523764fef Add forceifhung flag
svn path=/trunk/; revision=10875
2004-09-16 12:46:43 +00:00
Martin Fuchs
21784c13af add shell32.a
svn path=/trunk/; revision=10874
2004-09-16 12:02:49 +00:00
Eric Kohl
9f8dc789cf Implement NtQueryDefaultUILanguage, NtQueryInstallUILanguage and NtSetDefaultUILanguage.
svn path=/trunk/; revision=10873
2004-09-16 11:47:18 +00:00
Eric Kohl
1672f6069e Sort entries and remove duplicates.
svn path=/trunk/; revision=10872
2004-09-16 11:46:17 +00:00
Gé van Geldorp
d3275bbd8b Get rid of .edf files
svn path=/trunk/; revision=10871
2004-09-16 10:25:18 +00:00
Martin Fuchs
0f892545b8 PaintDesktop(): print system version on desktop background
svn path=/trunk/; revision=10870
2004-09-15 20:53:43 +00:00
Thomas Bluemel
e740fd1758 add function to the header file
svn path=/trunk/; revision=10869
2004-09-15 19:01:23 +00:00
Thomas Bluemel
1388215acb added a few usermode helper functions to work with sparse files
svn path=/trunk/; revision=10868
2004-09-15 18:57:02 +00:00
Thomas Bluemel
bc5e02eafd forgot to commit this file
svn path=/trunk/; revision=10867
2004-09-15 17:06:34 +00:00
Aleksey Bragin
380da77736 Make icon drawing mode corresponding to the current display settings (4,8,16,24,32 bit colors)
By Semyon "Tappak" Novikov.

svn path=/trunk/; revision=10866
2004-09-15 16:03:09 +00:00
Martin Fuchs
57dbd89701 fix RegSetValueEx() call
svn path=/trunk/; revision=10865
2004-09-15 14:25:46 +00:00
Thomas Bluemel
650bd77805 implemented EnableVolumeCompression()
svn path=/trunk/; revision=10864
2004-09-15 13:32:27 +00:00
Martin Fuchs
919419da33 remove direct version output from desktop; instead store the activation flag into the registry
svn path=/trunk/; revision=10863
2004-09-15 10:55:02 +00:00
Martin Fuchs
83a9ed824f add winefile
svn path=/trunk/; revision=10862
2004-09-15 10:16:05 +00:00
Martin Fuchs
384543f280 move winefile into subsys/system
svn path=/trunk/; revision=10861
2004-09-15 10:08:34 +00:00
Hartmut Birr
e3c3fe8e95 - Fixed the length calculation in WriteConsoleOutputAttribute.
svn path=/trunk/; revision=10860
2004-09-14 22:30:56 +00:00
Hartmut Birr
581f980ede - Execute the reset command previous the present test for each unit (master/slave).
svn path=/trunk/; revision=10859
2004-09-14 22:09:06 +00:00
Eric Kohl
5ad00f54e3 - Use Unicode strings instead of WCHAR strings.
- Use FsRtl functions to handle wildcards.

svn path=/trunk/; revision=10858
2004-09-14 21:46:39 +00:00
Gé van Geldorp
5a97f250e7 Check if attached when terminating thread. Suggested by tamlin.
svn path=/trunk/; revision=10857
2004-09-14 18:37:40 +00:00
Thomas Bluemel
7678fed2ef do something in wcsnlen() - but it should be (as strnlen() in this file) not implemented there, just so IsBadStringPtrW() works even though it lacks SEH protection at the moment
svn path=/trunk/; revision=10856
2004-09-14 14:01:25 +00:00
Eric Kohl
4a4dcb92cf Implement SeLockSubjectContext and SeUnlockSubjectContext.
svn path=/trunk/; revision=10855
2004-09-14 11:04:48 +00:00
Thomas Bluemel
2da90fee73 little fix
svn path=/trunk/; revision=10854
2004-09-14 01:30:02 +00:00
Art Yerkes
dff481387d Added WSAStartup.
svn path=/trunk/; revision=10852
2004-09-13 22:59:22 +00:00
Thomas Bluemel
c7f278a12e silence debug message
svn path=/trunk/; revision=10850
2004-09-13 21:37:32 +00:00
Thomas Bluemel
09afb31c28 implemented RtlIpv4AddressToStringA/W and made ntdll export them.
svn path=/trunk/; revision=10848
2004-09-13 20:25:26 +00:00
Gé van Geldorp
2161bebe79 Fix closing of LPC ports
svn path=/trunk/; revision=10847
2004-09-13 19:10:45 +00:00
Jens Collin
32bd722bb4 Fixed small mistake in string handling in my last commit.
svn path=/trunk/; revision=10846
2004-09-13 18:04:09 +00:00
Thomas Bluemel
89c8c187f3 adapted RtlInt64ToUnicodeString() from RtlIntegerToUnicodeString()
svn path=/trunk/; revision=10845
2004-09-13 17:27:23 +00:00
Gé van Geldorp
40016817aa Log error code when freetype fails to initialize
svn path=/trunk/; revision=10844
2004-09-13 17:17:17 +00:00
Thomas Bluemel
30c43d3c95 adapted RtlIntegerToUnicode() from RtlIntegerToChar()
svn path=/trunk/; revision=10843
2004-09-13 16:58:58 +00:00
Eric Kohl
7347219eb4 Rename HANDLE_REP to HANDLE_ENTRY.
svn path=/trunk/; revision=10842
2004-09-13 14:43:50 +00:00
Eric Kohl
b6a00f0a9a RegQueryInfoKeyW returns correct security descriptor size.
svn path=/trunk/; revision=10841
2004-09-13 14:42:37 +00:00
Eric Kohl
44e5201910 - Implement AddAccessAllowedAceEx, AddAccessDeniedAceEx and AddAuditAccessAceEx.
- Add GetCurrentHwProfileW stub.

svn path=/trunk/; revision=10840
2004-09-13 12:14:55 +00:00
Eric Kohl
00443884ee - Return a default security descriptor when someone wants to retrieve the key security.
- Disable debug messages.

svn path=/trunk/; revision=10839
2004-09-13 11:46:07 +00:00
Eric Kohl
f34a907c7a - Fix a typo in RegGetKeySecurity().
- Set missing error values.

svn path=/trunk/; revision=10838
2004-09-13 11:41:26 +00:00
Eric Kohl
14f00f3aeb Implement RegGetKeySecurity.
svn path=/trunk/; revision=10837
2004-09-13 08:51:40 +00:00
Royce Mitchell III
b1958574f7 fix -lstdc++
svn path=/trunk/; revision=10836
2004-09-13 03:14:35 +00:00
Art Yerkes
baa35b140c Fixed -lstdc++.
svn path=/trunk/; revision=10835
2004-09-13 03:12:11 +00:00
Gé van Geldorp
556c9464b6 Make the end a little bit more interesting
svn path=/trunk/; revision=10834
2004-09-12 21:58:01 +00:00
Thomas Bluemel
ba5fcd9590 revert the changes i accidently committed to HEAD
svn path=/trunk/; revision=10831
2004-09-12 19:47:49 +00:00
Gé van Geldorp
d77482d763 Fix external termination of thread while thread is waiting in GetMessage()
svn path=/trunk/; revision=10830
2004-09-12 19:29:23 +00:00
Thomas Bluemel
eed6b713aa rewrote the gdi handle table that behaves similar 2k/XP and works without global locks
svn path=/trunk/; revision=10829
2004-09-12 19:21:08 +00:00
Thomas Bluemel
04ccf93084 reduce debug output
svn path=/trunk/; revision=10828
2004-09-12 18:50:03 +00:00
Jens Collin
5a1180477c Merged with wine. (Fixed const string handling)
svn path=/trunk/; revision=10827
2004-09-12 11:21:30 +00:00
Filip Navara
b7cf80521b - Fix MS2PS rule to work on Windows.
- Include PSEH header in the MS2PS generated files.

svn path=/trunk/; revision=10826
2004-09-12 10:22:31 +00:00
Gé van Geldorp
5334c75998 Add french language to syssetup. Fixes part 2 of bug 401.
Patch by Herv� Poussineau <poussine@freesurf.fr>

svn path=/trunk/; revision=10825
2004-09-12 09:52:48 +00:00
Gé van Geldorp
44d3d874aa Use Wine's language matching algorithm when searching for resources.
Fixes bug 261.

svn path=/trunk/; revision=10823
2004-09-11 17:06:33 +00:00
Eric Kohl
14399d738b - Implement FsRtlLegalAnsiCharacterArray.
- Fix FsRtlDissectDbcs and FsRtlDoesDbcsContainWildCards prototypes.

svn path=/trunk/; revision=10822
2004-09-11 14:49:41 +00:00
Eric Kohl
44c503e1d4 Define LOCALE_SYEARMONTH, DATE_YEARMONTH, DATE_LTRREADING and DATE_RTLREADING.
svn path=/trunk/; revision=10821
2004-09-11 08:48:27 +00:00
Filip Navara
37734f772d - Define NOTHING.
svn path=/trunk/; revision=10820
2004-09-11 03:54:42 +00:00
Filip Navara
6244c47ebf - Define FILE_USE_FILE_POINTER_POSITION and FILE_WRITE_TO_END_OF_FILE.
- Correct prototype of PFAST_IO_UNLOCK_ALL_BY_KEY.

svn path=/trunk/; revision=10819
2004-09-11 03:52:18 +00:00
Filip Navara
4ed49e10fb - Add declaration of FsRtlDissectName.
svn path=/trunk/; revision=10818
2004-09-11 03:51:13 +00:00
Steven Edwards
3585f39f48 We need to import ntdll for DbgPrint
svn path=/trunk/; revision=10817
2004-09-10 23:30:45 +00:00
Steven Edwards
c8686d8770 Added Filips patch allowing for Wine testing output to go to DbgPrint as well as stdout.
svn path=/trunk/; revision=10816
2004-09-10 23:30:23 +00:00
Steven Edwards
bd82ff9f5e Moved interlocked function to rosrtl rather than exporting them from ntdll as windows does not export them from there.
svn path=/trunk/; revision=10815
2004-09-10 23:29:28 +00:00
Steven Edwards
d0cbef2f9f minor bug fix for building with other headers.
svn path=/trunk/; revision=10814
2004-09-10 23:22:22 +00:00
Filip Navara
9a4721af9c Fix the reset sequence in AtapiFindDevices to work correctly in VMware.
svn path=/trunk/; revision=10813
2004-09-10 23:17:45 +00:00
Gé van Geldorp
fb16e656c4 Send CTRL_CLOSE_EVENT to processes attached to a console when that console
is closed. Default handle the event by terminating the process.

svn path=/trunk/; revision=10812
2004-09-10 22:14:52 +00:00
Steven Edwards
5f870e152c removed tests until a proper fix is found.
Sorry about the breakage.

svn path=/trunk/; revision=10811
2004-09-10 15:49:54 +00:00
Steven Edwards
1c6eb466cb Removed the user32 test pending a understanding of how to make our system and Wines play together. It needed to be moved to the user32 module as per Caspers recommendation.
svn path=/trunk/; revision=10810
2004-09-09 23:49:49 +00:00
Steven Edwards
099b821285 These tests pass under ReactOS with curret CVS. Trying to figure out how to make Caspers regression system and Wines system to play nice.
svn path=/trunk/; revision=10809
2004-09-09 23:48:36 +00:00
Hartmut Birr
faaad49380 - Implemented PAE (physical address extension) mapping.
- Added the command line switches /pae and /noexecute for enabling the PAE mapping.

svn path=/trunk/; revision=10808
2004-09-09 20:42:33 +00:00
Hartmut Birr
176e26ac5d - Implemented ExfInterlockedCompareExchange64 and ExfpInterlockedExchange64
svn path=/trunk/; revision=10807
2004-09-09 18:51:17 +00:00
Eric Kohl
a3105b78bf - Use SeQuerySecurityDescriptorInfo() to retrieve an objects security descriptor.
- Disable debug messages.

svn path=/trunk/; revision=10806
2004-09-09 12:20:48 +00:00
Steven Edwards
9071fcfe51 Added user32 regression tests that we pass to the regtests system. Working on reviewing all of the Wine tests we pass and then figuring out a way to merge them in with our testing framework.
svn path=/trunk/; revision=10805
2004-09-09 04:18:30 +00:00
Eric Kohl
b451846efb Add support for setting a security descriptor for a file. Send an
IRP_MJ_SET_SECURITY to the filesystem driver and return
STATUS_SUCCESS if the filesystem driver does not support
this IRP.

svn path=/trunk/; revision=10804
2004-09-08 11:42:56 +00:00
Eric Kohl
539582375e - Fix a typo in NtSetSecurityObject().
svn path=/trunk/; revision=10803
2004-09-08 11:39:59 +00:00
Eric Kohl
1b398faac1 Implement SetFileSecurityA/W.
svn path=/trunk/; revision=10802
2004-09-08 11:36:24 +00:00
Steven Edwards
a19098ac83 Add some resources from Winehq CVS.
svn path=/trunk/; revision=10801
2004-09-07 23:09:54 +00:00
Gé van Geldorp
b1c0463316 Fix compile-time warning, spotted by Sylvain Petreolle <spetreolle@yahoo.fr>
svn path=/trunk/; revision=10800
2004-09-07 14:27:04 +00:00
Eric Kohl
144119a87d Return a security descriptor that grants full access to everyone if a filesystem
driver does not handle IRP_MJ_QUERY_SECURITY.

svn path=/trunk/; revision=10799
2004-09-07 11:51:13 +00:00
Eric Kohl
67e0d5082e IopInvalidDeviceRequest must return STATUS_INVALID_DEVICE_REQUEST.
svn path=/trunk/; revision=10798
2004-09-07 11:48:16 +00:00
Hartmut Birr
d4595781ee - Removed most of the calls to KeAttachProcess/KeDetachProcess.
- Used the kernel map to map page tables from other process's.
  In the future this should be replaced by a per process kernel map (hyperspace map).

svn path=/trunk/; revision=10797
2004-09-07 11:08:16 +00:00
Hartmut Birr
a3d5d79146 - Added the dependency checking for precompiled headers.
svn path=/trunk/; revision=10796
2004-09-07 08:20:06 +00:00
Hartmut Birr
ff08835fad - Replaced the target extension with '.h.gch' if the source extension was '.h'
svn path=/trunk/; revision=10795
2004-09-07 08:14:30 +00:00
Eric Kohl
78d5c83574 Implement GetFileSecurityA/W.
svn path=/trunk/; revision=10794
2004-09-06 22:12:25 +00:00
Thomas Bluemel
ccbc81e0fa 1. make use of precompiled headers everywhere
2. moved some unicode stubs out of the ansi stub file

svn path=/trunk/; revision=10793
2004-09-06 21:15:46 +00:00
Thomas Bluemel
a961785e1d don't copy LARGE_INTEGER structs to FILETIME structs with memcpy, it works but it's confusing as they're different structures that happen to be identical.
svn path=/trunk/; revision=10792
2004-09-06 15:56:25 +00:00
Steven Edwards
b1d9a8f8ff We are not using wpp at this time. We can always add a
more recent copy if we ever need it.

svn path=/trunk/; revision=10791
2004-09-06 15:04:16 +00:00
Eric Kohl
23e7f4df4f Implement ANSI group and item functions.
svn path=/trunk/; revision=10790
2004-09-06 12:00:40 +00:00
Hartmut Birr
873819daac - Check first for an existing directory object in NtCreateDirectoryObject.
svn path=/trunk/; revision=10789
2004-09-05 22:26:17 +00:00
Hartmut Birr
5fa2297ffd - Returned STATUS_OBJECT_NAME_NOT_FOUND if no directory was found in ObReferenceObjectByName.
svn path=/trunk/; revision=10788
2004-09-05 22:25:36 +00:00
Emanuele Aliberti
ad39a9fec5 .cvsignore updated.
svn path=/trunk/; revision=10787
2004-09-05 12:34:25 +00:00
Emanuele Aliberti
55003962a3 Version information added.
.cvsignore updated.

svn path=/trunk/; revision=10786
2004-09-05 12:27:36 +00:00
Art Yerkes
703e2aa5f9 Fixes:
Socket destruction is correct.  When IRPs are left to cancel, the socket
will remain until all pending irps complete.  The DestroySocket function
does this.  It is always safe to call DestroySocket at any time after the
FsContext member of the FileObject has been nulled.

Fixed UDP data delivery in.  UDP send still has a problem but it seems to
be in tcpip.sys more than likely.  I've sliced another 6000 lines out of
tcpip.sys that i will debug as a userspace library and link to tcpip.

Fixed poll reeval (old reported bug fix I hadn't committed yet).

Miscellaneously better sanity in a few rough spots.

svn path=/trunk/; revision=10785
2004-09-05 04:26:30 +00:00
Steven Edwards
2c8687b1a2 disable typedef for socklen_t for the moment.
svn path=/trunk/; revision=10784
2004-09-04 21:44:30 +00:00
Filip Navara
f0120ac1d7 Handle matching of "f0_*.*" expression to "f0_000" file name in FsRtlIsNameInExpression and add relevant regression test.
svn path=/trunk/; revision=10783
2004-09-04 15:02:00 +00:00
Magnus Olsen
67a29489d2 fix compings warings
not all waring have been fix

svn path=/trunk/; revision=10782
2004-09-04 10:51:20 +00:00
Steven Edwards
4074dc813b Added check for socklen_t
svn path=/trunk/; revision=10781
2004-09-03 21:34:48 +00:00
Magnus Olsen
d2e1a6010a fix compings warings
src/types.c: In function `pap_qstring':
src/types.c:99: warning: passing arg 2 of `adns__alloc_interim' as unsigned due to prototype
src/types.c:103: warning: passing arg 3 of `memcpy' as unsigned due to prototype
src/types.c: In function `pap_domain':
src/types.c:352: warning: passing arg 2 of `adns__alloc_interim' as unsigned due to prototype
src/types.c:356: warning: passing arg 3 of `memcpy' as unsigned due to prototype
src/types.c: In function `pap_findaddrs':
src/types.c:422: warning: passing arg 2 of `adns__vbuf_ensure' as signed due to prototype
src/types.c: In function `csp_hostaddr':
src/types.c:573: warning: passing arg 3 of `csp_qstring' as signed due to prototype
src/types.c: In function `icb_ptr':
src/types.c:705: warning: passing arg 3 of `memcmp' as unsigned due to prototype
src/types.c: In function `pa_ptr':
src/types.c:747: warning: passing arg 3 of `memcpy' as unsigned due to prototype
src/types.c:755: warning: passing arg 3 of `memcmp' as unsigned due to prototype
src/types.c:765: warning: passing arg 1 of `htonl' as unsigned due to prototype
src/types.c: In function `pap_mailbox822':
src/types.c:880: warning: passing arg 2 of `adns__alloc_interim' as unsigned due to prototype
src/types.c:881: warning: passing arg 3 of `memcpy' as unsigned due to prototype

svn path=/trunk/; revision=10780
2004-09-03 17:47:29 +00:00
Magnus Olsen
c203723e4f compings warings. and some did have wrong protypes.
0. fix warning: passing arg 1 of `send' as unsigned due to prototype
1. fix warning: passing arg 3 of `memcpy' as unsigned due to prototype
2. fix warning: passing arg 3 of `send' as signed due to prototype
3. fix warning: unused variable `bytes_written'
4. fix warning: dereferencing type-punned
    pointer will break strict-aliasing rules

5. fix warning: dereferencing type-punned
   pointer will break strict-aliasing rules

svn path=/trunk/; revision=10779
2004-09-03 16:49:18 +00:00
Filip Navara
d6740a2c10 - Disable debugging messages.
svn path=/trunk/; revision=10778
2004-09-03 04:44:45 +00:00
Filip Navara
87204d5906 - Revert the I/O port change from my previous patch. I didn't notice we're doing "+ 2" there.
svn path=/trunk/; revision=10777
2004-09-03 04:19:12 +00:00
Filip Navara
2d99115181 Issue soft reset command for identification and not ATAPI reset command which works only for packet based devices like CD-ROM drives and it's use on ATA devices is prohibited by the standard. If an ATAPI device is detected then and only then issue the ATAPI reset command. Also fix the addresses in AtapiClaimHwResources. This might fix bug #406.
svn path=/trunk/; revision=10776
2004-09-03 02:55:50 +00:00
Magnus Olsen
46256f9c81 fix lite more waring when it compiling
svn path=/trunk/; revision=10775
2004-09-03 00:15:04 +00:00
Magnus Olsen
88adadd6c6 fix follow warings msg
Warning: resolving  x by linking to
                DrvCopyContext@12
	DrvCreateContext@4
	DrvCreateLayerContext@8
	DrvDeleteContext@4
	DrvDescribeLayerPlane@20
	DrvDescribePixelFormat@16
	DrvGetLayerPaletteEntries@20
	DrvGetProcAddress@4
	DrvReleaseContext@4
	DrvRealizeLayerPalette@12
	DrvSetContext@12
	DrvSetLayerPaletteEntries@20
	DrvSetPixelFormat@8
	DrvShareLists@8
	DrvSwapBuffers@4
	DrvSwapLayerBuffers@8
	DrvValidateVersion@4

svn path=/trunk/; revision=10774
2004-09-02 23:51:07 +00:00
Magnus Olsen
a40f706f8e change ccflags = -O march=i386 to march=i486
All asm code are writen for i486. so why did we compile it for i386 when it does not work on i386.

svn path=/trunk/; revision=10773
2004-09-02 19:49:44 +00:00
Art Yerkes
198d9eefbc ADNS lib afer eol conversion. Greatlord pointed out that the DOS eols
checked in double when checked out in a certain way on windows.

svn path=/trunk/; revision=10772
2004-09-02 19:03:45 +00:00
Art Yerkes
b880d380cc Added python command app to oskit test.
svn path=/trunk/; revision=10771
2004-09-02 02:33:11 +00:00
Art Yerkes
05cf09a12d Activate dnsapi and adns.
svn path=/trunk/; revision=10770
2004-09-01 23:49:39 +00:00
Filip Navara
0f860fb51e - Disable debugging messages.
svn path=/trunk/; revision=10768
2004-09-01 20:41:07 +00:00
Art Yerkes
8e1426d027 Implement WSHGetWildcardAddress
svn path=/trunk/; revision=10766
2004-09-01 03:39:29 +00:00
Art Yerkes
500044ccc8 Corrected compile error due to different enum used in prototype.
svn path=/trunk/; revision=10765
2004-09-01 02:33:50 +00:00
Art Yerkes
f8b9ad2133 EXT2 should now be allowed in arcnames, etc.
svn path=/trunk/; revision=10764
2004-09-01 00:37:29 +00:00
Filip Navara
d9002d2afe - Allow shared read access to the debug.log file.
svn path=/trunk/; revision=10763
2004-09-01 00:15:08 +00:00
Filip Navara
03d477407b - Don't use ULONG for storing pointers.
svn path=/trunk/; revision=10762
2004-08-31 23:53:40 +00:00
Filip Navara
92b839476c - Don't use ULONG for storing pointers.
svn path=/trunk/; revision=10761
2004-08-31 23:48:02 +00:00
Gé van Geldorp
1d76d6dd93 - Return value of WM_GETTEXTLENGTH is in TCHARs, not in bytes, so there is
no need to convert between Ansi and Unicode (number of characters remains
  the same)
- Allocate Ansi buffer for WM_GETTEXT since MultiByteToWideChar can't handle
  overlapping buffers

svn path=/trunk/; revision=10760
2004-08-31 23:32:01 +00:00
Hartmut Birr
a9bae8fa65 - Removed the member OldProcess from the ETHREAD structure.
svn path=/trunk/; revision=10759
2004-08-31 20:17:18 +00:00
Hartmut Birr
2d0d1ee993 - Allow always shared read for a file which is opened for read only.
svn path=/trunk/; revision=10758
2004-08-31 20:07:06 +00:00
Hartmut Birr
4f6383edcb - Store always offsets on cluster boundaries in FCB->LastOffset.
svn path=/trunk/; revision=10757
2004-08-31 20:02:24 +00:00
Filip Navara
0ebfc36a78 - Fix converting of UTF8 sequences in IntMultiByteToWideCharUTF8.
svn path=/trunk/; revision=10755
2004-08-31 19:54:14 +00:00
Filip Navara
3db1c05c05 - Restoring of character size in VBEResetHw. Patch by Herv� Poussineau.
svn path=/trunk/; revision=10754
2004-08-31 18:28:50 +00:00
Filip Navara
9cc8b8a571 - Use FsRtl routines for wildcard handling.
svn path=/trunk/; revision=10753
2004-08-31 16:08:38 +00:00
Hartmut Birr
b50ad1e5ec - Fixed some wchar to char translations.
svn path=/trunk/; revision=10751
2004-08-31 14:40:50 +00:00
Filip Navara
d4aa975e56 Implement IntWideCharToMultiByteUTF8 since it's needed for saving Explorer configuration. (This change should be ported to the release branch.)
svn path=/trunk/; revision=10748
2004-08-31 07:01:43 +00:00
Filip Navara
67d68774ab - Revise order of PsInitializeThread to insert the thread to the lists after *all* the fields are initialized and while holding the PiThreadListLock lock acquired.
svn path=/trunk/; revision=10747
2004-08-31 06:08:38 +00:00
Steven Edwards
51bdcda011 Removed SeaShell from the tip.
Its in the attic if anyone needs to look at it.

svn path=/trunk/; revision=10746
2004-08-31 02:38:41 +00:00
Filip Navara
37aba5c9fc - Add NET_NIC.inf and syssetup.inf files to bootcd.
svn path=/trunk/; revision=10745
2004-08-30 20:33:36 +00:00
Filip Navara
e78e4ea757 - Close the registry hive file object in CmiInitNonVolatileRegistryHive.
svn path=/trunk/; revision=10744
2004-08-30 19:28:59 +00:00
Art Yerkes
9980d7cf9c Since system services are now provided by the client, we need the
callback struct first.

svn path=/trunk/; revision=10743
2004-08-30 18:12:30 +00:00
Eric Kohl
6277a93862 - Fixed some compiler warnings.
- Detect and report PCI-BIOS.

svn path=/trunk/; revision=10742
2004-08-30 10:53:38 +00:00
Martin Fuchs
3dd13e9ba0 fix tab order
svn path=/trunk/; revision=10741
2004-08-30 06:29:46 +00:00
Martin Fuchs
626e081cd1 Display "ReactOS" instead of "Microsoft Windows NT" for the ROS builded version
svn path=/trunk/; revision=10740
2004-08-30 06:28:54 +00:00
Emanuele Aliberti
d43c07d508 .cvsignore added.
svn path=/trunk/; revision=10739
2004-08-30 05:40:13 +00:00
James Tabor
2173fff654 Added Advpack to build process.
svn path=/trunk/; revision=10738
2004-08-30 04:59:40 +00:00
James Tabor
9f62d71a84 First implementation of advpack.dll.
svn path=/trunk/; revision=10737
2004-08-30 04:49:03 +00:00
Art Yerkes
5f189314eb Test app for oskittcp. Takes datagrams by UDP and send any replies to the
last host/port that contacted it.  I intend to use it to finish isolating
bugs in the main body of tcpip.sys and oskittcp interface.

svn path=/trunk/; revision=10736
2004-08-30 04:47:34 +00:00
Aleksey Bragin
e43bc9a08b Added WintrustAddActionID stub.
Added CRYPT_REGISTER_ACTIONID struct
Added CRYPT_TRUST_REG_ENTRY struct.z ` By Semyon "Tappak" Novikov.

svn path=/trunk/; revision=10735
2004-08-29 20:47:18 +00:00
Art Yerkes
aa3eb8fc7c Oskit can now be linked from userland. This is part one of my plan.
tcpip: provide malloc + free, sleep + wakeup functions
oskittcp: remove functions and headers that imply km and supply them from the
user.
tcp_usrreq: i was printing a possibly free mbuf here.

svn path=/trunk/; revision=10734
2004-08-29 20:04:42 +00:00
Art Yerkes
e78fa73912 This patch adds actually informative messages about what went wrong loading
the registry entries for NLS files, etc.

svn path=/trunk/; revision=10733
2004-08-29 18:29:48 +00:00
Thomas Bluemel
cb968187d0 silence debug messages
svn path=/trunk/; revision=10732
2004-08-29 15:50:53 +00:00
Thomas Bluemel
bc95cf8c84 implemented SetProcessPriorityBoost() and GetProcessPriorityBoost() (only the kernel32 part)
svn path=/trunk/; revision=10731
2004-08-29 14:46:02 +00:00
Thomas Bluemel
001b020926 mark GetSystemWindowsDirectory() as implemented as it does exactly the same as GetWindowsDirectory()
svn path=/trunk/; revision=10730
2004-08-29 12:12:34 +00:00
Filip Navara
a48983fc6d - Use ULONG_PTR instead of ULONG for integer arithmetics on pointers.
svn path=/trunk/; revision=10729
2004-08-28 22:22:39 +00:00
Filip Navara
28c8c91905 - Implement file sharing checks.
svn path=/trunk/; revision=10728
2004-08-28 22:19:12 +00:00
Filip Navara
3a31604b7d - Mapping zero-sized files is prohibited.
svn path=/trunk/; revision=10727
2004-08-28 22:18:24 +00:00
Filip Navara
f81fb98e23 - Simplify CreateFileMapping[AW].
- Fix return value of GlobalReAlloc and GlobalUnlock.

svn path=/trunk/; revision=10726
2004-08-28 22:16:27 +00:00
Filip Navara
b1f6932d44 - RtlReAllocateHeap shouldn't allocate memory if ptr == NULL.
svn path=/trunk/; revision=10725
2004-08-28 22:14:08 +00:00
Filip Navara
034e605634 - Change GlobalDiscard and LocalDiscard to macros.
svn path=/trunk/; revision=10724
2004-08-28 22:09:53 +00:00
Filip Navara
e97f806718 - Simplified version of _lcreat.
svn path=/trunk/; revision=10723
2004-08-28 22:08:54 +00:00
Filip Navara
9008b900fe - Fix handling of INVALID_HANDLE_VALUE case in FindNextFile.
svn path=/trunk/; revision=10722
2004-08-28 22:07:51 +00:00
Filip Navara
20ab7d6b27 - Remove invalid code from CreateToolhelp32Snapshot.
svn path=/trunk/; revision=10721
2004-08-28 22:06:02 +00:00
Gé van Geldorp
16034df8e6 Prevent crash when a thread is terminated while sending a cross-thread
message

svn path=/trunk/; revision=10719
2004-08-28 15:01:46 +00:00
Eric Kohl
5dda152b8d Use '$Windows NT$' signature because setupapi doesn't accept '$ReactOS$' yet.
svn path=/trunk/; revision=10718
2004-08-28 12:42:19 +00:00
Eric Kohl
0251ddf48c - Add preliminary wizard page title and subtitle string resources.
- Use setupapi functions to process syssetup.inf.

svn path=/trunk/; revision=10717
2004-08-28 11:08:50 +00:00
Gé van Geldorp
0d89489d43 Remove NASM_CMD definition since it is already correctly defined in the
top level rules.mak

svn path=/trunk/; revision=10716
2004-08-28 07:27:22 +00:00
James Tabor
1f00798a4b Cvs ingnore file added.
svn path=/trunk/; revision=10715
2004-08-27 23:10:13 +00:00
James Tabor
7f32d07583 Port of Msiexec from Wine.
svn path=/trunk/; revision=10714
2004-08-27 23:08:00 +00:00
James Tabor
e51ac8f476 Port Wine Msiexec to ROS.
svn path=/trunk/; revision=10713
2004-08-27 22:54:29 +00:00
Gé van Geldorp
1f0d87df05 Change nasm to nasmw (to match what's used in the reactos module)
svn path=/trunk/; revision=10712
2004-08-27 20:38:24 +00:00
Art Yerkes
ad74693225 This adds a rule which will trigger automatic conversion between msvc
style and pseh syntactically.  Name any file that should be converted
as foo_msvc.c and put foo.o in TARGET_OBJECTS and the file will be
preprocessed.

I asked some opinions about the naming and everyone seems ok with it.

svn path=/trunk/; revision=10711
2004-08-27 18:24:28 +00:00
Aleksey Bragin
fbd1a52cdf Wintrust lib stub (not imported from Wine). By Semyon "Tappak" Novikov.
svn path=/trunk/; revision=10709
2004-08-27 12:10:27 +00:00
Aleksey Bragin
d4c39be9ba Header file for wintrust lib. By Semyon "Tappak" Novikov.
svn path=/trunk/; revision=10708
2004-08-27 12:06:29 +00:00
Hartmut Birr
1a80e84bb2 - Establish the pde's for the callback stack if the stack was recycled from the list.
svn path=/trunk/; revision=10705
2004-08-27 10:25:46 +00:00
Hartmut Birr
16a24538c2 - Establish the pde for the thread structure within the process
before a switch to the process occurs.

svn path=/trunk/; revision=10704
2004-08-27 10:24:04 +00:00
Filip Navara
aa00673d45 - Complete rewrite of environment variable handling to get rid of memory leaks, heap corruption and spurious pointers.
- Remove some ancient Wine stuff that either wasn't used or didn't work.
- Fix realloc to not call HeapReAlloc for allocating new memory.

svn path=/trunk/; revision=10703
2004-08-27 03:08:23 +00:00
Gregor Anich
0f59361d11 Do not call HalReleaseDisplayOwnership when KDB is entered and screen debugging is not enabled. After an exception the screen will not turn blue but will freeze and be un-frozen when KDB is left (cont) I hope this can not damage old monitors if the card starts producing garbage signals when the driver is suspended - in VMWare it works well.
svn path=/trunk/; revision=10702
2004-08-27 00:14:01 +00:00
Magnus Olsen
2d8bef8799 fix
some waring msg  when it being compile

svn path=/trunk/; revision=10701
2004-08-26 21:08:06 +00:00
Gé van Geldorp
7f48b18098 Bump version number to 0.2.5
svn path=/trunk/; revision=10700
2004-08-26 21:05:42 +00:00
Robert Kopferl
509a299316 changed back to CVS, false br
svn path=/trunk/; revision=10698
2004-08-26 20:36:11 +00:00
Robert Kopferl
9e24ae99ae changed to RC1
svn path=/trunk/; revision=10697
2004-08-26 20:24:40 +00:00
Hartmut Birr
df72452da1 - Changed -Wno-strict-aliasing to -fno-strict-aliasing.
- Reduced optimisation from -O6 to -O3.

svn path=/trunk/; revision=10696
2004-08-26 19:55:20 +00:00
Magnus Olsen
5b63ba578e fix
some waring msg  when it being compile

svn path=/trunk/; revision=10695
2004-08-26 19:53:37 +00:00
Magnus Olsen
7eaa01f5e9 fix
some waring msg  when it being compile
type
redefinition of `LPCOLESTR16'
redefinition of `OLECHAR16'
redefinition of `LPOLESTR16'

svn path=/trunk/; revision=10693
2004-08-26 16:48:46 +00:00
Gregor Anich
87bdedbed2 Change stabs handling of KDB - does no longer allocate a block of memory for each stub entry, instead each .sym file is loaded completely into (non-paged) memory.
svn path=/trunk/; revision=10692
2004-08-26 16:04:50 +00:00
Hartmut Birr
66ff876aa8 - Implemented GetACP() and GetOEMCP().
svn path=/trunk/; revision=10691
2004-08-26 16:03:09 +00:00
Hartmut Birr
3b571ec48d - Added more nls files.
svn path=/trunk/; revision=10690
2004-08-26 16:01:26 +00:00
Magnus Olsen
41b885d24d fix
waring msg  when it being compile

svn path=/trunk/; revision=10689
2004-08-26 15:11:50 +00:00
Gé van Geldorp
9dc1445d4c If SendMessageTimeout() times out, GetLastError() should return 0
svn path=/trunk/; revision=10688
2004-08-26 12:29:37 +00:00
Magnus Olsen
e90a1b168c fix
ntoskrnl so it can be compile with optimze -O2 or higher

svn path=/trunk/; revision=10687
2004-08-26 11:58:33 +00:00
Gé van Geldorp
5b3ce7b494 Fix MSVCRT compile-time error due to duplicate symbol definition
svn path=/trunk/; revision=10686
2004-08-26 07:54:47 +00:00
Gregor Anich
e9706d1315 Change <GL\\gl.h> to "GL/gl.h" include.
svn path=/trunk/; revision=10685
2004-08-26 02:04:48 +00:00
Gregor Anich
94ec82db25 Fix GL/glu.h include...
svn path=/trunk/; revision=10684
2004-08-26 01:54:03 +00:00
Gregor Anich
94d6abb6d2 Fix GL/gl.h include for cross-compiling from linux.
svn path=/trunk/; revision=10683
2004-08-26 01:52:06 +00:00
Gé van Geldorp
93b57832ce Avoid arithmetic overflow
svn path=/trunk/; revision=10682
2004-08-25 22:31:01 +00:00
Casper Hornstrup
6fa3492ab7 2004-08-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/cdmake/cdmake.c: Error out if extension is too long.

svn path=/trunk/; revision=10681
2004-08-25 20:47:22 +00:00
Gregor Anich
a8e8bea6fa Disable SSE - When Mesa with SSE enabled is ran in ReactOS/VMWare it crashes with SIGILL.
svn path=/trunk/; revision=10680
2004-08-25 20:20:09 +00:00
Gregor Anich
ca451d1442 Add OpenGL to the user libraries (glu32, mesa32, opengl32)
svn path=/trunk/; revision=10679
2004-08-25 15:58:12 +00:00
Filip Navara
1e7841a2e8 - Implement CcRepinBcb and CcGetFileObjectFromBcb.
- Partially implement CcUnpinRepinnedBcb, CcPinMappedData,
  CcPinRead, CcPreparePinWrite, CcInitializeCacheMap (Art Yerkes)
  and CcUninitializeCacheMap.
- Fix ReadCacheSegmentChain to handle correctly big request and
  check for MDL request memory overflow.
- Allow passing NULL BCB to CcSetFileSizes.
- Ensure that registry files are opened using lowercase file names.

svn path=/trunk/; revision=10678
2004-08-25 15:08:29 +00:00
Filip Navara
b8648c7bf4 - Do not depend on paths returned by FileNameInformation requests to be NULL terminated.
svn path=/trunk/; revision=10677
2004-08-25 15:04:19 +00:00
Filip Navara
e877ccfb63 - Fix masking out the write flags in IoCheckShareAccess and IoSetShareAccess.
svn path=/trunk/; revision=10676
2004-08-25 15:01:48 +00:00
Gregor Anich
cfc4008f6b Mesa version 6.1 import - Forgot the new Makefile/def file
svn path=/trunk/; revision=10675
2004-08-25 12:43:28 +00:00
Gregor Anich
d0f74a3f67 Mesa version 6.1 import.
svn path=/trunk/; revision=10674
2004-08-25 12:35:24 +00:00
Hartmut Birr
c56daa8b92 - Fixed the back-space-handling in ConioWriteConsole.
svn path=/trunk/; revision=10673
2004-08-25 10:37:14 +00:00
Filip Navara
2f4838080b Fix compilation with GCC 3.4.x
svn path=/trunk/; revision=10672
2004-08-24 18:27:53 +00:00
Filip Navara
0e272062f2 - Add definition of LOCALE_IDEFAULTMACCODEPAGE.
svn path=/trunk/; revision=10671
2004-08-24 17:36:15 +00:00
Filip Navara
489265e774 - Load also the last font file in the font directory.
svn path=/trunk/; revision=10670
2004-08-24 17:29:00 +00:00
Filip Navara
df072d8e25 - Always use non-antialiased font for consoles.
- Minor correction to multibyte character conversion for GUI consoles.
- Support for non-ENABLE_PROCESSED_OUTPUT and non-ENABLE_WRAP_AT_EOL_OUTPUT modes in ConioWriteConsole.
- Other minor fixes to get Wine Kernel32 Console test working.

svn path=/trunk/; revision=10669
2004-08-24 17:25:17 +00:00
Filip Navara
5e458f6f4e - Implementation of GetCPFileNameFromRegistry, GetNlsSectionName and IsValidCodePage.
- Partial implementation of MultiByteToWideChar and WideCharToMultiByte.
- Cleanup buffer allocation in some console functions.

svn path=/trunk/; revision=10668
2004-08-24 17:21:12 +00:00
Filip Navara
29fc781674 - Fix Get[System/Window]Directory[AW] for Buffer == NULL case.
- Fix return value of GetDriveType[AW].

svn path=/trunk/; revision=10667
2004-08-24 17:15:42 +00:00
Filip Navara
ccec5bfedd - Remove dereferencing non-referenced FileObject in error cases.
svn path=/trunk/; revision=10666
2004-08-24 17:08:18 +00:00
Filip Navara
aaa5aaec7e - Fix NtQueryDirectoryObject for empty directories.
svn path=/trunk/; revision=10665
2004-08-24 17:07:27 +00:00
Gé van Geldorp
1230297d02 Add shutdown registry entries
svn path=/trunk/; revision=10664
2004-08-24 09:43:33 +00:00
Hartmut Birr
b78c2817c4 - Check if the given address points into a valid section (in MmUnmapViewOfSection).
- Check if the section isn't deleted straight (in MmUnmapViewOfSection).

svn path=/trunk/; revision=10663
2004-08-23 22:29:43 +00:00
Gé van Geldorp
e208613f37 Implement ConvertSidToStringSidA/w
svn path=/trunk/; revision=10662
2004-08-23 21:16:26 +00:00
James Tabor
a380ffb184 Fixed import unicode names from remote processes.
svn path=/trunk/; revision=10661
2004-08-23 14:28:29 +00:00
Hartmut Birr
34e45ee1c2 - Enabled the declaration of DbgPrint because they is used in DPRINT and CHECKPOINT macros.
svn path=/trunk/; revision=10660
2004-08-22 21:06:36 +00:00
Hartmut Birr
868756af46 - Fixed the compilation as unicode.
- Search only for the file name directly if the name contains a known extension.
- Don't add an extension if the file name contains a known extension.

svn path=/trunk/; revision=10659
2004-08-22 20:55:15 +00:00
Filip Navara
4af77c2b3c - Implement ReadConsoleInputW, PeekConsoleInputW, ReadConsoleOutputW, WriteConsoleOutputW, SetConsoleIcon and GetConsoleWindow.
- Fix input peeking in CSRSS to not return fake events.

svn path=/trunk/; revision=10658
2004-08-22 20:52:28 +00:00
Filip Navara
cce0fb451f - More complete implementation of CharUpperA.
svn path=/trunk/; revision=10657
2004-08-22 20:51:57 +00:00
Filip Navara
270129d009 - Implement NtNotifyChangeDirectoryFile.
- Honour ApcRoutine and ApcContext parameters of NtQueryDirectoryFile.

svn path=/trunk/; revision=10656
2004-08-22 20:51:43 +00:00
Hartmut Birr
1b391b9333 - Fixed the compilation as unicode.
svn path=/trunk/; revision=10655
2004-08-22 20:47:20 +00:00
Hartmut Birr
2f1ea7feae - Added '-Werror' to the compiler options.
svn path=/trunk/; revision=10654
2004-08-22 20:37:05 +00:00
Hartmut Birr
df7a301805 - Fixed some 'dereferencing type-punned pointer will break strict-aliasing rules'
warnings on higher optimisation levels.

svn path=/trunk/; revision=10653
2004-08-22 20:32:32 +00:00
Hartmut Birr
adc7fbb548 - Fixed some pointer increments/decrements.
svn path=/trunk/; revision=10652
2004-08-22 20:13:44 +00:00
Mike Nordell
15ffb673df Safety added to trace output.
svn path=/trunk/; revision=10651
2004-08-22 18:49:11 +00:00
Art Yerkes
c24ef8433f AFD: Fixed handling of cancelling in flight requests when closing the socket.
Closing a socket doesn't crash but still hangs.  Needs work.
oskittcp: corrected problem with send data, trying out slightly different
scheme of dealing with closed socket.
tcpip: added support for SEL_FIN in socket state callback and corrected
support for returning error in TCPReceiveData.

svn path=/trunk/; revision=10650
2004-08-22 18:42:42 +00:00
Art Yerkes
36d2e136c7 Fixed missing unlock in write.
svn path=/trunk/; revision=10649
2004-08-22 02:15:57 +00:00
Mike Nordell
2496ef39ee Fix misplaced STDCALL
svn path=/trunk/; revision=10648
2004-08-21 21:20:08 +00:00
Mike Nordell
c373c9ebb1 Make inline assembler compilable using VC
svn path=/trunk/; revision=10647
2004-08-21 21:14:59 +00:00
Mike Nordell
96b46798d8 Wrong path in comment.
svn path=/trunk/; revision=10646
2004-08-21 21:13:45 +00:00
Mike Nordell
0d5eda7a62 Fix misplaced STDCALL
svn path=/trunk/; revision=10645
2004-08-21 21:09:39 +00:00
Mike Nordell
7095fe07cd Fix misplaced STDCALL
svn path=/trunk/; revision=10644
2004-08-21 20:55:41 +00:00
Mike Nordell
b7e51fe08f Fix arithmetics on void.
svn path=/trunk/; revision=10643
2004-08-21 20:47:28 +00:00
Mike Nordell
cb6798f145 Fix arithmetics on void.
svn path=/trunk/; revision=10642
2004-08-21 20:42:10 +00:00
Mike Nordell
03e25a0998 Fix misplaced STDCALL calling convention specifiers.
svn path=/trunk/; revision=10641
2004-08-21 20:40:27 +00:00
Mike Nordell
1c43621083 Fix import/export linkage mismatches.
svn path=/trunk/; revision=10640
2004-08-21 20:18:07 +00:00
Mike Nordell
f04772cf3e Make code portable to compilers with SEH.
svn path=/trunk/; revision=10639
2004-08-21 20:05:35 +00:00
Art Yerkes
8da48834d5 Fixed eols for pp directives, honor original eols.
svn path=/trunk/; revision=10638
2004-08-21 19:59:52 +00:00
Gé van Geldorp
7f5aece68d Implement EnumDesktopsA/W and EnumWindowStationsA, rewrite of
EnumWindowStationsW

svn path=/trunk/; revision=10637
2004-08-21 19:50:39 +00:00
Art Yerkes
a48867230f Respect line breaks in the original code, making it easier to compare.
svn path=/trunk/; revision=10636
2004-08-21 19:49:22 +00:00
Hartmut Birr
9995491445 - Made the partition list movable if it is necessary.
svn path=/trunk/; revision=10635
2004-08-21 19:30:12 +00:00
Hartmut Birr
0ebfb773cb - Check for a valid layout buffer entry in xHalIoAssignDriveLetters.
svn path=/trunk/; revision=10634
2004-08-21 19:13:22 +00:00
Mike Nordell
fca2504ae6 Linkage specification correctly placed.
svn path=/trunk/; revision=10633
2004-08-21 19:04:47 +00:00
Mike Nordell
dc4796ce53 Make the code legal C (89)
svn path=/trunk/; revision=10632
2004-08-21 19:03:04 +00:00
Mike Nordell
e5c5aaadd2 fix import/export linkage for declaration of MmSystemRangeStart
svn path=/trunk/; revision=10631
2004-08-21 18:45:01 +00:00
Mike Nordell
0804fde9a5 fix misplaced STDCALL
svn path=/trunk/; revision=10630
2004-08-21 15:34:32 +00:00
Mike Nordell
818dcf2277 stop wasting power at shutdown
svn path=/trunk/; revision=10629
2004-08-21 15:29:08 +00:00
Mike Nordell
0f057d10d9 make code C89-compilable again
svn path=/trunk/; revision=10628
2004-08-21 13:21:44 +00:00
Mike Nordell
7ab9404fc9 fix definition of EVENT_TRACE_HEADER
svn path=/trunk/; revision=10627
2004-08-21 13:20:25 +00:00
Mike Nordell
65c3f8c5a6 fix placement of STDCALL for function declarations
svn path=/trunk/; revision=10626
2004-08-21 12:34:58 +00:00
Mike Nordell
51b6704c3b fix placement of STDCALL for function declarations
svn path=/trunk/; revision=10625
2004-08-21 12:12:35 +00:00
Filip Navara
3d98b86904 - Maintain higher internal precision during font rendering.
- Honour bitmap->bitmap_left while rendering.

svn path=/trunk/; revision=10624
2004-08-21 02:22:45 +00:00
Filip Navara
d76b781f65 Minor optimalization to handle allocation algorithm.
svn path=/trunk/; revision=10623
2004-08-20 23:46:21 +00:00
Gé van Geldorp
261286187f Implement NtUserBuildNamesList()
svn path=/trunk/; revision=10622
2004-08-20 22:38:49 +00:00
Gé van Geldorp
847119b3cd Use MmCopyFrom/ToCaller to transfer data in NtQueryDirectoryObject, also
lock list when traversing it

svn path=/trunk/; revision=10621
2004-08-20 22:38:10 +00:00
Filip Navara
b71178e84e - NtQuerySection should check for SECTION_QUERY access right and not SECTION_MAP_READ.
- Fix prototype of NtExtendSection.

svn path=/trunk/; revision=10620
2004-08-20 21:23:49 +00:00
Art Yerkes
5eef6d16e3 Removed ASSERT_KM macro. It's not used any longer.
svn path=/trunk/; revision=10619
2004-08-20 16:26:10 +00:00
Filip Navara
3f9427ed02 Fix few compiler/linker warnings.
svn path=/trunk/; revision=10618
2004-08-20 15:19:38 +00:00
Eric Kohl
26981b72cf - Provide better PCI device descriptions.
- Use public macros to analyze the PCI configuration space.

svn path=/trunk/; revision=10617
2004-08-20 13:33:51 +00:00
Eric Kohl
a5e0bea967 Define more PCI device subclasses.
svn path=/trunk/; revision=10616
2004-08-20 13:29:14 +00:00
Magnus Olsen
ee97250d94 fix
gcc 3.3.x stop comiling and give a error msg
network/icmp.c: In function `SendICMPComplete':
network/icmp.c:28: warning: unused variable `IPPacket'
make[1]: *** [network/icmp.o] Error 1
make: *** [tcpip] Error 2

svn path=/trunk/; revision=10615
2004-08-20 09:44:20 +00:00
Gé van Geldorp
d204e60565 Don't export all make variables by default
Based on work by Hartmut Birr

svn path=/trunk/; revision=10614
2004-08-20 07:02:09 +00:00
Gé van Geldorp
e8936ed5d6 Older binutils don't like the -noname attribute
on forwarded exports

svn path=/trunk/; revision=10613
2004-08-20 06:58:58 +00:00
Filip Navara
57bca780f3 Fix compiler warnings.
svn path=/trunk/; revision=10612
2004-08-20 00:57:55 +00:00
Filip Navara
ed43fa6083 Remove definitions already present in W32API.
svn path=/trunk/; revision=10611
2004-08-20 00:57:42 +00:00
Filip Navara
0d5febe573 Fix syntax errors in .edf file.
svn path=/trunk/; revision=10610
2004-08-20 00:57:41 +00:00
Casper Hornstrup
28a9052b11 2004-08-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Fix ntoskrnl dependency problem.

svn path=/trunk/; revision=10609
2004-08-19 23:11:41 +00:00
Hartmut Birr
147f2a9166 - Changed the sequence of some memory initialisation functions.
svn path=/trunk/; revision=10608
2004-08-19 22:17:47 +00:00
Hartmut Birr
a9797a23d6 - Rewrote MmInitializePageList. It isn't necessary to setup the pde's
for the largest memory configuration at boot time.
- Made the parts of the page directory map inaccessible from user mode
  which are setup at boot time.

svn path=/trunk/; revision=10607
2004-08-19 22:14:31 +00:00
Hartmut Birr
9112fef190 - Fixed a crash which occurs on thread switching if the pde's for the new
process structure are not established within the address space of the old thread.

svn path=/trunk/; revision=10606
2004-08-19 21:56:17 +00:00
Art Yerkes
67781c7635 More notes on oskit. braindumping.
svn path=/trunk/; revision=10605
2004-08-19 21:53:43 +00:00
Hartmut Birr
020f18ca0b - Set the pde's for the kernel stack at thread creation time and not at any task switch.
svn path=/trunk/; revision=10604
2004-08-19 21:51:06 +00:00
Hartmut Birr
30188f2c6c - Replaced MmUpdateStackPageDir by MmUpdatePageDir which can establish
the pde's of a process for any address range within the kernel address range.

svn path=/trunk/; revision=10603
2004-08-19 21:47:51 +00:00
Eric Kohl
7314aec7ff Define PCI subclasses and macros.
svn path=/trunk/; revision=10602
2004-08-19 21:42:44 +00:00
Art Yerkes
9d7db6ee1c oskittcp: new import. less diff output versus pure sources.
no deleted code this time around.  all properly ifdef'd
more use of bsd style adapter structs and adapter queries with provided
support by tcpip.sys.
correct prototypes
some diff output is reformatting

tcpip: some bug fixes, -Wall -Werror on, all prototypes in
remove the need for MaxLLHeaderSize anywhere except lan.c
unify meaning of Header and Data members of IP_PACKET
unify PCHAR types in routines.c
move one more address into the struct, eliminating management and extra
poll alloc in NCE
eliminate wrong use of PIP_INTERFACE as NTE pointer in dispatch functions
other fixes

svn path=/trunk/; revision=10601
2004-08-19 21:39:00 +00:00
Filip Navara
4376799eac - Move out LPCGUID from scsiwmi.h to basetyps.h where it belongs.
- Fix initguid.h to eliminate warnings when compiling C programs.

svn path=/trunk/; revision=10600
2004-08-19 18:16:39 +00:00
Filip Navara
d2f7f5c128 Remove some unused headers or parts of headers.
svn path=/trunk/; revision=10599
2004-08-19 18:12:29 +00:00
Filip Navara
a7693505df Fix syntax error in .def file.
svn path=/trunk/; revision=10598
2004-08-19 18:08:47 +00:00
Casper Hornstrup
4989d6438f 2004-08-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
* regtests/shared/regtests.c: Mark test name with |.

svn path=/trunk/; revision=10597
2004-08-19 00:48:18 +00:00
Casper Hornstrup
ab33683488 2004-08-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Depend on roscfg.h.

svn path=/trunk/; revision=10596
2004-08-19 00:39:59 +00:00
Casper Hornstrup
d291ec0ebe 2004-08-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/regtests2xml: New directory.
	* tools/regtests2xml/.cvsignore: New file.
	* tools/regtests2xml/Makefile: Ditto.
	* tools/regtests2xml/regtests2xml.c: Ditto.

svn path=/trunk/; revision=10595
2004-08-19 00:35:15 +00:00
Eric Kohl
87c899380d Report the correct resource flags.
svn path=/trunk/; revision=10594
2004-08-18 22:11:15 +00:00
Eric Kohl
9acd2c65c2 Update resource-related defines.
svn path=/trunk/; revision=10593
2004-08-18 22:06:55 +00:00
Filip Navara
2004f45dcd Replace 0x7ffeffff by MmHighestUserAddress.
svn path=/trunk/; revision=10592
2004-08-18 20:41:03 +00:00
Gé van Geldorp
2db705b1c2 Update to FreeType 2.1.9
svn path=/trunk/; revision=10591
2004-08-18 20:25:11 +00:00
Filip Navara
96bdafef41 - Copy over device object SectorSize and AlignmentRequirement in IoAttachDeviceToDeviceStack.
svn path=/trunk/; revision=10590
2004-08-18 15:09:02 +00:00
Eric Kohl
c9f2fda0b2 Don't retrieve a resource list when a device gets started, use the device nodes resource list.
svn path=/trunk/; revision=10589
2004-08-18 08:33:25 +00:00
Eric Kohl
b299113f7b Fix IRP_MN_QUERY_RESOURCES and implement IRP_MN_QUERY_RESOURCE_REQUIREMENTS.
svn path=/trunk/; revision=10588
2004-08-18 08:25:58 +00:00
Filip Navara
543091ce46 - Fix FsRtlDoesNameContainWildCards loop to take into account the first and lst letter of the expression.
- Dumb implementation of FsRtlIsNameInExpression.

svn path=/trunk/; revision=10587
2004-08-18 02:32:00 +00:00
Filip Navara
f43bd6e656 - Move SectionPageProtection checks from helper routines to NtCreateSection.
- Remove dependency on ReactOS specific FO_FCB_IS_VALID magic and don't access FCB directly, use NtQueryInformationFile instead.
- Fix deleting of section if an early failure during section creation happens and not all structures are initialized yet.

svn path=/trunk/; revision=10586
2004-08-18 02:29:37 +00:00
Filip Navara
04e70454de - Don't increase Irp->AssociatedIrp.IrpCount in IoMakeAssociatedIrp. The caller is responsible for doing it.
- Don't unlock MDLs of associated Irps.

svn path=/trunk/; revision=10585
2004-08-18 02:24:02 +00:00
Filip Navara
5ce987d59f - Set StackPtr->Parameters.Read.Length in IoPageRead.
- Set StackPtr->Parameters.Write.Length in Io[Synchronous]PageWrite.

svn path=/trunk/; revision=10584
2004-08-18 02:21:53 +00:00
Filip Navara
b7ca7786e4 Print in the debug traces if a partition is recognized or not.
svn path=/trunk/; revision=10583
2004-08-18 02:20:00 +00:00
Filip Navara
13fc2fb445 Link to our SDK libraries instead of using the W32API ones.
svn path=/trunk/; revision=10582
2004-08-18 02:16:00 +00:00
Filip Navara
bf2c0b0d8b Fix declaration of FILE_DISPOSITION_INFORMATION.
svn path=/trunk/; revision=10581
2004-08-18 02:13:27 +00:00
Thomas Bluemel
0e686e8470 remove debug output
svn path=/trunk/; revision=10580
2004-08-17 21:52:17 +00:00
Thomas Bluemel
90e663c1bf load the wallpaper on startup and set it
svn path=/trunk/; revision=10579
2004-08-17 21:49:51 +00:00
Thomas Bluemel
c6a9402e60 added very basic support for desktop wallpapers
svn path=/trunk/; revision=10578
2004-08-17 21:47:36 +00:00
Thomas Bluemel
2ac9e121e9 use WM_NOTIFY messages to communicate with the desktop window thread as they can't be sent from processes other than csrss
svn path=/trunk/; revision=10577
2004-08-17 14:57:52 +00:00
Casper Hornstrup
a7f4ff2664 2004-08-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/depend.mk: Don't generate dependencies for implib target.

svn path=/trunk/; revision=10576
2004-08-17 13:53:05 +00:00
Casper Hornstrup
f55fbceea5 2004-08-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Correct dependencies.
	* tools/Makefile: Silence some annoying messages.
	* tools/config.mk: Ditto.
	* rules.mak (MINIMALDEPENDENCIES): New option; minimal dependencies
	(yes/no). If yes, then components do not depend on all import libraries.
	If no, then they do. Defaults to yes.

svn path=/trunk/; revision=10575
2004-08-16 22:31:05 +00:00
Gé van Geldorp
b236b6a240 Avoid collision with MinGW wctype_t
svn path=/trunk/; revision=10574
2004-08-16 20:02:23 +00:00
Martin Fuchs
7566350740 display version information in about dialog and on the desktop
svn path=/trunk/; revision=10572
2004-08-16 18:49:58 +00:00
Casper Hornstrup
5b9f8a442b 2004-08-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/include/debug.h (ASSERT): Don't call KeBugCheck.
	* lib/user32/misc/dllmain.c (KeBugCheck): Remove declaration.

svn path=/trunk/; revision=10571
2004-08-16 17:28:46 +00:00
Eric Kohl
3a5f687b18 Implement:
- IRP_MN_READ_CONFIG
  - IRP_MN_WRITE_CONFIG
  - IRP_MN_QUERY_RESOURCES
  - IRP_MN_QUREY_DEVICE_TEXT

Implement (disabled):
  - IRP_MN_QUERY_ID.BusQueryInstanceID

svn path=/trunk/; revision=10570
2004-08-16 09:13:00 +00:00
Casper Hornstrup
ad002d5bd9 2004-08-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/tcpip/include/.cvsignore: New file.
	* drivers/net/tcpip/include/precomp.h: New file.
	* drivers/net/tcpip/Makefile (TARGET_PCH): Set to include/precomp.h.
	* drivers/net/tcpip/tests/Makefile (TARGET_PCH): Reset.
	* drivers/net/tcpip/*/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10569
2004-08-15 23:41:26 +00:00
Casper Hornstrup
455ea22b67 2004-08-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/ndis/include/.cvsignore: New file.
	* drivers/net/ndis/.cvsignore: Add *.d.
	* drivers/net/ndis/Makefile (TARGET_PCH): Set to include/ndissys.h.
	* drivers/net/ndis/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10568
2004-08-15 23:12:33 +00:00
Casper Hornstrup
7ffd28c060 2004-08-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/afd/include/.cvsignore: New file.
	* drivers/net/afd/include/tdiconn.h: Don't include <afd.h>.
	* drivers/net/afd/.cvsignore: Add *.d.
	* drivers/net/afd/makefile (TARGET_PCH): Set to include/afd.h.

svn path=/trunk/; revision=10567
2004-08-15 22:51:57 +00:00
Casper Hornstrup
c78a7ee5ec 2004-08-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* subsys/system/taskmgr/.cvsignore: Add *.gch.
	* subsys/system/taskmgr/precomp.h: New file.
	* subsys/system/taskmgr/makefile (TARGET_PCH): Set to precomp.h.
	* subsys/system/taskmgr/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10566
2004-08-15 22:40:34 +00:00
Casper Hornstrup
ed1baab85f 2004-08-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* subsys/system/usetup/.cvsignore: Add *.gch.
	* subsys/system/usetup/precomp.h: New file.
	* subsys/system/usetup/makefile (TARGET_PCH): Set to precomp.h.
	* subsys/system/usetup/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10565
2004-08-15 22:29:50 +00:00
Casper Hornstrup
74ad04945e 2004-08-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
* subsys/system/cmd/.cvsignore: Add *.gch.
	* subsys/system/cmd/precomp.h: New file.
	* subsys/system/cmd/Makefile (TARGET_PCH): Set to precomp.h.
	* subsys/system/cmd/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10564
2004-08-15 22:15:23 +00:00
Casper Hornstrup
0ded881f1f Simplify precomp.h.
svn path=/trunk/; revision=10563
2004-08-15 21:39:59 +00:00
Casper Hornstrup
e14ef8a1c4 2004-08-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/user32/include/.cvsignore: New file.
	* lib/user32/Makefile (TARGET_PCH): Set to include/user32.h.
	* lib/user32/*/*.c: Use pre-compiled header.
	* include/wine/debug.h (FIXME): Override previous declaration is needed.

svn path=/trunk/; revision=10562
2004-08-15 21:36:30 +00:00
Gé van Geldorp
a6fc248d31 Handle shell link files contained in double quotes
svn path=/trunk/; revision=10561
2004-08-15 21:01:14 +00:00
Thomas Bluemel
fdf4e54dc9 added missing file
svn path=/trunk/; revision=10560
2004-08-15 20:24:43 +00:00
Casper Hornstrup
231eeedea1 2004-08-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/userenv/.cvsignore: Add *.gch.
	* lib/userenv/makefile (TARGET_PCH): Set to precomp.h.
	* lib/userenv/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10559
2004-08-15 19:02:40 +00:00
Casper Hornstrup
5d7f1d7e68 2004-08-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/ws2_32/include/.cvsignore: New file.
	* lib/ws2_32/makefile (TARGET_PCH): Set to include/ws2_32.h.
	* lib/ws2_32/include/[catalog.h, handle.h]: Don't include ws2_32.h.

svn path=/trunk/; revision=10558
2004-08-15 18:53:07 +00:00
Casper Hornstrup
07ceadec8e 2004-08-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/gdi32/include/.cvsignore: New file.
	* lib/gdi32/.cvsignore: Remove *.gch.

svn path=/trunk/; revision=10557
2004-08-15 18:42:57 +00:00
Casper Hornstrup
a3a8b50447 2004-08-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/gdi32/.cvsignore: Ignore *.gch.
	* lib/gdi32/include/precomp.h: New file.
	* lib/gdi32/Makefile (TARGET_PCH): Set to include/precomp.h.
	* lib/gdi32/*/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10556
2004-08-15 18:40:07 +00:00
Casper Hornstrup
84385f6e26 2004-08-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/msvcrt/.cvsignore: Ignore *.gch.
	* lib/msvcrt/precomp.h: New file.
	* lib/msvcrt/Makefile (TARGET_PCH): Set to precomp.h.
	* lib/msvcrt/*/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10555
2004-08-15 18:16:39 +00:00
Casper Hornstrup
aa7fdaac83 2004-08-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/crtdll/.cvsignore: Ignore *.gch.
	* lib/crtdll/precomp.h: New file.
	* lib/crtdll/Makefile (TARGET_PCH): Set to precomp.h.
	* lib/crtdll/*/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10554
2004-08-15 17:34:28 +00:00
Casper Hornstrup
03664157d6 2004-08-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* lib/advapi32/.cvsignore: Ignore *.gch.
	* lib/advapi32/advapi32.h: New file.
	* lib/advapi32/*/*.c: Use pre-compiled header.

svn path=/trunk/; revision=10553
2004-08-15 17:03:15 +00:00
Art Yerkes
0d69d982e0 More info about naming.
svn path=/trunk/; revision=10552
2004-08-15 16:52:13 +00:00
Gero Kuehn
e16725fbe4 improved network control panel
more registry keys for the network configuration
preliminary TCPIP property sheet

svn path=/trunk/; revision=10551
2004-08-15 16:50:30 +00:00
Casper Hornstrup
1bf0775833 2004-08-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
* ntoskrnl/include/.cvsignore: New file.
	* ntoskrnl/include/ntoskrnl.h: Ditto.
	* ntoskrnl/*/*.c: Use pre-compiled header.
	* ntoskrnl/Makefile: Support pre-compiled header.
	* tools/helper.mk: .pch files are now .gch files.

svn path=/trunk/; revision=10550
2004-08-15 16:39:12 +00:00
Filip Navara
41ca6025bd - Revert to old dependency system.
svn path=/trunk/; revision=10549
2004-08-15 01:44:31 +00:00
Filip Navara
0a2918d47b - Revert to old dependency system.
svn path=/trunk/; revision=10548
2004-08-15 01:23:19 +00:00
Filip Navara
f530a33909 - Minor correction to shut up compiler warning.
svn path=/trunk/; revision=10547
2004-08-15 00:51:51 +00:00
Filip Navara
e2635a47ed - Don't append to existing files.
svn path=/trunk/; revision=10546
2004-08-15 00:51:01 +00:00
Eric Kohl
525f112e0c Try to retrieve the resource list before starting a pnp device.
svn path=/trunk/; revision=10545
2004-08-14 22:47:08 +00:00
Gé van Geldorp
4bf8b7d19b Avoid crash
svn path=/trunk/; revision=10544
2004-08-14 22:36:38 +00:00
Gé van Geldorp
fe0c27e5c2 Sync to Wine-20040813: update status
svn path=/trunk/; revision=10543
2004-08-14 21:02:42 +00:00
Filip Navara
45e78bd69f - Fix dependency tracking for relative paths.
svn path=/trunk/; revision=10542
2004-08-14 20:51:46 +00:00
Steven Edwards
99ef31f67f Get it building. Linking is next
svn path=/trunk/; revision=10541
2004-08-14 20:43:40 +00:00
Gé van Geldorp
d0307c2139 Sync to Wine-20040813:
Alexandre Julliard
- Avoid some non-portable makefile constructs, and get rid of the
  ALTNAMES variable.
Robert Reif <reif@earthlink.net>
- Change MIXER_GetDev to take pointer to returned address pointer and
  return one of 3 possible return values rather than an address or
  NULL.
- Adds *GetDevCapsW bad pointer check.
- Adds waveOutGetDevCapsW test.
Filip Navara <xnavara@volny.cz>
- Implementation of mmTaskCreate. Based on patch by Eric Pouech.
- Fallback implementation in waveOut[Un]PrepareHeader.
Marcelo Duarte <wine-devel@bol.com.br>
- Localization of devenum to Portuguese and minor corrections.

svn path=/trunk/; revision=10539
2004-08-14 20:36:35 +00:00
Gé van Geldorp
82663d1e65 Sync to Wine-20040813:
Ivan Leo Puoti <puoti@inwind.it>
- Added Italian resources.
Marcelo Duarte <wine-devel@bol.com.br>
- Update localization for Portuguese language.
Alexandre Julliard
- Get rid of the non-standard ICOM_VTABLE macro.
- Get rid of the non-standard ICOM_VFIELD macro.
- Fixed flags handling in StrIsIntlEqualA/W (spotted by James Hawkins).
Jacek Caban <jack@itma.pwr.wroc.pl>
- Implemented IsOS function.
Francois Gouget <fgouget@free.fr>
- Modify widl to put the C COM macros inside an #ifdef COBJMACROS block
  as is done in the Windows headers.
- Add #define COBJMACROS where needed in Wine.
- Fixes the compilation of the oleaut32/tests/olefont.c and
  urlmon/tests/url.c conformance tests with the Windows headers.
Stefan Leichter <Stefan.Leichter@camLine.com>
- Forward shlwapi.459/460 (SHExpandEnvironmentStringsA/W) to
  kernel32.ExpandEnvironmentStringsA/W.

svn path=/trunk/; revision=10538
2004-08-14 20:24:42 +00:00
Gé van Geldorp
86eb12c5fc Sync to Wine-20040813:
Alexandre Julliard
- Moved ICOM_THIS_MULTI definition out of objbase.h and into the files
  that use it.
- Get rid of the non-standard ICOM_VTABLE macro.
- Get rid of the non-standard ICOM_VFIELD macro.

svn path=/trunk/; revision=10537
2004-08-14 20:09:12 +00:00
Gé van Geldorp
40d3ca1e0b Sync to Wine-20040813:
Mike McCormack <mike@codeweavers.com>
- Remove dead code.
Jacek Caban<jack@itma.pwr.wroc.pl>
- Added EM_SCROLLCARET definition in include/richedit.h and handling in
  WindowProc.

svn path=/trunk/; revision=10536
2004-08-14 20:05:16 +00:00
Gé van Geldorp
73d3df3e28 Sync to Wine-20040813:
Alexandre Julliard
- Avoid some non-portable makefile constructs, and get rid of the
  ALTNAMES variable.
- Get rid of the non-standard ICOM_VTABLE macro.
- Get rid of the non-standard ICOM_VFIELD macro.
- Get rid of the non-standard ICOM_DEFINE macro.
- Moved ICOM_THIS_MULTI definition out of objbase.h and into the files
  that use it.
Mike McCormack <mike@codeweavers.com>
- Added a test for stat'ing a memory based storage file.
- stat on memory storage should return a NULL name, not "".
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
- Modify widl to put the C COM macros inside an #ifdef COBJMACROS block
  as is done in the Windows headers.
- Add #define COBJMACROS where needed in Wine.
- Fixes the compilation of the oleaut32/tests/olefont.c and
  urlmon/tests/url.c conformance tests with the Windows headers.
Mike Hearn <mh@codeweavers.com>
- Implement disconnect for proxies so that stubs are properly
  destroyed.
- Disconnect proxies at COM shutdown to release the corresponding
  stubs.
- Don't marshal IClassFactory into the local server pipe until we have
  connected, otherwise we might end up with stubs that are never used.
- Pass -Embedding switch to EXE servers, more tracing.
- Fix misleading warning ole CoGetClassObject.
- Fix ref counting in StdMarshalImpl_MarshalInterface for case where the
  stub already exists.
- Implement StdMarshal::ReleaseMarshalData.
- Fix infinite loops by checking the return value of _invoke_onereq and
  bailing appropriately.
- Add a comment on the SendReceive behaviour. Improve two others.
- Unref stub after invoking on it.
Robert Shearman <rob@codeweavers.com>
- Remove unneeded STUBMGR_Start call.
- Cleanup compobj_private.h.
- Fix some inaccuracies in a comment and reformat.
- Add static to non-exported marshal functions.
- Remove unused marshal functions.
- Rename several RPC functions.
- Emit fixme for known local wrong behaviour.
- Implement StdMarshal::ReleaseMarshalData.
- Document wrong behaviour for IRunningObjectTable.
- Fix infinite loops by checking the return value of _invoke_onereq and
  bailing appropriately.
- Add a comment on the SendReceive behaviour. Improve two others.
- Set RPC data representation.
Jeroen Janssen <japj@xs4all.nl>
- Updated some MSDN links in the code.

svn path=/trunk/; revision=10535
2004-08-14 20:00:59 +00:00
Gé van Geldorp
0f2899c24b Sync to Wine-20040813:
Ivan Leo Puoti <puoti@inwind.it>
- Added Italian resources.
Marcelo Duarte <wine-devel@bol.com.br>
- Update localization for Portuguese language.

svn path=/trunk/; revision=10534
2004-08-14 19:25:03 +00:00
Gé van Geldorp
5dd30e3526 Sync to Wine-20040813:
Alexandre Julliard
- Avoid some non-portable makefile constructs, and get rid of the
  ALTNAMES variable.
- Get rid of the non-standard ICOM_VTABLE macro.
Henning Gerhardt <henning.gerhardt@web.de>
- Minor fixes and updates to the German resource files.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Translation update.
Mike McCormack <mike@codeweavers.com>
- Unicode file dialogs send and receive unicode messages.
Jacek Caban <jack@itma.pwr.wroc.pl>
- Fix a bug in passing parameters to CFn_WMInitDialog and CFn_WMCommand
  in FormatCharDlgProcW.
James Hawkins <truiken@gmail.com>
- Cleanup A->W cross calls.
- Better fix for collate icon behavior.

svn path=/trunk/; revision=10533
2004-08-14 19:21:01 +00:00
Gé van Geldorp
6d0e0e250c Sync to Wine-20040813:
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Make pattern brush data const.
Mike McCormack <mike@codeweavers.com>
- Prevent listview from crashing when a null sort function is passed to
  LVM_SORTITEMS.
Filip Navara <xnavara@volny.cz>
- Don't update infoPtr->dwStyle in LISTVIEW_WindowProc. It's already
  handled in LISTVIEW_StyleChanged and LISTVIEW_Create processing.
- Ignore WS_VSCROLL/WS_HSCROLL flags in infoPtr->dwStyle because they're
  not always up-to-date.
- Use correct dialog title for Wizard 97 and correctly display header
  bitmap for old-style Wizard 97.
- Fix TOOLBAR_DrawMasked to correctly use image list mask.
Eric Kohl <eric.kohl@t-online.de>
- Move watermark and header bitmap loading code from
  PROPSHEET_CreatePage into its own function PROPSHEET_LoadWizardBitmaps
  and call this function from property sheet's dialog procedure.
Thomas Weidenmueller <w3seek@reactos.com>
- Correct tooltips behavior.

svn path=/trunk/; revision=10532
2004-08-14 19:12:35 +00:00
Steven Edwards
0b6388b665 Update the README.WINE. It now contains a list of almost
everything we share with Wine. Needs updates and
corrections.

svn path=/trunk/; revision=10531
2004-08-14 16:00:23 +00:00
Hartmut Birr
6657310a77 - Fixed the definition of X86_CR4_PGE.
svn path=/trunk/; revision=10530
2004-08-14 15:17:09 +00:00
Thomas Bluemel
e3e1c39945 a few fixes.
I'm not going to continue working on this due to a lack of knowledge of the security api, so someone else who knows a bit more about them should step in...

svn path=/trunk/; revision=10529
2004-08-14 11:50:25 +00:00
Thomas Bluemel
d07b810759 implemented GI_EnableMouseTracking()
svn path=/trunk/; revision=10528
2004-08-14 10:47:19 +00:00
Filip Navara
108e98c65d - Remove the now unused .edf file.
svn path=/trunk/; revision=10527
2004-08-14 10:23:11 +00:00
Filip Navara
51f265db45 - Forward everything everything we can to MSVCRT and WS2_32.
svn path=/trunk/; revision=10526
2004-08-14 10:22:10 +00:00
Hartmut Birr
ba5235cc90 - Enabled global pages if it is possible.
- Put the kernel map onto a fixed location and establish a page table
  for the first 4MB in the very early boot process.
- Disable the mapping for the page table pages within the bss section.

svn path=/trunk/; revision=10525
2004-08-14 09:17:05 +00:00
Filip Navara
ca1a1af64c - Implementation of GI_message_box.
svn path=/trunk/; revision=10524
2004-08-14 07:15:05 +00:00
Thomas Bluemel
9bab45b05a fixed a few parameters
svn path=/trunk/; revision=10523
2004-08-14 01:03:38 +00:00
Thomas Bluemel
62e97aca3c convert license to LGPL
svn path=/trunk/; revision=10522
2004-08-14 00:50:27 +00:00
Alex Ionescu
1301082015 *CORRECT* version of Defintion file.
svn path=/trunk/; revision=10521
2004-08-14 00:47:33 +00:00
Thomas Bluemel
c90dfac1f8 implementation of __libc_init_memory()
svn path=/trunk/; revision=10520
2004-08-14 00:39:19 +00:00
Alex Ionescu
067e284424 Removed duplicate entries.
svn path=/trunk/; revision=10519
2004-08-14 00:35:09 +00:00
Steven Edwards
e2ebe8412b build with w32api
svn path=/trunk/; revision=10518
2004-08-13 23:31:36 +00:00
Filip Navara
b5ba0a23cf - SkyOS menu functions implementation.
svn path=/trunk/; revision=10517
2004-08-13 20:14:40 +00:00
Filip Navara
74718af76f - Fix GC_destroy for window DCs.
svn path=/trunk/; revision=10516
2004-08-13 17:10:22 +00:00
Thomas Bluemel
0d2d58122c implemented a few window placement functions and more checks for NULL-pointers
svn path=/trunk/; revision=10515
2004-08-13 12:29:19 +00:00
Thomas Bluemel
4d50bed0ad Patch by Filip: Implemented some graphics functions and bugfixes to the windowing functions.
svn path=/trunk/; revision=10514
2004-08-13 11:24:07 +00:00
Richard Campbell
6b30f2a9ed added urlmon to the source tree, doesn't compile due to COM interface issues that i'm not quite interesting in trying to solve at the moment...if someone feels like taking a crack at it, go ahead, firefox needs this dll to be functional. This is from the latest wine CVS.
svn path=/trunk/; revision=10513
2004-08-13 06:14:48 +00:00
Richard Campbell
8063cf6601 added a few stubs to help get urlmon from the wine source tree to compile, there are still a few things left to do before i can bring in URLMon however.
svn path=/trunk/; revision=10512
2004-08-13 05:44:55 +00:00
Alex Ionescu
08fcd22543 Updated EDF file with new stubs in alphabetical order and synched EDF and DEF file.
svn path=/trunk/; revision=10511
2004-08-13 05:06:18 +00:00
Alex Ionescu
760cc9dbc7 Added Dbg Stubs and moved old ones to correct header and files.
svn path=/trunk/; revision=10510
2004-08-13 05:00:35 +00:00
Thomas Bluemel
cd550a1f78 dispatch MSG_QUIT and MSG_GUI_REDRAW messages. Thanks also to Filip.
svn path=/trunk/; revision=10509
2004-08-12 23:38:17 +00:00
Thomas Bluemel
a7d6dcd7c1 started an interface to emulate the skygi windowing but actually use win32 apis
svn path=/trunk/; revision=10508
2004-08-12 19:27:12 +00:00
Alex Ionescu
81ace77431 Added two stubs.
svn path=/trunk/; revision=10507
2004-08-12 16:43:37 +00:00
Alex Ionescu
28ad49e6f7 I/O Manager fixes. Patch by Filip Navara.
svn path=/trunk/; revision=10506
2004-08-12 16:43:12 +00:00
Thomas Bluemel
78f66ec97c an attempt to partially implement ctor_dtor_initialize() and a few more libskygi stubs
svn path=/trunk/; revision=10505
2004-08-12 15:41:36 +00:00
Alex Ionescu
7cf25ed92f Set the thread to the Allocated IRPs created by Io/Nt Query functions that didn't do this. This can cause problems if the thread is ever read on a completed request.
svn path=/trunk/; revision=10504
2004-08-12 06:15:50 +00:00
Alex Ionescu
359fe88806 Fixed/Added Stubs.
Implemented PsRevertThreadToSelf

svn path=/trunk/; revision=10503
2004-08-12 06:04:21 +00:00
Art Yerkes
e9fc7ea7df According to alex_ionescu, callers of IoAllocateIrp should set the
Tail.Overlay.Thread member themselves in the new Irp.  These calls
to IoAllocateIrp were not followed by setting the thread.

svn path=/trunk/; revision=10502
2004-08-12 05:59:25 +00:00
Thomas Bluemel
7dd153e40e Steven Edwards wanted me to commit this.
This adds a vew basic stubs of the SkyOS libraries libsky and libskygi. This actually was an experiment if SkyOS apps run in ReactOS/Win/WINE. It gets a slightly patched (only the optional PE header needs to be set to the right subsys code) version of TicTacToe released in the SkyOS forums. It doesn't crash but also doesn't work yet of course, but it successfully launches and calls the functions as you can see in the debug output.

svn path=/trunk/; revision=10501
2004-08-12 02:50:35 +00:00
James Tabor
cb9fb81c44 Added Lock and Heap Info struc's.
svn path=/trunk/; revision=10500
2004-08-11 21:03:11 +00:00
James Tabor
4e8265f044 Module Library supported now. There is a bug with scanning winlogon that causes a exception. The version.dll data is worng.
svn path=/trunk/; revision=10499
2004-08-11 21:02:12 +00:00
Thomas Bluemel
5d4aa40ac6 Krishna Murthy <Krishna.Murthy@guptaworldwide.com>
Replaced LISTBOX_SetCaretIndex() with LISTBOX_MoveCaret() in
LB_SELECTSTRING handler so that the caret moves to the index and item
is highlighted.

svn path=/trunk/; revision=10498
2004-08-11 10:37:06 +00:00
Eric Kohl
6f267c1f3c Add RtlFormatMessage stub.
svn path=/trunk/; revision=10497
2004-08-11 09:30:23 +00:00
Thomas Bluemel
86f612b5f1 pass LUIDs to RosEnableThreadPrivileges()
svn path=/trunk/; revision=10496
2004-08-11 08:48:20 +00:00
Thomas Bluemel
2f6a9da97d little fix
svn path=/trunk/; revision=10495
2004-08-11 08:32:48 +00:00
Thomas Bluemel
05d68bd490 added RosEnableThreadPrivileges() and RosResetThreadPrivileges() helper functions for easier thread privilege management
svn path=/trunk/; revision=10494
2004-08-11 08:28:13 +00:00
James Tabor
486bb2502f Replaced RtlAllocateHeap with NtAllocateVirtualMemory.
svn path=/trunk/; revision=10493
2004-08-11 03:48:31 +00:00
Thomas Bluemel
ca0c109cec Implemented CreateSecurityPage() to create an empty property sheet.
svn path=/trunk/; revision=10492
2004-08-11 01:21:53 +00:00
Gé van Geldorp
446f5adc02 Fix RtlEqualLuid()
svn path=/trunk/; revision=10491
2004-08-10 23:26:39 +00:00
Gé van Geldorp
794fe5ff6a Allocate new LUID for each logon session
svn path=/trunk/; revision=10490
2004-08-10 21:18:16 +00:00
Gé van Geldorp
78a5367c1d Copy AuthenticationId from existing token when duplicating a token
svn path=/trunk/; revision=10489
2004-08-10 21:11:20 +00:00
Gé van Geldorp
39bfabb1d4 Change debugging statement
svn path=/trunk/; revision=10488
2004-08-10 20:30:35 +00:00
Gé van Geldorp
a696f85479 Implement TokenOrigin class for GetTokenInformation
svn path=/trunk/; revision=10487
2004-08-10 20:13:42 +00:00
Hartmut Birr
03d66eb75a - Fixed the calculation of used non paged pool pages in grow_block.
svn path=/trunk/; revision=10486
2004-08-10 20:00:49 +00:00
Hartmut Birr
2a373c783c - Returned more of the protection bits in MmGetPageProtect.
- Ignore the PAGE_SYSTEM attribute and set the user bit according to the
  given address in MmSetPageProtect and MmCreateVirtualMappingUnsafe.
- Don't change the accessed and dirty bit in MmSetPageProtect.

svn path=/trunk/; revision=10485
2004-08-10 19:57:58 +00:00
Hartmut Birr
a91173016c - Replaced MmGetPageEntry with MmGetPageProtect/MmSetPageProtect in KdbOverwriteInst.
svn path=/trunk/; revision=10484
2004-08-10 19:49:25 +00:00
Eric Kohl
bc751c87d7 Minor fix
svn path=/trunk/; revision=10483
2004-08-10 19:12:40 +00:00
Thomas Bluemel
ffdafcd0c4 Dmitry Timoshkov <dmitry@codeweavers.com>
Fix button behaviour on WM_SETFOCUS/WM_KILLFOCUS with a test case.

svn path=/trunk/; revision=10482
2004-08-10 19:09:37 +00:00
Thomas Bluemel
d0d5ed5109 added aclui.dll to the bootcd
svn path=/trunk/; revision=10481
2004-08-10 17:10:57 +00:00
Thomas Bluemel
8dac27ed6f fixed typo spotted by Royce.
svn path=/trunk/; revision=10480
2004-08-10 16:21:27 +00:00
Thomas Bluemel
7c8662b9af added aclui.dll to the automatic build
svn path=/trunk/; revision=10479
2004-08-10 15:49:55 +00:00
Thomas Bluemel
8fa77f76c9 implemented EditSecurity()
svn path=/trunk/; revision=10478
2004-08-10 15:47:54 +00:00
Thomas Bluemel
87a27e883c little fix
svn path=/trunk/; revision=10477
2004-08-10 15:21:27 +00:00
Filip Navara
29d654749b - Remove forgotten temporary debug message.
svn path=/trunk/; revision=10476
2004-08-10 15:09:14 +00:00
Thomas Bluemel
7a93d2f239 stop animation timer after completion
svn path=/trunk/; revision=10475
2004-08-10 15:08:05 +00:00
Thomas Bluemel
e1c935fafd improved the installation process
svn path=/trunk/; revision=10474
2004-08-10 15:00:22 +00:00
Eric Kohl
e9533d09c4 Sort Rtl* functions.
svn path=/trunk/; revision=10473
2004-08-10 12:07:11 +00:00
Eric Kohl
8f674bc02f Move bitmap functions to the shared rtl library.
svn path=/trunk/; revision=10472
2004-08-10 12:05:20 +00:00
Thomas Bluemel
bfa54c3f9a include the right files
svn path=/trunk/; revision=10471
2004-08-10 12:00:55 +00:00
Eric Kohl
f3320ad230 Move bitmap functions to the shared rtl library.
Implement RtlClearBit, RtlSetBit and RtlTestBit.

svn path=/trunk/; revision=10470
2004-08-10 12:00:09 +00:00
Thomas Bluemel
c4b330cce6 split up headers
svn path=/trunk/; revision=10469
2004-08-10 11:54:43 +00:00
Thomas Bluemel
3a88fe367b Added a few helper functions for easier usage of strings in resources
svn path=/trunk/; revision=10468
2004-08-10 10:57:54 +00:00
Filip Navara
5775259453 - Fixed lots of bugs in NTFS code and added correct update sequence
fixups handling and untested NTFS 3+ sparse file support.

svn path=/trunk/; revision=10467
2004-08-10 09:28:56 +00:00
Emanuele Aliberti
99e5dd3e01 Fixed typographical error.
svn path=/trunk/; revision=10466
2004-08-10 07:25:49 +00:00
Alex Ionescu
5317d303e8 Small fixes to I/O Manager and Implemented IoMakeAssociatedIrp. Parts by Filip Navara.
svn path=/trunk/; revision=10465
2004-08-10 06:26:42 +00:00
Filip Navara
2199f89e4d Fix compiler warnings.
svn path=/trunk/; revision=10464
2004-08-10 01:49:37 +00:00
Thomas Bluemel
757eac9cfb fixed file headers
svn path=/trunk/; revision=10463
2004-08-10 00:12:31 +00:00
Thomas Bluemel
a201e6c460 added stubs for aclui.dll
svn path=/trunk/; revision=10462
2004-08-10 00:09:40 +00:00
Thomas Bluemel
692929e156 added header for aclui.dll
svn path=/trunk/; revision=10461
2004-08-09 23:29:06 +00:00
Gé van Geldorp
0f07e3b53f NtOpenThread should look at the CIDs UniqueThread member only, not at
UniqueProcess. Makes OpenThread() work.

svn path=/trunk/; revision=10460
2004-08-09 22:15:01 +00:00
James Tabor
d81fcdb79e Mostly implemented, Listdlls half way works now.
svn path=/trunk/; revision=10459
2004-08-09 19:55:33 +00:00
James Tabor
082128c460 Adding missing structures for Debug information.
svn path=/trunk/; revision=10458
2004-08-09 19:41:13 +00:00
Gé van Geldorp
354bc795aa Undo test change
svn path=/trunk/; revision=10457
2004-08-09 18:28:28 +00:00
Gé van Geldorp
6e83a89501 Test log_accum.pl
svn path=/trunk/; revision=10456
2004-08-09 18:26:26 +00:00
James Tabor
0b8a58aaa9 Added Debug Buffer Information. Testing with SysInternals.com listdlls.exe.
svn path=/trunk/; revision=10455
2004-08-09 18:17:23 +00:00
Gé van Geldorp
08707afede Add internal flags for ExitWindowsEx()
svn path=/trunk/; revision=10454
2004-08-09 17:54:56 +00:00
Thomas Bluemel
94efe6c3c1 implemented a couple of Hid device functions
svn path=/trunk/; revision=10453
2004-08-09 16:02:43 +00:00
Filip Navara
a17d473fa8 Update porting status for COMCTL32.
svn path=/trunk/; revision=10452
2004-08-09 15:42:04 +00:00
Filip Navara
7949648a6f Thomas Weidenm�ller <w3seek@reactos.org>
Implemented syslink control.

svn path=/trunk/; revision=10451
2004-08-09 15:35:58 +00:00
Filip Navara
1a31bc2b07 Definitions for SysLink control.
svn path=/trunk/; revision=10450
2004-08-09 15:34:50 +00:00
Filip Navara
8aa4fdb954 Marcus Meissner <marcus@jet.franken.de>
Implemented PSM_INDEXTOHWND.

svn path=/trunk/; revision=10449
2004-08-09 15:22:28 +00:00
Filip Navara
87c79ea203 Filip Navara <xnavara@volny.cz>
- Properly calculate caption length when converting multi-byte string
  to wide character one.
- Wizard contents shouldn't be moved by the size of watermark bitmap.
- Fix PSH_WIZARD97_[NEW/OLD] checks.
- Blit the watermark even if PSH_USEHBMWATERMARK flag isn't set and
  blit only the part that fits into the dialog.

svn path=/trunk/; revision=10448
2004-08-09 15:21:57 +00:00
Filip Navara
85be46acc4 Define PBS_MARQUEE and PBM_SETMARQUEE.
svn path=/trunk/; revision=10447
2004-08-09 15:15:20 +00:00
Filip Navara
0b219a650f Filip Navara <xnavara@volny.cz>
Use system metrics values in TOOLBAR_DrawPattern instead of hardcoded
values.

svn path=/trunk/; revision=10446
2004-08-09 15:12:24 +00:00
Filip Navara
a8f3fd698d Thomas Weidenmueller <wine-patches@reactsoft.com>
Added support for PBS_MARQUEE style.

svn path=/trunk/; revision=10445
2004-08-09 15:09:17 +00:00
Filip Navara
4b8b200e80 Dmitry Timoshkov <dmitry@codeweavers.com>
Create toolbar with a not zero default size, it allows applications
which check toolbar size before adding buttons to it work.

svn path=/trunk/; revision=10444
2004-08-09 15:08:23 +00:00
Filip Navara
5152995d4e Filip Navara <xnavara@volny.cz>
Fix CreateMappedBitmap for palette-less bitmaps.

svn path=/trunk/; revision=10443
2004-08-09 15:08:00 +00:00
Filip Navara
d6e606d1b2 Henning Gerhardt <henning.gerhardt@web.de>
Minor fixes and updates to the German resource files.

svn path=/trunk/; revision=10442
2004-08-09 15:07:37 +00:00
Eric Kohl
7bd374681e Sort Zw* functions
svn path=/trunk/; revision=10441
2004-08-09 11:18:08 +00:00
Alex Ionescu
52279b1490 Rundown Protection Implementation. Implemented ExAcquireRundownProtection, ExAcquireRundownProtectionEx, ExInitializeRundownProtection, ExReInitializeRundownProtection, ExReleaseRundownProtection, ExReleaseRundownProtectionEx, ExRundownCompleted, ExWaitForRundownProtectionRelease
svn path=/trunk/; revision=10440
2004-08-09 01:26:10 +00:00
Art Yerkes
846acbcf70 Added a (C) notice.
svn path=/trunk/; revision=10439
2004-08-08 22:07:06 +00:00
Gé van Geldorp
30417399c0 Sync to Wine-20040716
svn path=/trunk/; revision=10438
2004-08-08 21:50:40 +00:00
Art Yerkes
3ffa79d49a Simple preprocessor for converting try ... except to our pseh-style exception
handling.  Should allow us to use source files from open source drivers that
compile with msvc given some care.  Not a complete solution but it eliminates
the most tedious part of the job.

svn path=/trunk/; revision=10437
2004-08-08 21:40:09 +00:00
Gé van Geldorp
c953f01971 Sync to Wine-20040716:
Henning Gerhardt <henning.gerhardt@web.de>
- More German translations.
Hajime Segawa <winetips@sidenet.ddo.jp>
- Added some Japanese translations.
Dimitrie O. Paun <dpaun@rogers.com>
- Lookup driver information in registry and system.ini.
- Make the code inspect the registry/system.ini at call time, rather
  then initialization time.
- Code cleanups.

svn path=/trunk/; revision=10435
2004-08-08 21:36:20 +00:00
Gé van Geldorp
760a5fbb46 Sync to Wine-20040716:
Mike McCormack <mike@codeweavers.com>
- Fix memory allocation problems.
Marcus Meissner <marcus@jet.franken.de>
- Do not assign to casted values.
Alexandre Julliard
- Implemented GetUIVersion (based on a patch by Stefan Leichter).
Stefan Leichter <Stefan.Leichter@camLine.com>
- Removed the crosscalls (unicode to ascii) from GetAcceptLanguagesW.
- Removed todo_wine from GetAcceptLanguagesA tests.
- Added tests for GetAcceptLanguagesA.
Henning Gerhardt <henning.gerhardt@web.de>
- Translated some English resource files into German.
Hajime Segawa <winetips@sidenet.ddo.jp>
- Added some Japanese translations.

svn path=/trunk/; revision=10434
2004-08-08 21:15:48 +00:00
Gé van Geldorp
9811098a69 Sync to Wine-20040716:
Mike Hearn <mh@codeweavers.com>
- Don't ERR on a used connection being destroyed.
- Don't print an extra newline in the olerelay code.
- Remove the RPC connection cache as Windows does not allow multiple
  binds on the same connection.
- Correct connection releases on error path in RPCRT4_OpenBinding.

svn path=/trunk/; revision=10433
2004-08-08 21:07:12 +00:00
Gé van Geldorp
0bc264aea8 Sync to Wine-20040716:
Henning Gerhardt <henning.gerhardt@web.de>
- Translated some English resource files into German.
- More German translations.
Hajime Segawa <winetips@sidenet.ddo.jp>
- Added some Japanese translations.

svn path=/trunk/; revision=10432
2004-08-08 20:49:55 +00:00
Gé van Geldorp
d0bf3394ea Sync to Wine-20040716:
Mike McCormack <mike@codeweavers.com>
- Fix a few serious race conditions in the OLE object pipe server.
- Add some explanations to compobj.c, implement flushing message queue
  on shutdown.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Marcus Meissner <marcus@jet.franken.de>
- IMalloc vtables are static.
- IID_IObjectWithSite is already in libuuid, no need to declare here.
Aric Stewart <aric@codeweavers.com>
- Return an error in CoMarshalInterface if the IUnknown pointer is NULL
  and don't crash.
Ivan Leo Puoti <puoti@inwind.it>
- Removed the winedefault.reg message.
Robert Shearman <rob@codeweavers.com>
- Add static to non-exported marshal functions.
- Remove unused marshal functions.
- Rename several RPC functions.

svn path=/trunk/; revision=10431
2004-08-08 20:42:47 +00:00
Gé van Geldorp
66219a7d31 Sync to Wine-20040716:
Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
- HeapAlloc for WSTR must allocate len* sizeof(WCHARS).
Henning Gerhardt <henning.gerhardt@web.de>
- Translated some English resource files into German.
JosT Manuel Ferrer Ortiz <jmfo1982@yahoo.es>
- Added Spanish translation.
Hajime Segawa <winetips@sidenet.ddo.jp>
- Added some Japanese translations.

svn path=/trunk/; revision=10430
2004-08-08 20:33:39 +00:00
Alex Ionescu
9fa7984747 Initial Support for Quota Pool Allocations.
Implemented ExAllocatePoolWithQuota, ExAllocatePoolWithQuotaTag, PsChargePoolQuota, PsChargeProcessNonPagedPoolQuota, PsChargeProcessPagedPoolQuota, PsChargeProcessPoolQuota.
Also implemented a basic ExAllocatePoolWithTagPriority, but needs Special Pool support for Driver Verifier functionality. The allocation works however.

svn path=/trunk/; revision=10429
2004-08-08 20:33:17 +00:00
Gé van Geldorp
823ef8a298 Set explicit base address for notifyhook.dll so it won't get relocated
svn path=/trunk/; revision=10428
2004-08-08 20:26:43 +00:00
Gé van Geldorp
28676c56c8 Sync to Wine-20040716:
Krishna Murthy <Krishna.Murthy@guptaworldwide.com>
- Add the selected extension from file type filter if file name does not
  contain the file extension.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Fix control coordinates in German and French versions of open file
  dialog.
- Remove duplicate control ids in Catalan, Russian and Ukrainian
  dialogs.
James Hawkins <truiken@gmail.com>
- Fixed collate icon behavior.
- Check for empty PrinterName in PRINTDLG_WMCommandW.

svn path=/trunk/; revision=10427
2004-08-08 20:15:06 +00:00
Gé van Geldorp
1c0c11dcb3 Sync to Wine-20040716:
Mike McCormack <mike@codeweavers.com>
- Create a tooltip on demand in the Listview.
Robert Shearman <rob@codeweavers.com>
- Implemented PSM_HWNDTOINDEX.
- Add stubs for some new property sheet messages.
- Clean up the mask drawing code.
- Improve bitmap not found message.
- Start of balloon tip support.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Don't crash on NULL tab text.
Filip Navara <xnavara@volny.cz>
- Make the pattern drawing in TOOLBAR_DrawPattern look better.

svn path=/trunk/; revision=10425
2004-08-08 20:04:00 +00:00
Gé van Geldorp
a4617084d5 Add some property sheet messages
svn path=/trunk/; revision=10424
2004-08-08 20:02:57 +00:00
Martin Fuchs
09528fb211 german translation of task manager by Klemens Friedl <frik85@hotmail.com>
svn path=/trunk/; revision=10423
2004-08-08 19:16:10 +00:00
Martin Fuchs
4e20a1b256 german translation of welcome.exe by Klemens Friedl <frik85@hotmail.com>
svn path=/trunk/; revision=10422
2004-08-08 19:15:57 +00:00
James Tabor
3c977fea43 Fixed warning messages ans set -Werror in make file.
svn path=/trunk/; revision=10421
2004-08-08 18:46:25 +00:00
Alex Ionescu
32b533c632 Allow alternate SEH construct. Patch by Art Yerkes.
svn path=/trunk/; revision=10420
2004-08-08 18:26:47 +00:00
Thomas Bluemel
a2b32fbcd6 serialize gui switching and switching the focus message queue
svn path=/trunk/; revision=10419
2004-08-08 17:57:34 +00:00
Jens Collin
35b0435a15 Partial merge with wine-code. Solves BZ#230. Executing text-doc from start-Run. Same change sent to wine-patches
svn path=/trunk/; revision=10418
2004-08-08 16:04:00 +00:00
Jens Collin
82cdbd3a97 notepad takes input filename as parameter %1.
svn path=/trunk/; revision=10417
2004-08-08 16:01:07 +00:00
Filip Navara
287525992a - Fix section object dereferencing in NtCreateSection.
svn path=/trunk/; revision=10416
2004-08-08 10:46:20 +00:00
Steven Edwards
6ba86d77fa Added advapi32 test for the registry.
svn path=/trunk/; revision=10415
2004-08-07 22:51:27 +00:00
Steven Edwards
a730cae54d Added vmwinst and imagehlp to the bootcd
(imagehlp allows openoffice setup to work)

svn path=/trunk/; revision=10414
2004-08-07 22:26:00 +00:00
Steven Edwards
7fe2c42738 When doing a debug boot pass /NOGUIBOOT to disable the
splash screen so we can see the /DEBUGPORT=SCREEN
output.

svn path=/trunk/; revision=10413
2004-08-07 20:26:41 +00:00
Filip Navara
e0449489e5 - Faster dependency system.
svn path=/trunk/; revision=10412
2004-08-07 20:23:33 +00:00
Alex Ionescu
cd351f4dc9 Tagged certain functions that were exported both under NT and ROS, but not marked as un/implemented.
svn path=/trunk/; revision=10411
2004-08-07 19:13:27 +00:00
Alex Ionescu
730a1f48e2 Added shared RTL functions to appear in ntoskrnl exports (Since they are in fact exported by ntoskrnl)
svn path=/trunk/; revision=10410
2004-08-07 06:48:49 +00:00
Steven Edwards
592b1ab19b Renamed /DEBUGPORT=FILELOG to
/DEBUGPORT=BOOTLOG to be compatbile with Windows.

svn path=/trunk/; revision=10409
2004-08-07 03:41:31 +00:00
Filip Navara
312d818b93 - Correctly handle ClipCursor(NULL) case.
svn path=/trunk/; revision=10408
2004-08-07 00:25:10 +00:00
Gero Kuehn
17fbcf5e93 added display properties skeleton
svn path=/trunk/; revision=10407
2004-08-07 00:05:23 +00:00
Filip Navara
956358275c - Move code from NtCreateSection to MmCreateSection and adjust it.
- Use MmCreateSection instead of NtCreateSection where possible.

svn path=/trunk/; revision=10406
2004-08-05 19:59:13 +00:00
Alex Ionescu
054fcf9a85 Fixed Names.
svn path=/trunk/; revision=10405
2004-08-05 19:03:24 +00:00
Alex Ionescu
3c1d312107 Added RTL Stubs, Prototypes and Exports.
svn path=/trunk/; revision=10404
2004-08-05 18:17:37 +00:00
Emanuele Aliberti
172a11d61b Report "access denied" errors.
svn path=/trunk/; revision=10403
2004-08-05 12:11:49 +00:00
James Tabor
b1a51402e2 Update query thread times.
svn path=/trunk/; revision=10402
2004-08-05 11:38:01 +00:00
Filip Navara
68a3b15468 - Separate out cluster chain extending functionality from GetNextCluster to GetNextClusterExtend.
- Fix a typo in VfatHasFileSystem.

svn path=/trunk/; revision=10401
2004-08-05 02:48:18 +00:00
Thomas Bluemel
0004f90a07 Reverted my changes to timers
svn path=/trunk/; revision=10400
2004-08-04 22:31:17 +00:00
Martin Fuchs
f34c1d586a fix clean target for new standard makefiles
svn path=/trunk/; revision=10399
2004-08-04 21:42:33 +00:00
Magnus Olsen
f3f6e3172f notifyhook.dll are not in subsys/system/explore mapp it is in subsys/system/explore/notifyhook/ mapp
I did only corrrect the path so make bootcd works agein

svn path=/trunk/; revision=10397
2004-08-04 21:36:28 +00:00
Magnus Olsen
bfa88618a8 Thx to Herv� Poussineau the gcc 3.3.x are working agein
poussine@freesurf.fr

svn path=/trunk/; revision=10396
2004-08-04 19:53:27 +00:00
Filip Navara
f167814f32 - Remove completion routine for VfatReadDisk. IRPs build with IoBuildSynchronousFsdRequest mustn't be freed by IoFreeIrp, because they're still associated with a thread.
- Don't call IoBuildAsynchronousFsdRequest with NULL buffer for read/write requests. It's explicitly prohibited per DDK documentation and causes crashes on Windows (R) NT systems.

svn path=/trunk/; revision=10395
2004-08-04 19:40:45 +00:00
Filip Navara
8db63af2d6 - Correct a comment.
svn path=/trunk/; revision=10394
2004-08-04 18:27:21 +00:00
Filip Navara
0bde909135 - Fix compiling Explorer with precompiled headers.
svn path=/trunk/; revision=10393
2004-08-04 18:22:41 +00:00
Filip Navara
c4811617d1 - Don't allow selecting separators in start menu and avoid nasty refreshing when moving mouse above the left ReactOS Logo bar.
svn path=/trunk/; revision=10392
2004-08-04 18:19:01 +00:00
Emanuele Aliberti
bde15621e5 Register the LPC Port object object in the system name space.
svn path=/trunk/; revision=10390
2004-08-04 12:50:42 +00:00
Eric Kohl
3faddac950 Add missing functions to the .def and .edf files and sort existing entries.
svn path=/trunk/; revision=10389
2004-08-04 12:11:45 +00:00
Alex Ionescu
c23f194bf6 Fix Compiler warning with -O2
svn path=/trunk/; revision=10388
2004-08-04 02:36:53 +00:00
Filip Navara
08f1890738 - Change -fno-strict-aliasing to -Wno-strict-aliasing for optimized builds.
svn path=/trunk/; revision=10387
2004-08-04 02:27:07 +00:00
Filip Navara
f9ee38ed2b - Fix setting of GDT and IDT pointers in KPCR.
svn path=/trunk/; revision=10386
2004-08-04 02:24:40 +00:00
Alex Ionescu
47b5abbd99 Fix Compiler warning with -O2
svn path=/trunk/; revision=10385
2004-08-04 00:45:36 +00:00
Filip Navara
1740e56356 - Destroy associated listview when IShellView is destroyed.
svn path=/trunk/; revision=10384
2004-08-04 00:23:28 +00:00
Filip Navara
a5154371b4 - Use NDIS_DbgPrint instead of DbgPrint for NDIS buffer messages.
svn path=/trunk/; revision=10383
2004-08-04 00:19:11 +00:00
Alex Ionescu
2aa9311ef8 Fix Compiler warning with -O2
svn path=/trunk/; revision=10382
2004-08-04 00:18:01 +00:00
Filip Navara
0cff98313c - Disable debug messages of floppy driver.
svn path=/trunk/; revision=10381
2004-08-04 00:17:49 +00:00
Filip Navara
ba0ae4ebaf - Don't print stack frames in NtContinue if NDEBUG is defined.
svn path=/trunk/; revision=10380
2004-08-04 00:17:14 +00:00
Martin Fuchs
d9f7a83889 move doxygen targets into separate scripts
svn path=/trunk/; revision=10379
2004-08-03 20:05:02 +00:00
Martin Fuchs
49c4d2b4f2 move doxygen targets to separate scripts
svn path=/trunk/; revision=10378
2004-08-03 20:04:49 +00:00
Gregor Anich
57da2ced76 Implement NtUserEnumDisplaySettings/IntEnumDisplaySettings.
svn path=/trunk/; revision=10377
2004-08-03 19:55:58 +00:00
Martin Fuchs
16904f000e readd additional non-standard Makefile targets
svn path=/trunk/; revision=10376
2004-08-03 19:53:03 +00:00
Martin Fuchs
e092a67cea add .cvsignore files for *.o and *.d
svn path=/trunk/; revision=10375
2004-08-03 19:48:00 +00:00
Martin Fuchs
08cf5682c3 get version number to display from RES_STR_PRODUCT_VERSION
svn path=/trunk/; revision=10374
2004-08-03 19:43:45 +00:00
Martin Fuchs
22147c5757 get version number to display from RES_STR_PRODUCT_VERSION
svn path=/trunk/; revision=10372
2004-08-03 19:43:45 +00:00
Alex Ionescu
c5a9f20753 Added Se Stubs, Prototypes and Exports.
svn path=/trunk/; revision=10370
2004-08-03 19:20:39 +00:00
Filip Navara
01767fb5d8 - Execute the implib rule for system applications.
svn path=/trunk/; revision=10369
2004-08-03 14:50:56 +00:00
Eric Kohl
48ff8c0e48 Add wizard watermark and header bitmaps.
svn path=/trunk/; revision=10368
2004-08-03 14:10:49 +00:00
Eric Kohl
f0d259c7bc SeAssignSecurity():
- Inherit SACL.
- Make sure SIDs and ACLs are 4 byte aligned.

svn path=/trunk/; revision=10367
2004-08-03 13:58:56 +00:00
Eric Kohl
437de0500e - Use 'MS Shell Dlg' font in all dialogs.
- Fix some typos in german dialogs.
- Add locale page dialog.
- Store owner name, owner organization and computer name in the registry.

svn path=/trunk/; revision=10366
2004-08-03 13:43:00 +00:00
Martin Fuchs
62d46e8d85 correct TARGET_PCH to 'precomp.h'
svn path=/trunk/; revision=10365
2004-08-02 20:55:26 +00:00
Martin Fuchs
932a73bfc2 context menus for start menus
svn path=/trunk/; revision=10364
2004-08-02 20:00:56 +00:00
Martin Fuchs
62f1a2a671 context menus for qick launch bar
svn path=/trunk/; revision=10363
2004-08-02 19:16:18 +00:00
Filip Navara
efb2135435 - Add TARGET_PCH to Explorer makefile.
- Delete only the one used .pch file and not *.pch in helper.mk.

svn path=/trunk/; revision=10362
2004-08-02 15:51:23 +00:00
Filip Navara
3639da0250 - Use __KeStallExecutionProcessor instead of plain loop in HalCalibratePerformanceCounter since __KeStallExecutionProcessor is safe even for optimized builds.
svn path=/trunk/; revision=10361
2004-08-02 15:09:22 +00:00
Gregor Anich
64a312d97d If initializing the desktop implementation fails, print "Failed to initialize desktop implementation!", not "Failed to initialize window station implementation!"
svn path=/trunk/; revision=10360
2004-08-02 15:07:26 +00:00
Filip Navara
0eb15adf43 - Ignore msacm32.spec.def and Makefile.ros.
svn path=/trunk/; revision=10359
2004-08-02 15:07:09 +00:00
Filip Navara
7193e1d360 - Delete ntoskrnl/ps/i386/*.o on "make clean".
- Standardize Explorer makefile.
- Remove obsolete WINE_MODE and WINE_RC handling from helper.mk.

svn path=/trunk/; revision=10358
2004-08-02 15:04:24 +00:00
Filip Navara
16ac657bde - Fix building of MidiMap and WaveMap audio drivers.
svn path=/trunk/; revision=10357
2004-08-02 14:58:59 +00:00
Martin Fuchs
da6bb56348 update binres tools and fix renaming bug
svn path=/trunk/; revision=10356
2004-08-02 07:59:38 +00:00
Filip Navara
5efcf7ad5c - Remove build generated files from CVS.
svn path=/trunk/; revision=10355
2004-08-02 03:12:04 +00:00
Filip Navara
d6ee3ac209 - Use #include <xxx> for system include files instead of #include "xxx".
svn path=/trunk/; revision=10354
2004-08-02 03:07:36 +00:00
Filip Navara
c7dda4d8da - Remove msvfw32.spec.def as *.spec.def files are generated during the build.
svn path=/trunk/; revision=10353
2004-08-02 03:04:40 +00:00
Filip Navara
aa682a95e1 - Remove #include directives surrounded by #ifndef __REACTOS__.
svn path=/trunk/; revision=10352
2004-08-02 03:03:10 +00:00
Filip Navara
b80f0e34e1 - Remove unused makefiles.
svn path=/trunk/; revision=10351
2004-08-02 03:01:50 +00:00
Filip Navara
cb394360c0 - Get rid of WINE_MODE and WINE_RC usage in makefiles.
svn path=/trunk/; revision=10350
2004-08-02 02:55:08 +00:00
Filip Navara
3c76881837 - Add definition of _tmakepath.
svn path=/trunk/; revision=10349
2004-08-02 02:52:31 +00:00
Filip Navara
39799e45c9 - Make sure all build files and directories are properly deleted on "make clean".
svn path=/trunk/; revision=10348
2004-08-01 23:27:56 +00:00
Filip Navara
03578741a9 - Add *.pch to list of ignored files.
svn path=/trunk/; revision=10347
2004-08-01 22:02:30 +00:00
Filip Navara
a0198bed0d - Ignore all .ico files.
svn path=/trunk/; revision=10346
2004-08-01 22:00:33 +00:00
Filip Navara
4b0c6682d0 - Replace some usages of KEBUGCHECK(0) with correct bug check codes.
svn path=/trunk/; revision=10345
2004-08-01 21:57:35 +00:00
Filip Navara
a9f6cf2b6c - Change all FAT*FindAvailableCluster functions to new functions
FAT*FindAndMarkAvailableCluster which have incorporated the setting of
  EOF marker in the File Allocation Table for the returned cluster.

- Rewritten FAT32CountAvailableClusters, FAT32FindAndMarkAvailableCluster,
  FAT16CountAvailableClusters and FAT16FindAndMarkAvailableCluster for
  better performance. These functions were using one big loop for traversing
  the FAT and had a block of code in the loop for requesting cache manger
  for next chunk of FAT *if necessary* (which commonly wasn't the case).
  Now it's changed to request always a whole FAT chunk and process it at once
  in a nested loop.

- Cache last offset + cluster pair while reading/writing from/to file. This
  ensures almost linear times when doing sequential reads/writes, because the
  whole FAT traversing for the file is not done again for every request.
  Previously there was code for this, but it was neither correctly used
  nor working. It stored the last offset + cluster pair in file CCB structure
  (that is unique for each opened file handle) and not FCB structure (which
  is shared among all instances of the same file). This resulted in
  inconsistent cluster + offset number when the file allocation chain was
  changed (eg. by enlarging/shrinking the file), but since the cached offsets
  weren't actully used it went unnoticed.

- Remove old hack from NextCluster and fix the call to it in VfatAddEntry.
  Not much to say about it, there was an temporary hack in NextCluster and
  with fixed VfatAddEntry it's now no longer needed.

- Add pointers to WriteCluster, FindAndMarkAvailableCluster and
  GetNextCluster functions to device extension (set during mount) and use
  them at appropriate locations. This avoids some nasty if's in the code
  and causes some unnoticable performance improvment in the low-level
  FAT code.

- Lock the directory FCB in VfatAddEntry while modifying it. This should
  propably be done on more places, but it needs more investigations.

- Increase the file cache allocation size in VfatRead/VfatWrite. It boosts
  the overall speed of the driver a lot.

svn path=/trunk/; revision=10344
2004-08-01 21:57:18 +00:00
Martin Fuchs
0f48b872aa correct icon image order
svn path=/trunk/; revision=10343
2004-08-01 21:23:21 +00:00
Martin Fuchs
009b55a91e insert new ramdisk icon from Klemens Friedl
svn path=/trunk/; revision=10342
2004-08-01 20:56:59 +00:00
Thomas Bluemel
f258f3380a fixed popup menu for edit controls
svn path=/trunk/; revision=10341
2004-08-01 19:49:21 +00:00
Jens Collin
ace328553a corrected build error.
svn path=/trunk/; revision=10340
2004-08-01 15:56:15 +00:00
Jens Collin
9bedba895d merged with wine-version of dialogs.c and replaced CreateProcess-call with ShellExecute to be able to launch any file from start-menu
svn path=/trunk/; revision=10339
2004-08-01 15:37:06 +00:00
Thomas Bluemel
f9d899b01f fixed KDBG:=1 builds. Patch by blight
svn path=/trunk/; revision=10338
2004-08-01 11:40:37 +00:00
Martin Fuchs
d0f962adaf display different drive icons depending on the drive type
svn path=/trunk/; revision=10337
2004-08-01 11:26:13 +00:00
Martin Fuchs
09124408c9 integrate new drive icons of Klemens Friedl <frik85@hotmail.com>
(see http://reactosde.funpic.de/mediadetail.php?sec=Graphic%20arts&cat=icons&mdnr=8)

svn path=/trunk/; revision=10336
2004-08-01 11:24:43 +00:00
Martin Fuchs
79e842231c implement IServiceprovider interface
svn path=/trunk/; revision=10334
2004-08-01 09:26:27 +00:00
Hartmut Birr
06b9a76a1b - Stopped the printing of frames after the nice value 'deadbeef' in KeRosDumpStackFrames.
svn path=/trunk/; revision=10333
2004-08-01 07:28:43 +00:00
Hartmut Birr
b36f5c8459 - Changed all internal memory functions to use the page frame number instead of the physical address.
- Allowed MmCreateVirtualMapping to create mappings for more than one page.
- Used invplg to invalidate a single tlb entry.
- Simplified the access to the page tables/directories.

svn path=/trunk/; revision=10332
2004-08-01 07:27:25 +00:00
Hartmut Birr
fd411381da - Changed all internal memory functions to use the page frame number instead of the physical address.
- Allowed MmCreateVirtualMapping to create mappings for more than one page.

svn path=/trunk/; revision=10331
2004-08-01 07:24:59 +00:00
Magnus Olsen
5f1aa6ff61 change back after filps advace
svn path=/trunk/; revision=10330
2004-07-31 15:09:59 +00:00
Magnus Olsen
abcc1f252b DUMMYSTRUCTNAME1, DUMMYSTRUCTNAME1 s1, DUMMYUNIONNAME u1 where missing
did forget change DUMMYUNIONNAME u1 to DUMMYUNIONNAME1 u1

svn path=/trunk/; revision=10329
2004-07-31 14:47:09 +00:00
Eric Kohl
fa3393af0c Implement SeQuerySecurityDescriptorInfo().
svn path=/trunk/; revision=10328
2004-07-31 12:21:19 +00:00
Magnus Olsen
be56bd2bbd DUMMYSTRUCTNAME1, DUMMYSTRUCTNAME1 s1, DUMMYUNIONNAME u1 where missing
svn path=/trunk/; revision=10327
2004-07-31 12:10:32 +00:00
Magnus Olsen
f5848006c0 DUMMYSTRUCTNAME1, DUMMYSTRUCTNAME1 s1, DUMMYSTRUCTNAME1 u1 where missing
svn path=/trunk/; revision=10326
2004-07-31 12:04:23 +00:00
Hartmut Birr
ae9493fada - Used MmStats.NrFreePages instead of MiNrAvailablePages.
svn path=/trunk/; revision=10325
2004-07-31 09:44:36 +00:00
Hartmut Birr
b67cc5006c - Update the page counters in MmGetContinuousPages.
- Add a flag to PHYSICAL_PAGE, to detect if a free page is on the zeroed or on the unzeroed list.

svn path=/trunk/; revision=10324
2004-07-31 09:43:54 +00:00
James Tabor
f811b0ed5c Fix up SystemPageFileInfo and SystemCacheInfo. May not have all the right data.
svn path=/trunk/; revision=10322
2004-07-31 00:14:39 +00:00
James Tabor
1cac450d4c Moved KiTimerSystemAuditing flag to main.c.
svn path=/trunk/; revision=10321
2004-07-30 19:29:18 +00:00
James Tabor
3ba2c74617 Moved KiTimerSystemAuditing flag to main.c so it can set when everything is up and running. Also, turn the time auditing back on.
svn path=/trunk/; revision=10320
2004-07-30 19:28:49 +00:00
James Tabor
b31a0f3811 Implemented OpenThread and GetSystemTimes.
svn path=/trunk/; revision=10319
2004-07-30 19:18:39 +00:00
Thomas Bluemel
26ecba1c13 added "hide on minimize" feature and added context menu to the tray icon
svn path=/trunk/; revision=10318
2004-07-30 13:39:56 +00:00
Thomas Bluemel
61430b7b65 Patch by Filip Navaraf: Removed the mouse class gdi callback
svn path=/trunk/; revision=10317
2004-07-30 09:42:11 +00:00
Thomas Bluemel
6a79a66086 attempt to fix a few message queue and timer bugs
svn path=/trunk/; revision=10316
2004-07-30 09:16:06 +00:00
James Tabor
acb7361211 New Process & Thread time locking and experimental DPC accounting support.
svn path=/trunk/; revision=10315
2004-07-29 23:28:48 +00:00
James Tabor
a769548161 Add ps to system build.
svn path=/trunk/; revision=10314
2004-07-29 22:32:37 +00:00
James Tabor
cd7d90c696 New process listing command.
svn path=/trunk/; revision=10313
2004-07-29 22:31:56 +00:00
James Tabor
a514022aea Fixing Taskmgr and GlobalMemoryStatusEx return numbers.
svn path=/trunk/; revision=10312
2004-07-29 20:37:02 +00:00
Thomas Bluemel
7d74fb9d99 fixed compiling errors with gcc 3.4.x
svn path=/trunk/; revision=10311
2004-07-29 16:46:22 +00:00
Thomas Bluemel
a8c60b138d don't change selection if not capturing the console window
svn path=/trunk/; revision=10310
2004-07-29 13:54:45 +00:00
Thomas Bluemel
310098e324 fixed calculation of selected cells
svn path=/trunk/; revision=10309
2004-07-29 13:43:38 +00:00
Thomas Bluemel
1ee783cd7d fix assertion statement
svn path=/trunk/; revision=10308
2004-07-29 12:03:47 +00:00
Art Yerkes
bc0ec8c03d Fixed includes so that DBG keys on roscfg.h
Fixed subtle bug in miniport.c: if exactly one protocol is registered we
would skip it in MiniIndicateData because we took the .Flink value from the
list head, then compared CurrentEntry->Flink to the list head address.

svn path=/trunk/; revision=10307
2004-07-29 05:00:43 +00:00
Art Yerkes
c14c59021f Accidentally missed one breakpoint from the previous debugging session.
svn path=/trunk/; revision=10306
2004-07-29 04:10:53 +00:00
Art Yerkes
c0dd64494d Fixed memory overwrite due to too-small allocation.
svn path=/trunk/; revision=10305
2004-07-29 04:09:06 +00:00
Thomas Bluemel
b6a9c73c88 allow selecting text with the mouse in gui consoles
svn path=/trunk/; revision=10304
2004-07-28 22:28:50 +00:00
Steven Edwards
c9f548f45a Add all the new fonts to the bootcd.
svn path=/trunk/; revision=10303
2004-07-28 04:20:44 +00:00
Steven Edwards
7c8435a226 patch by Arty to fix casting issue.
I lost the old patch by Filip.

svn path=/trunk/; revision=10302
2004-07-28 04:20:12 +00:00
Steven Edwards
b4cbfd1d28 C++ flags not C Flags
svn path=/trunk/; revision=10301
2004-07-28 04:02:47 +00:00
Magnus Olsen
303ce93000 remove struct _DDSCAPSEX
it are allread in ddraw.h

svn path=/trunk/; revision=10298
2004-07-27 11:47:10 +00:00
Magnus Olsen
1e873b4f31 From wine include files for preption for directx support in reactos
no changes have been made on this file
to sync with wine only copy thuse file from wine when it need.

svn path=/trunk/; revision=10297
2004-07-27 10:46:27 +00:00
Magnus Olsen
c0779f51d4 From wine include files for preption for directx support in reactos
no changes have been made on this file
to sync with wine only copy thuse file from wine when it need.

svn path=/trunk/; revision=10296
2004-07-27 10:30:11 +00:00
Filip Navara
a646b85ed6 * dlls/shell32/shellpath.c: Aric Stewart <aric@codeweavers.com>
Make sure that the size of the buffer passed to RegSetValueExW is in
bytes not WCHARs.

svn path=/trunk/; revision=10291
2004-07-26 17:02:30 +00:00
James Tabor
2fe9583bc7 Patch for fixing EnumThreadWindows.
svn path=/trunk/; revision=10290
2004-07-26 14:58:35 +00:00
Eric Kohl
6b53247ee6 Remove dead code.
svn path=/trunk/; revision=10289
2004-07-26 13:19:34 +00:00
Eric Kohl
9528bf078e Implement SeValidSecurityDescriptor().
svn path=/trunk/; revision=10288
2004-07-26 12:44:40 +00:00
Eric Kohl
66a51a8a25 Implement NtSetSecurityObject().
svn path=/trunk/; revision=10287
2004-07-25 17:06:37 +00:00
Steven Edwards
6e3095a9e1 Cleaned up Taskmgr resources to break each language in
to its own resource file.

Spanish translation by Carlos Garcia Gomez.

svn path=/trunk/; revision=10286
2004-07-25 16:02:48 +00:00
Thomas Bluemel
9953b620f8 fixed compiling
svn path=/trunk/; revision=10285
2004-07-25 15:11:24 +00:00
Eric Kohl
f4fe39f27b Implement NtQuerySecurityObject() for objects that keep the security in the object header.
svn path=/trunk/; revision=10284
2004-07-25 12:39:28 +00:00
Eric Kohl
7d6581aebc Move generic access rights to a common header file and add missing access rights.
svn path=/trunk/; revision=10283
2004-07-25 12:36:45 +00:00
Martin Fuchs
8fb1163c02 recalculate start menu root position for any call
svn path=/trunk/; revision=10281
2004-07-24 20:09:45 +00:00
Thomas Bluemel
ce336586ba implementation of TouchFileTimes(), Thanks to Florian Stinglmayr for submitting a rough draft ;)
svn path=/trunk/; revision=10279
2004-07-24 10:42:55 +00:00
Thomas Bluemel
d7c54ad860 Krishna Murthy <Krishna.Murthy@guptaworldwide.com>
Modified EDIT_WM_Char() to restrict keying in of letters other than
	numbers when ES_NUMBER style is set.

svn path=/trunk/; revision=10278
2004-07-24 09:43:09 +00:00
Art Yerkes
5fd1995681 Parallel commit: See this osr page:
http://www.osr.com/ddk/network/103ndisx_51pu.htm
Fixes problem with reactos ne2000 driver and ndis resulting in random
heap corruption.  The NdisMEthIndicateReceive macro passes the
MiniportAdapterHandle, not the ETH_FILTER from inside it.

svn path=/trunk/; revision=10277
2004-07-24 04:49:33 +00:00
Art Yerkes
a85dce53e9 According to this osr page:
http://www.osr.com/ddk/network/103ndisx_51pu.htm

NdisMEthIndicateReceive passes an NDIS_HANDLE (Specifically,
MiniportAdapterHandle), rather than the ETH_FILTER structure.  God knows why
this wasn't caught before but it did awfully strange stuff including the
occasional crash, and more importantly, seemingly randomly corrupting the
LAN_ADAPTER and IP_INTERFACE structures in tcpip.sys when we landed in
packet receiving in datalink/lan.c.  Fixed now.

svn path=/trunk/; revision=10276
2004-07-24 04:48:01 +00:00
Thomas Bluemel
b477fd3439 ignore dependency files
svn path=/trunk/; revision=10275
2004-07-24 01:37:43 +00:00
Thomas Bluemel
b4c02404fd Sync with wine-20040724
svn path=/trunk/; revision=10274
2004-07-24 01:32:58 +00:00
Filip Navara
96364f9b04 - Fix WS_CAPTION style handling.
svn path=/trunk/; revision=10273
2004-07-24 01:28:15 +00:00
Filip Navara
5ada12c0d9 - Associate Irp with thread in NtSetInformationFile.
svn path=/trunk/; revision=10272
2004-07-24 01:28:04 +00:00
Filip Navara
e99d2b956a - Replace incorrect casts and comparsions by using the HIWORD macro so we get the correct debug info.
svn path=/trunk/; revision=10271
2004-07-24 01:28:01 +00:00
Filip Navara
05f0512081 - Fix OpenFile for OF_CREATE case.
svn path=/trunk/; revision=10270
2004-07-24 01:27:54 +00:00
Thomas Bluemel
8033e5b560 Sync with wine-20040724
svn path=/trunk/; revision=10269
2004-07-24 01:21:34 +00:00
Thomas Bluemel
bfcd174365 Sync with wine-20040724
svn path=/trunk/; revision=10268
2004-07-24 00:55:39 +00:00
Thomas Bluemel
c7c06a5864 Sync with wine-20040724
svn path=/trunk/; revision=10267
2004-07-24 00:45:31 +00:00
Thomas Bluemel
2effacb2e6 Sync with wine-20040724
svn path=/trunk/; revision=10266
2004-07-24 00:40:01 +00:00
Casper Hornstrup
abc9d6261c 2004-07-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile (DLLS): Add gdiplus.
	* apistatus.lst: Add gdiplus.dll.
	* baseaddress.cfg (TARGET_BASE_LIB_GDIPLUS): Declare.
	* bootdata/packages/reactos.dff: Add gdiplus.dll.
	* include/ntos/rtl.h (InsertTailList): Remove dependency on RtlAssert.
	* lib/gdiplus/(gdiplus, include, tests, tests/tests): New directories.
	* lib/gdiplus/(.cvsignore, gdiplus.def, gdiplus.edf, gdiplus.rc,
	makefile): New files.
	* lib/gdiplus/gdiplus/(.cvsignore, *.c): Ditto.
	* lib/gdiplus/include/(debug.h, GdiPlusPrivate.h): Ditto.
	* lib/gdiplus/tests/(.cvsignore, Makefile, passthrough.c): Ditto.
	* lib/gdiplus/tests/tests/(.cvsignore, test-1.c): Ditto.

svn path=/trunk/; revision=10265
2004-07-23 21:54:55 +00:00
Eric Kohl
013e3c728c Implement ObGetObjectSecurity() and ObReleaseObjectSecurity().
svn path=/trunk/; revision=10264
2004-07-23 21:44:10 +00:00
Jason Filby
23cd7fb231 Set TMPF_TRUETYPE flag for TEXTMETRICW variable in NtGdiGetTextMetrics if dealing with a TrueType font
svn path=/trunk/; revision=10263
2004-07-23 20:46:20 +00:00
Jason Filby
6c4e90a9ab Port GetCharacterPlacementW from WINE; copy lpString to lpResults->lpGlyphs if it (destination string) is not null
svn path=/trunk/; revision=10262
2004-07-23 20:41:09 +00:00
Casper Hornstrup
3d3df3bc4e 2004-07-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile, drivers/video/makefile, lib/cpl/Makefile, ntoskrnl/Makefile,
	tools/helper.mk: Add test target.
	* include/ntos/types.h (UINT16, PUINT16): Declare.
	* regtests/kmregtests/tests/mdl-1.c, regtests/kmregtests/tests/mdl-2.c,
	regtests/kmregtests/tests/mm-1.c, subsys/win32k/tests/tests/eng-mem-1.c:
	Simplify tests.
	* regtests/shared/regtests.c: Include <ctype.h> and <stdlib.h>.
	* regtests/shared/regtests.h (DISPATCHER): Declare the whole function.
	* tools/regtests.c: Refactor part of register_test into get_test_name();
	Stub for running tests in the build environment.
	* w32api/include/basetsd.h (INT16, PINT16, UINT16, PUINT16): Declare.
	* lib/user32/misc/exticon.c (UINT16): Remove declaration.

svn path=/trunk/; revision=10261
2004-07-23 20:03:26 +00:00
Casper Hornstrup
ba42192c97 2004-07-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
* rules.mak: Be silent only if VERBOSE=no.

svn path=/trunk/; revision=10260
2004-07-23 19:07:44 +00:00
Casper Hornstrup
6dbdb2b832 2004-07-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
* rules.mak: Do not print "'target' is up to date." messages.

svn path=/trunk/; revision=10259
2004-07-23 17:48:10 +00:00
Eric Kohl
38d792196e Move security information constants.
svn path=/trunk/; revision=10258
2004-07-23 09:26:29 +00:00
James Tabor
b2f73e07c8 Added thread counting with PsEnumThreadsByProcess and thread support in SystemProcessInformation.
svn path=/trunk/; revision=10257
2004-07-23 07:44:26 +00:00
Filip Navara
651d364842 - Fix handling of METHOD_IN_DIRECT IRPs.
svn path=/trunk/; revision=10256
2004-07-22 20:40:17 +00:00
Filip Navara
bdedaa4fe0 - Support for deserialized miniports (experimental).
svn path=/trunk/; revision=10255
2004-07-22 18:54:36 +00:00
Filip Navara
6e64d6266e - Implementation of HalReadDmaCounter.
- Cleaned up implementation of HalGetAdapter. Moved the initialization
  stuff from there to HalpInitDma that is called by HalInitSystem.
- Let HalAllocateCommonBuffer allocated 64K aligned memory.
- Change IoMapTransfer to support auto initialize and single transfer mode,
  16-bit DMA and common buffers.
- Stop DMA transfer in IoFlushAdapterBuffers.

svn path=/trunk/; revision=10254
2004-07-22 18:49:18 +00:00
Eric Kohl
ec5f846d4c - Add security function for file and registry key objects.
- Implement ObAssignSecurity().

svn path=/trunk/; revision=10253
2004-07-22 18:38:08 +00:00
James Tabor
b6e1dfaded Fixing time accounting errors when mult & div into LARGE_INTEGER.
svn path=/trunk/; revision=10252
2004-07-22 17:22:38 +00:00
Filip Navara
46e6b49f21 - Fix handling of METHOD_IN_DIRECT IRPs.
svn path=/trunk/; revision=10251
2004-07-22 16:21:39 +00:00
James Tabor
0b05c8aa29 Fix DosDateTimeToFileTime too.
svn path=/trunk/; revision=10248
2004-07-22 06:28:52 +00:00
James Tabor
b95aac5417 You can not stuff 60 seconds in 5 bits.
svn path=/trunk/; revision=10247
2004-07-22 06:07:02 +00:00
Filip Navara
58adcd8099 - Fix initialization order.
svn path=/trunk/; revision=10246
2004-07-22 02:36:43 +00:00
Filip Navara
c846dde012 - Fix heap corruption on converting ANSI -> UNICODE strings.
svn path=/trunk/; revision=10245
2004-07-22 02:32:53 +00:00
Filip Navara
b4b6a5f134 - Map the GENERIC_* flags depending of the object type in IoCreateFile.
svn path=/trunk/; revision=10244
2004-07-22 02:32:43 +00:00
Filip Navara
d17f542edd Revert this patch:
- Convert the user mode dwDesiredAccess flags in CreateFile to the kernel mode ones that are used by NtCreateFile.

svn path=/trunk/; revision=10243
2004-07-22 02:32:40 +00:00
Eric Kohl
5d44bfe942 Implement simple DACL inheritance.
svn path=/trunk/; revision=10242
2004-07-21 23:38:15 +00:00
Casper Hornstrup
88662ac62e 2004-07-21 Casper S. Hornstrup <chorns@users.sourceforge.net>
* w32api/include/(GdiPlus.h, GdiPlusBase.h, GdiPlusBrush.h, GdiPlusColor.h,
	GdiPlusColorMatrix.h, GdiPlusEffects.h, GdiPlusEnums.h, GdiPlusFlat.h,
	GdiPlusGpStubs.h, GdiPlusGraphics.h, GdiPlusHeaders.h,
	GdiPlusImageAttributes.h, GdiPlusImaging.h GdiPlusInit.h,
	GdiPlusLineCaps.h, GdiPlusMatrix.h, GdiPlusMem.h, GdiPlusMetaFile.h,
	GdiPlusMetaHeader.h, GdiPlusPath.h, GdiPlusPen.h, GdiPlusPixelFormats.h,
	GdiPlusStringFormat.h, GdiPlusTypes.h): New files.

svn path=/trunk/; revision=10241
2004-07-21 20:10:05 +00:00
Martin Fuchs
6dc20a8084 use same startmenu entries height as MS explorer
svn path=/trunk/; revision=10240
2004-07-21 19:05:19 +00:00
Casper Hornstrup
4175709d6c 2004-07-21 Casper S. Hornstrup <chorns@users.sourceforge.net>
* rules.mak, iface/addsys/makefile, iface/native/makefile,
	tools/Makefile: Be quiet if VERBOSE=no.
	* tools/helper.mk: Print module name if it was successfully built.
	* tools/regtests.c, tools/wine2ros/wine2ros.c: Be quiet.

svn path=/trunk/; revision=10239
2004-07-21 18:17:50 +00:00
Alex Ionescu
0b9e69fecf Implemented PsGetThreadFreezeCount, PsGetThreadHardErrorsAreDisabled, PsGetThreadId, PsGetThreadProcess, PsGetThreadProcessId, PsGetThreadSessionId, PsGetThreadTeb, PsGetThreadWin32Thread, PsGetCurrentThreadPreviousMode, PsGetCurrentThreadStackBase, PsGetCurrentThreadStackLimit, PsSetThreadHardErrorsAreDisabled, PsSetThreadWin32Thread
svn path=/trunk/; revision=10238
2004-07-21 01:05:26 +00:00
Alex Ionescu
2afa5d7040 Implemented PsGetProcessCreateTimeQuadPart, PsGetProcessDebugPort, PsGetProcessExitProcessCalled, PsGetProcessExitStatus, PsGetProcessId, PsGetProcessImageFileName, PsGetProcessInheritedFromUniqueProcessId, PsGetProcessPeb,
PsGetProcessPriorityClass, PsGetProcessSectionBaseAddress,
PsGetProcessSecurityPort, PsGetProcessWin32Process,
PsGetProcessWin32WindowStation, PsIsProcessBeingDebugged,
PsGetCurrentProcessSessionId, PsGetProcessSessionId, PsSetProcessPriorityClass, PsSetProcessSecurityPort, PsSetProcessWin32Process, PsSetProcessWin32WindowStation

svn path=/trunk/; revision=10237
2004-07-20 23:58:35 +00:00
Hartmut Birr
f8db6a5d2a - Replaced all single pushf/popf inline assembler instructions with a macro
which doesn't change the stack layout.

svn path=/trunk/; revision=10236
2004-07-20 21:25:36 +00:00
Steven Edwards
54ed416bfe added msacm32.dll to the build. This gets Winamp loading.
Cleaned up the list of libs a bit.

svn path=/trunk/; revision=10235
2004-07-20 19:24:39 +00:00
Steven Edwards
55a9f27fef These files are auto-generated.
svn path=/trunk/; revision=10234
2004-07-20 19:14:48 +00:00
Alex Ionescu
27a729d88d Implemented ImageLoad, MapAndLoad, ImageRvaToVa, ImageRvaToSection, ImageDirectoryEntryToData, GetImageUnusedHeaderBytes and BindImageEx
svn path=/trunk/; revision=10233
2004-07-20 16:48:18 +00:00
Eric Kohl
c5ad1ab780 SeAssignSecurity:
- Build a self-relative security descriptor.
- Inherit owner and group SIDs or assign useful default SIDs.
- Copy DACL from explicit secuity descriptor.

svn path=/trunk/; revision=10232
2004-07-20 12:08:04 +00:00
Filip Navara
ce98b463a5 - Fix handling of METHOD_IN_DIRECT IRPs.
svn path=/trunk/; revision=10231
2004-07-20 11:06:47 +00:00
Steven Edwards
3a9f5e2f86 the resources are still in upper case. Adjust the RC to match this to fix the linux build
svn path=/trunk/; revision=10230
2004-07-19 21:51:49 +00:00
Gregor Anich
10b4b57ad4 Don't interpret \\r\\n as 2 newlines.
svn path=/trunk/; revision=10229
2004-07-19 19:40:01 +00:00
Thomas Bluemel
7497d9c86e fixed calculation of memory address
svn path=/trunk/; revision=10228
2004-07-19 17:55:33 +00:00
Eric Kohl
de32ec78dc - Add @implemented tag to NtMakePermanentObject().
- Capture the security context before calling SeAsignSecurity() and release it later.

svn path=/trunk/; revision=10227
2004-07-19 12:48:59 +00:00
Eric Kohl
ae95148c4b SeCaptureSubjectContext() must not crash if no current thread exists.
svn path=/trunk/; revision=10226
2004-07-19 12:45:56 +00:00
Thomas Bluemel
06272913f0 added missing colors
svn path=/trunk/; revision=10225
2004-07-19 12:13:45 +00:00
Thomas Bluemel
ae734f5bd5 fixed file names
svn path=/trunk/; revision=10224
2004-07-19 09:55:26 +00:00
Thomas Bluemel
f1075c6387 fixed file names
svn path=/trunk/; revision=10223
2004-07-19 09:54:46 +00:00
Alex Ionescu
87ea80f6b7 Added Ps Stubs and Prototypes.
svn path=/trunk/; revision=10222
2004-07-19 06:08:21 +00:00
Alex Ionescu
8aab59acbf Added OPTIMIZED Flag to config file to build optimized versions of NTOSKRNL and WIN32K. Disabled by default.
svn path=/trunk/; revision=10221
2004-07-19 04:52:24 +00:00
Art Yerkes
659a6041bc Forgot to add file tilists.h
svn path=/trunk/; revision=10220
2004-07-19 04:30:04 +00:00
Gero Kuehn
42d52c68a5 added preparations for installing .INF files (for class installers) during setup, added Reactos\Inf
svn path=/trunk/; revision=10219
2004-07-19 01:33:48 +00:00
Filip Navara
48316edcd9 - Change IoReportResourceUsage from using UNIMPLEMENTED macro to just print an message that the function is unimplemented.
svn path=/trunk/; revision=10218
2004-07-18 23:52:50 +00:00
Filip Navara
f810ae11e4 - Change length checking semantics of NtEnumerateKey for KeyBasicInformation.
- Correct buffer size calculations.

svn path=/trunk/; revision=10217
2004-07-18 23:52:38 +00:00
Filip Navara
579f24da75 - Properly set last error in WaitForSingleObjectEx.
svn path=/trunk/; revision=10216
2004-07-18 23:52:31 +00:00
Filip Navara
9ec9ff807a - RegEnumValueW should fill in *lpcbData if lpData == NULL.
svn path=/trunk/; revision=10215
2004-07-18 23:52:30 +00:00
Art Yerkes
6a793b2703 Fixed after prototype change.
svn path=/trunk/; revision=10212
2004-07-18 22:53:59 +00:00
Art Yerkes
a01c282993 Changed include for afd.
svn path=/trunk/; revision=10211
2004-07-18 22:50:52 +00:00
Art Yerkes
0f1eb55991 First commit of afd and msafd onto head.
tcpip: Turned off debug info in CVS.

svn path=/trunk/; revision=10210
2004-07-18 22:49:18 +00:00
Gero Kuehn
cd35daab59 added initial version of the network cpl
svn path=/trunk/; revision=10209
2004-07-18 22:37:08 +00:00
Gero Kuehn
5633682080 added registry entries for the network configuration
svn path=/trunk/; revision=10208
2004-07-18 22:25:05 +00:00
Art Yerkes
6ac4bce416 msafd + afd: Changed type of PVOID args to PAFD_WSABUF, avoiding some casts.
Added some tracing.
Converted afd.sys to use METHOD_NEITHER in the correct places.
oskittcp: Added some tracking in tcp_input and tcp_output to help look for
the ack bug.
tcpip: some cleaning.  Realized that an NTE was getting sent to IPReceive as
the Context parameter, but was later treated as IP_INTERFACE.  Changed
prototypes to keep this from happening again.

svn path=/trunk/; revision=10207
2004-07-18 22:03:49 +00:00
Thomas Bluemel
430efd137f don't create read-only files
svn path=/trunk/; revision=10206
2004-07-18 21:39:55 +00:00
Gregor Anich
06dd253e6e Delete read-only files too.
svn path=/trunk/; revision=10205
2004-07-18 21:15:47 +00:00
Alex Ionescu
c49a1aa591 Fixed broken build. Added functions were already defined in /lib/rtl and unecessary in ntoskrnl.
svn path=/trunk/; revision=10204
2004-07-18 17:45:28 +00:00
Magnus Olsen
288862f4dc *** empty log message ***
svn path=/trunk/; revision=10202
2004-07-18 17:38:17 +00:00
Filip Navara
5586cebc70 - Since DirecrSound is not implemented at all we should return error in DirectSoundCreate.
svn path=/trunk/; revision=10201
2004-07-18 17:16:57 +00:00
Filip Navara
cf649ce107 - Convert the user mode dwDesiredAccess flags in CreateFile to the kernel mode ones that are used by NtCreateFile.
svn path=/trunk/; revision=10200
2004-07-18 17:08:29 +00:00
Filip Navara
6a7a2b5854 - Fallback implementation in waveOut[Un]PrepareHeader.
svn path=/trunk/; revision=10199
2004-07-18 17:06:03 +00:00
Thomas Bluemel
a8da150d8b Added and updated some German translations. Patch by Michael Fritscher.
svn path=/trunk/; revision=10198
2004-07-18 16:07:58 +00:00
Thomas Bluemel
e88c525321 cvs maintainance
svn path=/trunk/; revision=10197
2004-07-18 16:00:05 +00:00
Eric Kohl
4962573e85 Use SeAssignSecurity() to build a security descriptor for a new object.
svn path=/trunk/; revision=10196
2004-07-18 13:03:43 +00:00
Martin Fuchs
04642b4ea7 precompiled header support for GCC 3.4.1
svn path=/trunk/; revision=10194
2004-07-18 13:03:06 +00:00
Eric Kohl
9e08323787 Implement most simple code path of SeAssignSecurity().
svn path=/trunk/; revision=10193
2004-07-18 13:02:28 +00:00
Gregor Anich
9ba0b83e50 Added RosRtlDevModeW2A function.
svn path=/trunk/; revision=10192
2004-07-18 12:51:46 +00:00
Martin Fuchs
b96e6b7b0a eliminate useless GCC warning by initializing the entry variable
svn path=/trunk/; revision=10191
2004-07-18 09:31:02 +00:00
Martin Fuchs
4afe092bc0 fix UNICODE string buffer allocation
svn path=/trunk/; revision=10190
2004-07-18 09:20:38 +00:00
Gregor Anich
f7dff7223a Fix EnumDisplaySettingsExA (did not output anything into devmode)
svn path=/trunk/; revision=10189
2004-07-18 00:36:33 +00:00
Gregor Anich
cec39741e7 Added RosRtlDevModeW2A function.
svn path=/trunk/; revision=10188
2004-07-18 00:30:08 +00:00
Filip Navara
5a725770bc - Fixed memory referencing in mmTaskCreate.
svn path=/trunk/; revision=10187
2004-07-17 22:28:23 +00:00
Thomas Bluemel
e5b2c95bf3 simplified assigning DDI functions
svn path=/trunk/; revision=10186
2004-07-17 21:10:25 +00:00
Eric Kohl
491fa2e1ef Assign a security descriptor to the root directory object.
svn path=/trunk/; revision=10185
2004-07-17 20:34:42 +00:00
Eric Kohl
23dac2681b Create missing default DACLs.
svn path=/trunk/; revision=10184
2004-07-17 20:32:11 +00:00
Gregor Anich
349c610706 Removed some comments - previous change didn't fix infinite re-creation of print.c deps for me.
svn path=/trunk/; revision=10183
2004-07-17 17:37:41 +00:00
Filip Navara
70d717f742 - Disable debug messages.
svn path=/trunk/; revision=10182
2004-07-17 17:24:45 +00:00
Filip Navara
9eee1e99ee - RegQueryValueExW shouldn't touch *lpcbData if lpData == NULL.
svn path=/trunk/; revision=10179
2004-07-17 16:09:07 +00:00
Gregor Anich
96e0da3b7b Changed comments a bit, previous version did create print.c dependencies over and over again for me.
svn path=/trunk/; revision=10178
2004-07-17 15:52:43 +00:00
Gregor Anich
1bd5f9a981 Handle return value 0 from ExtEscape as special case (means to use the default driver)
svn path=/trunk/; revision=10177
2004-07-17 15:13:37 +00:00
Gregor Anich
13bc74184a Handle escape to get opengl driver info in IntEngExtEscape to avoid the infinite loop in the UNIMPLEMENTED macro (needed by opengl32.dll)
svn path=/trunk/; revision=10176
2004-07-17 15:12:25 +00:00
Eric Kohl
a3a123ab31 Implement NtMakePermanentObject().
svn path=/trunk/; revision=10175
2004-07-17 12:08:21 +00:00
Alex Ionescu
14f18e7d6d Added exports for new stubs and fixed some issues with recently commited stubs.
svn path=/trunk/; revision=10174
2004-07-17 05:13:05 +00:00
Alex Ionescu
c015d55c31 Added keys for Winsock
svn path=/trunk/; revision=10173
2004-07-17 04:17:32 +00:00
Alex Ionescu
6a9ab71231 Added keys for Winsock
svn path=/trunk/; revision=10172
2004-07-17 04:04:08 +00:00
Alex Ionescu
4762b47e36 Added New System Call Prototypes and Stubs
svn path=/trunk/; revision=10171
2004-07-17 03:07:00 +00:00
Alex Ionescu
e7874284d0 Added Mm Prototypes
svn path=/trunk/; revision=10170
2004-07-17 03:04:45 +00:00
Alex Ionescu
a0e9802e90 Added Mm Stubs
svn path=/trunk/; revision=10169
2004-07-17 03:03:52 +00:00
Gregor Anich
60676902f6 Fix loading of default driver.
svn path=/trunk/; revision=10168
2004-07-17 02:26:33 +00:00
Alex Ionescu
858364e468 Added keys for Winsock
svn path=/trunk/; revision=10167
2004-07-17 01:12:24 +00:00
Gregor Anich
a69987ef04 Add registry entries for the Mesa OpenGL driver.
svn path=/trunk/; revision=10166
2004-07-16 23:53:38 +00:00
Gregor Anich
3351ce053d Fixed more warnings, compiles with -Werror now.
svn path=/trunk/; revision=10165
2004-07-16 23:48:54 +00:00
Steven Edwards
73cbc815c1 moved these docs to a folder. The file names broke the
livecd build

svn path=/trunk/; revision=10164
2004-07-16 23:41:14 +00:00
Filip Navara
cf38bc01b7 - Get rid of linker warnings.
svn path=/trunk/; revision=10163
2004-07-16 23:37:26 +00:00
Gregor Anich
e62f0e4796 Fix warning.
svn path=/trunk/; revision=10162
2004-07-16 23:35:19 +00:00
Gregor Anich
3231bd4977 Remove unused files.
svn path=/trunk/; revision=10161
2004-07-16 23:29:10 +00:00
Alex Ionescu
37b963937e Added keys for Winsock
svn path=/trunk/; revision=10160
2004-07-16 23:28:55 +00:00
Gregor Anich
a535f99338 Fix some warnings.
svn path=/trunk/; revision=10159
2004-07-16 23:21:04 +00:00
Steven Edwards
89746fb06e cleanup
svn path=/trunk/; revision=10157
2004-07-16 23:01:56 +00:00
Steven Edwards
0ff1d5da1c Fix building on Linux
svn path=/trunk/; revision=10156
2004-07-16 22:59:43 +00:00
Gregor Anich
6d2d63a8e1 Fix unknown pragma warnings and gl.h include for linux builds.
svn path=/trunk/; revision=10155
2004-07-16 22:54:48 +00:00
Gregor Anich
794c39610f Fix unknown pragma warnings.
svn path=/trunk/; revision=10154
2004-07-16 22:45:08 +00:00
Steven Edwards
76b091d0f5 added Spanish translation by Carlos Garcia Gomez.
svn path=/trunk/; revision=10152
2004-07-16 22:33:23 +00:00
Gregor Anich
46de716b21 Import Mesa-6.0.1 for use as software OpenGL renderer.
svn path=/trunk/; revision=10151
2004-07-16 22:32:04 +00:00
Steven Edwards
9be76f0f19 added Spanish translation by Carlos Garcia Gomez.
svn path=/trunk/; revision=10150
2004-07-16 22:24:24 +00:00
Gregor Anich
6fc4d22bde Import Mesa-6.0.1 for use as software OpenGL renderer.
svn path=/trunk/; revision=10149
2004-07-16 22:12:43 +00:00
Gregor Anich
a3ce97af9b Import Mesa-6.0.1 for use as software OpenGL renderer.
svn path=/trunk/; revision=10148
2004-07-16 21:50:40 +00:00
Jens Collin
15971f9aa5 ShellExecute is run when executable is not found to open for example Notepad files by typing "myfile.txt".
svn path=/trunk/; revision=10147
2004-07-16 20:39:06 +00:00
Filip Navara
016e6a3f65 - Implementation of mmTaskCreate. Based on patch by Eric Pouech.
svn path=/trunk/; revision=10146
2004-07-16 20:24:59 +00:00
Thomas Bluemel
f82a992ec2 fixed typo
svn path=/trunk/; revision=10145
2004-07-16 20:20:53 +00:00
Eric Kohl
fa2ac0c0ca Fix an old typo.
svn path=/trunk/; revision=10144
2004-07-16 19:54:05 +00:00
Art Yerkes
fbdcc7cb6f Fonts converted by Larry Snyder
Converted suitably licensed X fonts from type 1 to TTF for use in ROS.

svn path=/trunk/; revision=10143
2004-07-16 17:21:05 +00:00
Eric Kohl
9d87061713 Implement security descriptor cache.
svn path=/trunk/; revision=10142
2004-07-16 17:20:23 +00:00
Gregor Anich
243d59c9e6 Fix some bugs, works on Windows and ReactOS with Mesa and NVIDIA driver.
x86 asm version of gl dispatch functions work now too (in gl.c)

svn path=/trunk/; revision=10141
2004-07-16 16:16:16 +00:00
Alex Ionescu
28e3667b69 Fixed prototypes to work in MSVC.
svn path=/trunk/; revision=10139
2004-07-16 13:45:02 +00:00
Filip Navara
3ab4ec1f54 - Handle indexed palettes in IntEngCreateSrcMonoXlate.
svn path=/trunk/; revision=10135
2004-07-15 21:14:51 +00:00
Martin Fuchs
e7d21fa39e ignore unexpected exceptions while extracting icons
svn path=/trunk/; revision=10133
2004-07-15 21:04:02 +00:00
Martin Fuchs
4fd7ec5f63 replace BUFFER_LEN by dynamic allocations
svn path=/trunk/; revision=10132
2004-07-15 20:43:18 +00:00
Filip Navara
3281baa0bf - Minor correction to DIB_32BPP_BitBlt that I broke with my last patch.
svn path=/trunk/; revision=10126
2004-07-15 18:13:22 +00:00
Eric Kohl
64b9c0f3cc Implement RtlAddAuditAccessAceEx().
svn path=/trunk/; revision=10125
2004-07-15 08:15:49 +00:00
James Tabor
b1fb96b44c Clear Partition0 DriveNotReady, for Removable Media.
svn path=/trunk/; revision=10124
2004-07-15 04:04:08 +00:00
Art Yerkes
e6f5d067e0 oskittcp: fixed handling of uio in send.
afd: fixed send.
tcpip: fixed double-complete of send irp.

svn path=/trunk/; revision=10122
2004-07-15 03:21:47 +00:00
Art Yerkes
9ce1fe0ddb Small changes to debug output in catalog, handle, upcall.
ns.c -- getservbyport contributed by Cameron Palmer.

svn path=/trunk/; revision=10121
2004-07-15 02:03:07 +00:00
Steven Edwards
c26b523ad9 added Spanish translation by Carlos Garcia Gomez.
svn path=/trunk/; revision=10120
2004-07-14 22:20:07 +00:00
Steven Edwards
383e5a9c1a Warn rather than bail on HWND_MESSAGE windows
request. This gets the Scintilla Editor from theopencd to work.

svn path=/trunk/; revision=10119
2004-07-14 21:52:23 +00:00
Filip Navara
3baccc96f1 - Accidently commited this file with my last patch. Reverting.
svn path=/trunk/; revision=10118
2004-07-14 21:45:05 +00:00
Filip Navara
219e1664cf - Add FIXME comment to LoadIconImage.
svn path=/trunk/; revision=10117
2004-07-14 20:52:13 +00:00
Filip Navara
dcbabca872 - Change the prototype of DIB_*_BitBlt* functions to take a pointer to a BLTINFO structure instead of many parameters.
- Make DIB_GetSource and DIB_GetSourceIndex macros.
- Add IntEngCreateSrcMonoXlate.
- Change the semantics of IntEngCreate*Xlate functions to treat palette mode == 0 as mode of the passed palette.
- Add XlateBrush and XlatePen to the DC structure.
- Fixed the bad design decision that caused mess when one brush was selected into more than one DC.
- Remove incorrect Int[Get/Set]DCColor implementation (used by [Get/Set]DC[Pen/Brush]Color).
- Get rid of compiler warnings in Win32k.

svn path=/trunk/; revision=10116
2004-07-14 20:48:58 +00:00
Steven Edwards
d0ba990059 Sync msacm32 with Winehq cvs. will merge my tweaks soon.
This gets Winamp5 loading.

svn path=/trunk/; revision=10115
2004-07-14 18:30:54 +00:00
Steven Edwards
d1d2a0a14a Use Bitstream Vera Sans for Helv subsititute. This makes the Run dialog readable. Thanks to Filip Navara.
svn path=/trunk/; revision=10114
2004-07-14 17:47:03 +00:00
Steven Edwards
93cfddbb38 Added licensing page to usetup.
svn path=/trunk/; revision=10112
2004-07-14 16:24:00 +00:00
Eric Kohl
c6ec21e207 - Move access checks from NtAccessCheck() to SeAccessCheck().
- Check for 'take ownership' privilege.

svn path=/trunk/; revision=10111
2004-07-14 14:25:31 +00:00
Gé van Geldorp
6e17c87e59 Split "old-style Win 3.1" file dialog into 16 and 32 bit code
svn path=/trunk/; revision=10110
2004-07-14 06:52:29 +00:00
Filip Navara
cbda303409 - Revert part of my last TLS patch.
svn path=/trunk/; revision=10109
2004-07-14 02:40:45 +00:00
Eric Kohl
91946de006 First experimental implementstion of NtAccessCheck().
This should fix bug #362.

svn path=/trunk/; revision=10108
2004-07-13 16:59:35 +00:00
Eric Kohl
4cc77e37cc Move some access rights so they are usable form kernel-mode.
svn path=/trunk/; revision=10107
2004-07-13 16:57:35 +00:00
Eric Kohl
3e7bd9bd79 RtlImpersonateSelf(): Set impersonation level in call to NtDuplicateToken().
svn path=/trunk/; revision=10106
2004-07-13 11:52:09 +00:00
Eric Kohl
3ed7b52fb9 NtOpenThreadToken() opens the thread token if OpenAsSelf is FALSE.
svn path=/trunk/; revision=10105
2004-07-13 11:48:32 +00:00
Eric Kohl
eda69bc46f NtDuplicateToken() must create and return a handle to the duplicated token.
svn path=/trunk/; revision=10104
2004-07-13 08:43:35 +00:00
James Tabor
6e5edb7df9 Force a rebuild of the partition table if it already exists with a DeviceObject.
svn path=/trunk/; revision=10103
2004-07-13 02:43:06 +00:00
Gé van Geldorp
1605dba90a SetLogonNotifyWindow is now implemented
svn path=/trunk/; revision=10102
2004-07-12 22:34:27 +00:00
Gé van Geldorp
9a26dd9c78 Fix RestartDialog() and RestartDialogEx() prototypes
svn path=/trunk/; revision=10101
2004-07-12 22:07:34 +00:00
Gé van Geldorp
0cffba8389 Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Make ole32 a delay-load import of shell32.
(except that the ReactOS build system doesn't handle delay-load imports
yet, so make it a normal import)

svn path=/trunk/; revision=10100
2004-07-12 22:03:09 +00:00
Gé van Geldorp
bd1c1f6d7b Fix syntax problem for some windres versions
svn path=/trunk/; revision=10099
2004-07-12 22:01:22 +00:00
Gé van Geldorp
935851acb6 Ilya Korniyko <k_ilya@ukr.net>
- Added Ukrainian translations.
Jos� Manuel Ferrer Ortiz <jmfo1982@yahoo.es>
- Updated the Spanish shell32 translation and made some corrections to
  other language files.

svn path=/trunk/; revision=10098
2004-07-12 21:26:39 +00:00
Gé van Geldorp
55dc46bf13 Use string resources for ExitWindowsDialog() and RestartDialogEx() to allow
internationalization.

svn path=/trunk/; revision=10097
2004-07-12 20:53:24 +00:00
Gé van Geldorp
aa38cd0cd1 Marcus Meissner <marcus@jet.franken.de>
- Fixed double applet = applet = assignment.
- Removed sic_hdpa only used in 1 C file as static var.
- Make VT_Shell_IMalloc32 and related variables static.

svn path=/trunk/; revision=10096
2004-07-12 20:32:16 +00:00
Gé van Geldorp
a1f4820c31 Shutdown step 1: inform winlogon (forgotten file)
svn path=/trunk/; revision=10095
2004-07-12 20:26:35 +00:00
Gé van Geldorp
4ce7742222 Shutdown step 1: inform winlogon
svn path=/trunk/; revision=10094
2004-07-12 20:09:35 +00:00
Eric Kohl
16a868a4e7 Replace hardcoded values by new constants.
svn path=/trunk/; revision=10092
2004-07-12 19:39:29 +00:00
Thomas Bluemel
11997022fd forgot to export 2 functions
svn path=/trunk/; revision=10091
2004-07-12 16:27:46 +00:00
Thomas Bluemel
32b2a4dc1a implementation of HidD_GetHidGuid()
svn path=/trunk/; revision=10090
2004-07-12 16:04:37 +00:00
Thomas Bluemel
ef8c92364b added stubs for the Hid User Library (hid.dll)
svn path=/trunk/; revision=10089
2004-07-12 15:08:43 +00:00
Eric Kohl
32e7b224da Define missing PNTSTATUS.
svn path=/trunk/; revision=10088
2004-07-12 13:51:29 +00:00
Eric Kohl
72b6ef30e7 Fix NtAccessCheck() prototype.
svn path=/trunk/; revision=10087
2004-07-12 12:05:49 +00:00
Thomas Bluemel
ad9cdc4edc simplified dynamic loading of dlls
svn path=/trunk/; revision=10086
2004-07-12 10:33:04 +00:00
Thomas Bluemel
6535d130b7 removed wrong comments
svn path=/trunk/; revision=10085
2004-07-11 23:08:31 +00:00
Thomas Bluemel
02c02382be do not statically link to ole32.dll, import the functions dynamically instead. This is required since winlogon statically links to userenv.dll and then ole32.dll would automatically be loaded which causes ole32.dll to register a window class before the first window station is created (-> the ole32 window class(es) couldn't be registered). Besides it's bad to have winlogon depend on ole32.dll
svn path=/trunk/; revision=10083
2004-07-11 22:35:07 +00:00
Gé van Geldorp
093e925a66 Use default PATHEXT if none found in environment
svn path=/trunk/; revision=10082
2004-07-11 16:23:12 +00:00
Gé van Geldorp
c8d9ece95d Jens Collin <jens.collin@lakhei.com>
Add PATHEXT env var and use it to locate command

svn path=/trunk/; revision=10081
2004-07-11 16:13:44 +00:00
Eric Kohl
839cdb0644 Add missing security constants.
svn path=/trunk/; revision=10080
2004-07-11 16:09:37 +00:00
Eric Kohl
8d58125bdc Fix typo in SetSecurityDescriptorOwner().
svn path=/trunk/; revision=10079
2004-07-11 13:33:40 +00:00
Thomas Bluemel
f85cea6c2c register the winlogon application directly after startup
svn path=/trunk/; revision=10078
2004-07-11 13:31:28 +00:00
Filip Navara
85cec6dde5 - Fixed locking in NtGdiGetCharWidth32. This caused problems with AbiWord reported by Jason Filby.
svn path=/trunk/; revision=10076
2004-07-11 02:10:48 +00:00
Thomas Bluemel
ce4aa8ef2e added a key security editor (not yet working properly)
svn path=/trunk/; revision=10075
2004-07-10 23:25:17 +00:00
Thomas Bluemel
13eda5be1f added some missing definitions
svn path=/trunk/; revision=10074
2004-07-10 23:23:06 +00:00
Gero Kuehn
b563ceb9af added SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
svn path=/trunk/; revision=10073
2004-07-10 22:27:18 +00:00
Gero Kuehn
948db6b780 fixed PROPSHEETHEADER nPages calculation
svn path=/trunk/; revision=10072
2004-07-10 22:06:40 +00:00
Gero Kuehn
7933210d3c copied HalRequestSoftwareInterrupt from uniproc irql.c to fix SMP builds
svn path=/trunk/; revision=10071
2004-07-10 21:58:35 +00:00
Steven Edwards
14a26ef7bf added expand.exe and msvfw32.dll to the build.
svn path=/trunk/; revision=10070
2004-07-10 21:44:14 +00:00
Gé van Geldorp
c01cec79d9 Roll back __USE_W32API test, add _tsplitpath definition
svn path=/trunk/; revision=10069
2004-07-10 21:23:18 +00:00
Steven Edwards
2396faea94 Added msvfw32 ported from Wine. This fixes bug 388.
svn path=/trunk/; revision=10068
2004-07-10 21:19:46 +00:00
Eric Kohl
e32637bc50 Fix default DACL of the logon token.
svn path=/trunk/; revision=10067
2004-07-10 21:15:26 +00:00
Steven Edwards
43a041190d Removed Microsoft code.
svn path=/trunk/; revision=10066
2004-07-10 21:11:13 +00:00
Hartmut Birr
3768902d9b - Implemented NtQueryVirtualMemory for unallocated regions.
- Fixed some minor bugs in NtQueryVirtualMemory and its related query functions.

svn path=/trunk/; revision=10065
2004-07-10 17:01:03 +00:00
Thomas Bluemel
35f4d34682 export GetSecurityInfo()
svn path=/trunk/; revision=10064
2004-07-10 14:38:24 +00:00
Eric Kohl
5b9cf862e0 Create group SIDs for logon token.
svn path=/trunk/; revision=10063
2004-07-10 13:12:24 +00:00
Eric Kohl
39da3d41f9 Fix RtlEqualSid().
svn path=/trunk/; revision=10062
2004-07-10 13:11:18 +00:00
Hartmut Birr
7f900f8f7e - Fixed the return value in VirtualQueryEx if NtQueryVirtualMemory returns an error.
svn path=/trunk/; revision=10061
2004-07-10 13:08:02 +00:00
Hartmut Birr
95e1a9b247 - Fixed the comparing of video modes in IntInitScreenInfo.
svn path=/trunk/; revision=10060
2004-07-10 13:05:08 +00:00
Gé van Geldorp
4f24993634 FindWindow() should search the threads desktop, not the active one.
svn path=/trunk/; revision=10059
2004-07-09 20:57:38 +00:00
Filip Navara
fe2b1d6967 - Implementation of [NtGdi]GetTextFace[W] and [NtGdi]GetFontData[W].
- Print a message for unimplemented functions in GDI32.dll.

svn path=/trunk/; revision=10058
2004-07-09 20:28:20 +00:00
Thomas Bluemel
549b154510 added skeleton for acledit.dll
svn path=/trunk/; revision=10056
2004-07-09 20:18:49 +00:00
Filip Navara
91995ef4ed - Some application depend on Info->RegionSize set by NtQueryVirtualMemory for iteration. We had a workaround here for this behaviour until a correct implementation is written, but it was limited for addresses lower than 0x70000000. Raise that limit to 0x80000000.
svn path=/trunk/; revision=10055
2004-07-09 20:14:49 +00:00
Filip Navara
79a4726093 - Handle UnsafeRect == NULL case in NtUserGetUpdateRect.
svn path=/trunk/; revision=10054
2004-07-09 20:13:00 +00:00
Filip Navara
35a256ae2b - Since LookupAccountSidA is unimplemented, but returns success, we should at least fill the output parameters with some reasonable values.
svn path=/trunk/; revision=10053
2004-07-09 20:10:45 +00:00
Filip Navara
d45a8c1356 - DrawIcon should return TRUE if it succeeds.
svn path=/trunk/; revision=10052
2004-07-09 20:09:35 +00:00
Filip Navara
a2f7e34792 - Display window icon only if there is any.
svn path=/trunk/; revision=10051
2004-07-09 20:08:48 +00:00
Filip Navara
2915b7de9b - Corrected the obtaining of TLS callbacks address.
svn path=/trunk/; revision=10050
2004-07-09 20:08:05 +00:00
Filip Navara
18168b454a - Fixed dispatching of nested exceptions.
svn path=/trunk/; revision=10049
2004-07-09 20:06:40 +00:00
Filip Navara
b00489100f - Added ordinal numbers.
svn path=/trunk/; revision=10048
2004-07-09 20:04:05 +00:00
Thomas Bluemel
1ef5953679 set the control focus when clicking on it
svn path=/trunk/; revision=10047
2004-07-09 15:53:34 +00:00
Gé van Geldorp
4a76a3915b Fix lib/rosrtl compilation
svn path=/trunk/; revision=10039
2004-07-08 22:05:48 +00:00
Eric Kohl
5b95f50fd4 Register the logon process.
svn path=/trunk/; revision=10037
2004-07-08 14:41:38 +00:00
Eric Kohl
29ced92e4b Fix RegisterLogonProcess().
svn path=/trunk/; revision=10036
2004-07-08 14:36:18 +00:00
Filip Navara
3e78fd6128 - Honor the "Extended" bit in SetKeyState.
svn path=/trunk/; revision=10035
2004-07-08 12:55:01 +00:00
Thomas Bluemel
cf7372bf5a added a very basic timer queue test program
svn path=/trunk/; revision=10034
2004-07-08 10:32:18 +00:00
Art Yerkes
aa565ab062 Fixed OskitTCPSend prototype.
sleep: removed blocking.  not needed anymore.
Made socket non-blocking with respect to oskit.
removed unneeded panic in sbflush.
removed unneeded stats keeping.  This info is better kept by tcpip.sys

svn path=/trunk/; revision=10033
2004-07-08 06:39:30 +00:00
Art Yerkes
494edc04e5 Fixed for TCPIP
Regularized TCPSendData and TCPReceiveData parameters and calling.
Added number of bytes IoStatus for TDI_SEND_DATAGRAM and TDI_SEND as
specified in the OSR entry for TDI_SEND_DATAGRAM.
Fixed IRQL in packet send event.  We now use KeRaiseIrql to make sure we're
in DISPATCH_LEVEL.
Fixed socket state callback for new afd.  Now fully based on io completion.

svn path=/trunk/; revision=10032
2004-07-08 06:36:04 +00:00
Thomas Bluemel
aa11660dd0 fixed debug output
svn path=/trunk/; revision=10031
2004-07-08 00:48:12 +00:00
Thomas Bluemel
76cd746a0f Fixed handling of NULL arguments in ChangeDisplaySettings(Ex)(). Patch by blight.
svn path=/trunk/; revision=10030
2004-07-08 00:46:22 +00:00
Thomas Bluemel
580f2e7a68 1. implemented the timer queue functions of kernel32 (I tested the implementation of CreateTimerQueueTimer() and DeleteTimerQueueTimer() on windows)
2. export the timer queue Rtl* stubs of ntdll

svn path=/trunk/; revision=10029
2004-07-08 00:40:31 +00:00
Gé van Geldorp
8d126dbfc4 Add command-line shutdown/logoff utility
svn path=/trunk/; revision=10028
2004-07-07 22:29:37 +00:00
Eric Kohl
6d616faf61 Add ACCESS_STATE and INITIAL_PRIVILEGE_SET.
svn path=/trunk/; revision=10020
2004-07-07 17:20:35 +00:00
Filip Navara
596469a0b6 - Updated system colors.
svn path=/trunk/; revision=10019
2004-07-07 17:03:32 +00:00
Filip Navara
825a514a46 - Use LinBytesPerScanLine (value for linar framebuffer modes) instead of BytesPerScanLine for VBE 3.0 controllers.
svn path=/trunk/; revision=10018
2004-07-07 16:54:43 +00:00
Filip Navara
e4848fe100 - Return image name in SymGetModuleInfo since some applications use it for determining path. It's still a stub though.
svn path=/trunk/; revision=10017
2004-07-07 16:50:54 +00:00
Thomas Bluemel
680d163578 added missing cvsignore file
svn path=/trunk/; revision=10016
2004-07-07 16:47:43 +00:00
Filip Navara
226251dab1 - Don't create XLATEOBJ for BitBlt and StretchBlt operations that don't use source DC.
svn path=/trunk/; revision=10015
2004-07-07 16:36:08 +00:00
Filip Navara
bce67c86c4 - Fixed ExcludeClipRgn for case when DC contained no clipping region before the call to this function.
svn path=/trunk/; revision=10014
2004-07-07 16:34:33 +00:00
Filip Navara
bf1db388a0 - Handle allocation failure in IntCreateBitmap.
- Don't allow creating surface with BitmapFormat == 0 (Invalid) in IntCreateSurface.

svn path=/trunk/; revision=10013
2004-07-07 16:33:44 +00:00
Filip Navara
eb298d6e01 - Imporved implementation of UnhandledExceptionFilter.
- Moved most of code from _except_handler in process/create.c to UnhandledExceptionFilter and changed _except_handler to call it.

svn path=/trunk/; revision=10012
2004-07-07 16:32:02 +00:00
Filip Navara
be3d5c04da - Fixed NtQueryInformationProcess to return STATUS_NOT_IMPLEMENTED for unimplemented cases.
svn path=/trunk/; revision=10011
2004-07-07 16:28:35 +00:00
Filip Navara
bfb94c6d6f - Fixed RtlUnwind to correctly remove SEH frames and not to call ZwContinue.
svn path=/trunk/; revision=10010
2004-07-07 16:25:00 +00:00
Filip Navara
7a25c2785c - Add VBE video mode registry. (Gerard Gatineau asked for it)
svn path=/trunk/; revision=10009
2004-07-07 16:22:22 +00:00
Eric Kohl
6a871dff66 Implement environment variable dialog.
svn path=/trunk/; revision=10008
2004-07-07 09:42:58 +00:00
Gé van Geldorp
f79ec69b9c Set default (Administrator) privileges when logging on
svn path=/trunk/; revision=10007
2004-07-07 08:41:47 +00:00
Gé van Geldorp
20180bf59f Silence debug messages
svn path=/trunk/; revision=10006
2004-07-07 08:39:54 +00:00
Gé van Geldorp
f390319086 Implement LookupPrivilegeValueW for local machine
svn path=/trunk/; revision=10005
2004-07-06 22:08:48 +00:00
Gé van Geldorp
37635ba853 Make AdjustTokenPrivileges confirm to MSDN-documented behaviour:
- return FALSE on error with appropriate LastError
- return TRUE with LastError == ERROR_NOT_ALL_ASSIGNED if not all
  privileges could be adjusted
- return TRUE with LastError == ERROR_SUCCESS if all privileges
  were successfully adjusted

svn path=/trunk/; revision=10004
2004-07-06 22:07:26 +00:00
Royce Mitchell III
f54f6b9018 fixed typo
svn path=/trunk/; revision=10003
2004-07-05 22:33:14 +00:00
Gé van Geldorp
ad83568979 Patch by Jens Collin <jens.collin@lakhei.com>
Fixes autocompletion, see bug #177

svn path=/trunk/; revision=10002
2004-07-05 22:12:45 +00:00
Hartmut Birr
1b16d86ba8 - Check for a valid buffer on a call to IOCTL_DISK_CHECK_VERIFY.
svn path=/trunk/; revision=10001
2004-07-05 21:44:27 +00:00
Hartmut Birr
405e3b3822 - Removed IOCTL_DISK_CHECK_VERIFY. We must use the port driver to detect the current state of the drive.
svn path=/trunk/; revision=10000
2004-07-05 21:42:05 +00:00
Hartmut Birr
fac1d981b1 - Removed the using of the media change count to recognize a median change.
svn path=/trunk/; revision=9999
2004-07-05 21:39:02 +00:00
Jason Filby
52f4f6acef lstrcpy and lstrcat should return NULL if the string to copy to is NULL instead of crashing; verified by a test app on Windows XP
svn path=/trunk/; revision=9998
2004-07-04 18:11:49 +00:00
Filip Navara
907bf3c0a8 - Fixed NumLock, CapsLock and ScrollLock handling in ConioGetShiftState.
svn path=/trunk/; revision=9997
2004-07-04 17:22:33 +00:00
Filip Navara
91008697a8 - Use absolute value of the color difference when calculating color match rating.
svn path=/trunk/; revision=9996
2004-07-04 17:09:45 +00:00
Filip Navara
dd64375195 - Guard against out of bounds access to KeyboardLayout->pusVSCtoVK in W32kKeyProcessMessage.
- Fixed SetKeyState to correctly index the keyboard state table.

svn path=/trunk/; revision=9995
2004-07-04 17:08:40 +00:00
Filip Navara
78ae714754 - Fix GDI object locking broken by this patch:
http://reactos.com:8080/archives/public/ros-cvs/2004-July/004334.html

svn path=/trunk/; revision=9994
2004-07-04 12:00:40 +00:00
Filip Navara
390647c9fb - Send the cursor to display driver in top-down format.
svn path=/trunk/; revision=9993
2004-07-04 11:18:56 +00:00
Hartmut Birr
5c7b116b28 - Fixed a bug in IoCsqRemoveIrp and IoCsqRemoveNextIrp.
svn path=/trunk/; revision=9992
2004-07-04 08:30:28 +00:00
Gé van Geldorp
62a8ad0e87 Mike McCormack <mike@codeweavers.com>
- Fix a buffer overrun in autocomplete.

svn path=/trunk/; revision=9991
2004-07-04 06:56:41 +00:00
Filip Navara
31456c578a - Don't continue execution if there is no exception handler. It's common that continuing such execution would result in the same exception again and thus creating infinite loop.
svn path=/trunk/; revision=9990
2004-07-04 02:01:02 +00:00
Filip Navara
9ac102fb17 - Support resursive locking of the GDI objects.
- Call EngMovePointer instead of DrvMovePointer if driver DrvSetPointerShape returned SPS_DECLINE.

svn path=/trunk/; revision=9989
2004-07-04 01:23:32 +00:00
Royce Mitchell III
f5d1bff687 small fix to constant we aren't even using, yet, but should
svn path=/trunk/; revision=9988
2004-07-04 00:33:26 +00:00
Filip Navara
05345c056a - Allocate memory from paged pool in EngAllocMem.
svn path=/trunk/; revision=9987
2004-07-03 22:36:27 +00:00
Filip Navara
0c94f9e2c2 - Fixed buffer handling and coordinate translation in IntGdiPolyline.
svn path=/trunk/; revision=9986
2004-07-03 22:36:01 +00:00
Filip Navara
4d9b237e6d - Don't use the "cpu" directive because NASM 0.98 doesn't support it.
svn path=/trunk/; revision=9985
2004-07-03 18:41:56 +00:00
Filip Navara
8fab52126f - Fix errors during optimized build.
svn path=/trunk/; revision=9983
2004-07-03 17:40:27 +00:00
Hartmut Birr
e251c53983 - Fixed a bug, which prevents an opening of files, if the file name contains short path names.
svn path=/trunk/; revision=9982
2004-07-03 17:31:30 +00:00
Hartmut Birr
ba93d9c7b0 - Implemented GuiConsoleHandleClose.
svn path=/trunk/; revision=9981
2004-07-03 17:17:05 +00:00
Hartmut Birr
c973b907c8 - Try to get or to allocate the process data structure in ServerApiPortThread.
- Changed the initialization sequence in CsrServerInitialization.

svn path=/trunk/; revision=9980
2004-07-03 17:15:02 +00:00
Hartmut Birr
9a64b81079 - Allowed multiple calls to CsrClientConnectToServer.
- Removed CsrIsCsrss.

svn path=/trunk/; revision=9979
2004-07-03 17:13:09 +00:00
Gé van Geldorp
60d9c7030d Remove debugging statement
svn path=/trunk/; revision=9978
2004-07-03 14:46:39 +00:00
Filip Navara
0a89ed6e1c [Sorry for too many changes in one patch, but it's nearly impossible to separate it without breaking the functionality]
- Remove the eng/brush.h header and all occurrences of BRUSHINST.
- Remove eng/nls.c and make the NLS functions forward exports to ntoskrnl.
- Remove DDBITMAP definition.
- Overall cleanup of eng/xlate.c.
- Stop processing if exact match is found in ClosestColorMatch.
- Move SURFGDI->PointerStatus to GDIDEVICE structure.
- Remove the GDIDEVICE->DriverLock.
- Replace BITMAP by SURFOBJ in BITMAPOBJ structure and added two new members (Flags and Hooks).
- Replace function pointers to driver functions in SURFGDI with flHooks variable specifying the bitmask of hooked functions.
- Added two new macros: GDIDEV and GDIDEVFUNCS.
- Fixed locking in NtGdiGetBitmapBits.
- Removed IntCopyBitmap and replaced it's usage by BITMAPOBJ_CopyBitmap.
- Fixed setting of SURFOBJ->pvBits and SURFOBJ->pvScan0 in EngCreateBitmap for bottom-up surfaces.
- Fix DPRINTs.
- Remove unused definitions from eng/objects.h.
- Call IntEngBitBlt instead of EngBitBlt from EngCopyBits.
- Correctly set the SURFOBJ->hsurf field.
- Merge Engine surface handling with the GDI one and remove DC->Surface, SURFGDI, BitmapToSurf.
- Support for bottom-up mouse cursors in the Eng* cursor emulation routines.
- Fix locking in error cases of NtGdiRestoreDC (get Primitives demo to start).
- Fix BitmapFormat to return 0 for unknown bit depth.
- Move code from EngCreateBitmap to IntCreateBitmap and use this function in EngCreateBitmap, NtGdiCreateBitmap and DIB_CreateDIBSection.
- New implementation of NtGdiGetDIBits.

svn path=/trunk/; revision=9977
2004-07-03 13:55:37 +00:00
Filip Navara
ac183abd23 - Handle correctly bottom-up surfaces in the VGA driver.
svn path=/trunk/; revision=9976
2004-07-03 13:45:42 +00:00
Gé van Geldorp
40afa3d500 NtCreateKey doesn't create nested keys, but RegCreateKey should. Fixes
issues 2) and 3) of bug #331

svn path=/trunk/; revision=9975
2004-07-02 21:20:51 +00:00
Royce Mitchell III
14377c13f5 small cleanup
svn path=/trunk/; revision=9974
2004-07-02 21:02:54 +00:00
Eric Kohl
8af3ba8548 Add partial implementation of the environment variables dialog.
svn path=/trunk/; revision=9973
2004-07-02 20:28:00 +00:00
Gé van Geldorp
0155d5acde Only accept matching palette
svn path=/trunk/; revision=9972
2004-07-02 20:04:48 +00:00
Royce Mitchell III
b04f8c0e22 oops, if you're going to move a function, get rid of the old one... sorry...
svn path=/trunk/; revision=9971
2004-07-02 12:43:38 +00:00
Gé van Geldorp
386450b018 Fix WinExec return value
svn path=/trunk/; revision=9970
2004-07-02 12:18:04 +00:00
Thomas Bluemel
7bca32fad2 allow changing the cursor position with the mouse
svn path=/trunk/; revision=9969
2004-07-02 08:46:50 +00:00
Art Yerkes
9860c72592 Added installation of services file needed for getservbyname and kin.
The services file was created by Cameron Palmer from the official IANA
list.

svn path=/trunk/; revision=9968
2004-07-02 08:06:47 +00:00
Royce Mitchell III
c76e499296 NtRaiseException fixed to not clobber EAX any more, and both NtContinue and NtRaiseException no longer clobber EDX. kmode SEH works now, but there are likely some lingering bugs. This patch was made possible by the collaborative efforts of myself, kjk_hyperion, Art Yerkes, and Skywing.
svn path=/trunk/; revision=9967
2004-07-02 01:36:25 +00:00
Alex Ionescu
6a225669b5 Services file for WS2_32.dll, created by Cameron Palmer.
svn path=/trunk/; revision=9966
2004-07-02 01:26:29 +00:00
Royce Mitchell III
2275555927 (remove old disabled code)
svn path=/trunk/; revision=9965
2004-07-02 01:23:26 +00:00
Royce Mitchell III
837baf14b4 NtContinue fixed to return failure on invalid params ( not checking for access violations yet ), but not clobber EAX on success. This patch was made possiblel by the collaborative efforts of myself, kjk_hyperion, Art Yerkes, and Skywing.
svn path=/trunk/; revision=9964
2004-07-02 00:47:57 +00:00
Royce Mitchell III
8467d37d7d merge in kjk_hyperion's ZwContinue test
svn path=/trunk/; revision=9963
2004-07-01 23:58:44 +00:00
Thomas Bluemel
d0ea8e8ce1 merge patch from wine by Robert Shearman (http://www.winehq.org/hypermail/wine-patches/2004/06/0108.html)
svn path=/trunk/; revision=9962
2004-07-01 23:56:04 +00:00
Thomas Bluemel
ecae0d0647 some little fixes
svn path=/trunk/; revision=9961
2004-07-01 23:36:57 +00:00
Gé van Geldorp
db3e54f680 Don't reset LastError on success
svn path=/trunk/; revision=9960
2004-07-01 22:36:16 +00:00
Gé van Geldorp
1c2af8076a Handle file names like ./somename in SearchPath()
svn path=/trunk/; revision=9959
2004-07-01 22:35:35 +00:00
Eric Kohl
820eaf8fce Fix a typo. Now the 'Advanced' page shows again.
svn path=/trunk/; revision=9958
2004-07-01 20:27:50 +00:00
Filip Navara
b4dc709c43 CVS maintaince
svn path=/trunk/; revision=9957
2004-07-01 18:12:47 +00:00
KJK::Hyperion
fdd518ddac Merging the KJKHyperion-RtlUnwind branch back into HEAD
svn path=/trunk/; revision=9956
2004-07-01 02:40:23 +00:00
Royce Mitchell III
209e1d7692 cleanup/reformat syscall code, save return value as soon as possible so that eax is freed up, which also simplifies the implementation of KiAfterSystemCallHook(), also removes a couple redundant instructions.
svn path=/trunk/; revision=9955
2004-07-01 01:52:37 +00:00
Steven Edwards
aa33e15965 Merge in Winehq commits. - not enabled yet
svn path=/trunk/; revision=9953
2004-06-30 20:51:45 +00:00
Steven Edwards
6cfb2b5848 Merge in Winehq commits.
svn path=/trunk/; revision=9952
2004-06-30 20:42:18 +00:00
Gé van Geldorp
8eb23c9e6c Fix IFileSystemBindData method order again.
svn path=/trunk/; revision=9951
2004-06-30 20:40:02 +00:00
Steven Edwards
e050a4dd03 Merge in Winehq commits.
svn path=/trunk/; revision=9950
2004-06-30 20:19:25 +00:00
Steven Edwards
458aec49c1 Merge in Winehq commits.
svn path=/trunk/; revision=9949
2004-06-30 19:14:24 +00:00
Steven Edwards
3af5a16e60 Merge in Winehq commits.
svn path=/trunk/; revision=9948
2004-06-30 19:07:22 +00:00
Eric Kohl
3ec9c96584 Add accessibility control panel.
svn path=/trunk/; revision=9947
2004-06-30 12:21:20 +00:00
Eric Kohl
9eefe9985c Add control panel icon.
svn path=/trunk/; revision=9946
2004-06-30 12:20:35 +00:00
Eric Kohl
c9ad0dddb4 - Add accessibility control panel. Patch by <j_anderw@sbox.tugraz.at>
- Use w32api.
- Add control panel icon.

svn path=/trunk/; revision=9945
2004-06-30 12:16:27 +00:00
Eric Kohl
e4d51272be Use w32api.
svn path=/trunk/; revision=9944
2004-06-30 12:11:11 +00:00
Eric Kohl
3845c9019c - Apply patch by <j_anderw@sbox.tugraz.at>.
- User w32api.
- Fix some tchar issues.

svn path=/trunk/; revision=9942
2004-06-30 10:53:05 +00:00
Eric Kohl
885e4ae102 Define PSCB_BUTTONPRESSED.
svn path=/trunk/; revision=9941
2004-06-30 10:49:18 +00:00
Filip Navara
52b944e9fb - Return correct ID for windowless timers in IntSetTimer.
svn path=/trunk/; revision=9940
2004-06-29 23:45:31 +00:00
Gé van Geldorp
a4a1cb1b98 Use DIB bitfields to create palette at > 8 bpp
svn path=/trunk/; revision=9939
2004-06-29 21:09:16 +00:00
Filip Navara
e83551ae34 - Fixed duplicate color conversion in Bitfields/RGB -> Indexed case.
svn path=/trunk/; revision=9937
2004-06-29 20:08:07 +00:00
Filip Navara
c891ec007e - Match the first 16 colors of the Windows (R) XP default palette.
svn path=/trunk/; revision=9936
2004-06-29 20:08:05 +00:00
Thomas Bluemel
70e1b16c27 fixed makefiles
svn path=/trunk/; revision=9935
2004-06-29 19:20:16 +00:00
Filip Navara
0ad9fa72f8 - Fixed list mode traversing.
svn path=/trunk/; revision=9934
2004-06-29 18:12:30 +00:00
Filip Navara
b43bcf2cc1 - Report 1 (Default) instead of 0 (Invalid) as the refresh frequency value.
svn path=/trunk/; revision=9933
2004-06-29 18:12:28 +00:00
Filip Navara
ecd1ebfec8 - Match the first 16 colors of the Windows (R) XP default palette.
svn path=/trunk/; revision=9932
2004-06-29 18:12:27 +00:00
Eric Kohl
91da5e1abe Add substitutions for 'MS Shell Dlg' and 'MS Shell Dlg 2' fonts.
svn path=/trunk/; revision=9931
2004-06-29 17:40:01 +00:00
Gé van Geldorp
653e60385e Fix IFileSystemBindData method order
svn path=/trunk/; revision=9930
2004-06-29 14:08:58 +00:00
Gé van Geldorp
4e347550d4 Fix RestartDialog() prototype
svn path=/trunk/; revision=9929
2004-06-29 13:51:59 +00:00
Gé van Geldorp
80df3c01b8 Minimize Wine porting headers
svn path=/trunk/; revision=9928
2004-06-29 13:47:27 +00:00
Gé van Geldorp
f1a2c7a2d5 Minimize Wine porting headers
svn path=/trunk/; revision=9927
2004-06-29 13:40:40 +00:00
Eric Kohl
b031cfa717 Set short path names for 'temp' and 'tmp' environment variables.
svn path=/trunk/; revision=9926
2004-06-29 12:06:01 +00:00
Eric Kohl
2a6745d9d4 Install control panel app and control panels.
svn path=/trunk/; revision=9925
2004-06-29 12:04:42 +00:00
Eric Kohl
56df203d1b - Load 16x16 and 32x32 icons.
- Use masked image lists.
- Clean-up menu IDs.

svn path=/trunk/; revision=9924
2004-06-29 12:03:56 +00:00
Filip Navara
c2f6de9e7b - Improved implementation of REGION_CreateFrameRgn that gives more correct results.
svn path=/trunk/; revision=9923
2004-06-29 06:08:54 +00:00
Filip Navara
e834678a62 - We don't need to have BuiltInRect member in the ROSRGNDATA structure. Since regions with only one rectangle have this rectange identical to the bounding one, we can use rdh.rcBounds instead and save 16 bytes.
svn path=/trunk/; revision=9921
2004-06-28 21:03:08 +00:00
Filip Navara
cffc8dfe09 - Import RtlImageDirectoryEntryToData from ntoskrnl and don't duplicate it.
svn path=/trunk/; revision=9920
2004-06-28 21:02:49 +00:00
Martin Fuchs
d5f50bdad5 - compatibility to expat version < 1.95.7
- handle missing XML encoding parameter

svn path=/trunk/; revision=9919
2004-06-28 20:38:42 +00:00
Filip Navara
06b882daa5 - Copied implementation of GetShortPathName[AW] from Wine.
svn path=/trunk/; revision=9918
2004-06-28 19:46:17 +00:00
Filip Navara
d9f6abff67 - Removed ReactOS specific hack in ImageList_DrawIndirect since the color conversions in Win32K are fixed now.
svn path=/trunk/; revision=9916
2004-06-28 17:03:46 +00:00
Filip Navara
f2e5d4cd25 - Fixed more color handling issues (mostly incorrect RGB <-> BGR swapping).
svn path=/trunk/; revision=9915
2004-06-28 17:03:35 +00:00
Filip Navara
a630cd560f - Fixed implementation of PALOBJ_cGetColors.
- Cleaned up IntEngCreateXlate and XLATEOBJ_iXlate a bit and fixed some cases (Indexed -> Bitfields/BGR, Bitfields/BGR -> Indexed).
- Removed simple color cache from ClosestColorMatch, because it wasn't thread safe and would return bogus values when more XLATEOBJs are used at once.

svn path=/trunk/; revision=9914
2004-06-28 15:53:17 +00:00
Eric Kohl
6c9226bcbf Don't use fixed size main window.
GetProcAddress() does not accept Unicode procedure names.
Visual improvements.

svn path=/trunk/; revision=9913
2004-06-28 12:05:16 +00:00
Martin Fuchs
3424e4ee4a add explorer-cfg-template.xml for explorer default configuration
svn path=/trunk/; revision=9912
2004-06-28 06:52:41 +00:00
Filip Navara
870260bec7 - Fixed bug in binary search algorithm.
svn path=/trunk/; revision=9909
2004-06-27 14:15:33 +00:00
Filip Navara
f764d79dbb - Fixed compilation.
svn path=/trunk/; revision=9908
2004-06-27 13:58:05 +00:00
Thomas Bluemel
988f8a5efc revert my previous patch
svn path=/trunk/; revision=9906
2004-06-27 12:21:32 +00:00
Eric Kohl
fbe9f7f64f Implement and use LdrProcessRelocationBlock().
svn path=/trunk/; revision=9905
2004-06-27 12:21:14 +00:00
Filip Navara
3bd4ef3363 - Better handling of error cases when no fonts are present in the system.
svn path=/trunk/; revision=9904
2004-06-27 11:24:43 +00:00
Filip Navara
13d400fbd2 - Better handling of error cases in DrawTextW.
svn path=/trunk/; revision=9903
2004-06-27 11:24:06 +00:00
Filip Navara
625c7953e5 - Better handling of error cases in font handling.
svn path=/trunk/; revision=9902
2004-06-27 11:23:57 +00:00
Filip Navara
6f6c0f76ef - Fixed compilation.
svn path=/trunk/; revision=9901
2004-06-27 11:23:57 +00:00
Thomas Bluemel
308a04ade4 don't crash if requested process couldn't be found
svn path=/trunk/; revision=9900
2004-06-27 10:16:59 +00:00
Filip Navara
2bb2c4aae8 - Replaced the old default mode algortihm with video mode list sorting.
- Added check for video mode memory model since we don't support anything but Direct Color and Packed Pixel modes.
- More work in order to support VBE 1.2.
- Fixed retun values in VBEInitialize.

svn path=/trunk/; revision=9899
2004-06-27 07:56:44 +00:00
Alex Ionescu
629da60934 Removed Named Arguments for non-public APIs and added explanations/sources for non-GNU IFS APIs.
svn path=/trunk/; revision=9898
2004-06-27 05:38:54 +00:00
Royce Mitchell III
8d2f559189 fix end-of-lines
svn path=/trunk/; revision=9897
2004-06-27 04:08:57 +00:00
Filip Navara
0ce9ce5756 - Use the Video Port driver Int 10 services instead of using undocumented Ke386CallBios function.
- Power management functions implementation. Based on patch by Magnus Olsen <magnus@itkonsult-olsen.com>.
- First steps towards VBE 1.2 support. Based on patch by Magnus Olsen <magnus@itkonsult-olsen.com>.

svn path=/trunk/; revision=9894
2004-06-26 22:30:34 +00:00
Filip Navara
20ac14caf5 - Added VideoPortQueryPerformanceCounter and VideoPortQueryServices to the import library definition file.
- Fixed minor memory overrun in VideoPortInitialize for older video drivers (< Win NT 5.1).

svn path=/trunk/; revision=9893
2004-06-26 22:30:34 +00:00
Gunnar Dalsnes
c12eca029d make misc/lcformat
svn path=/trunk/; revision=9892
2004-06-26 20:11:18 +00:00
Gunnar Dalsnes
add8be67c2 remove duplicate stuff due to adding lcformat from wine
impl. misc stuff from wine

svn path=/trunk/; revision=9891
2004-06-26 20:10:50 +00:00
Gunnar Dalsnes
def9bd7817 save modlue handle
svn path=/trunk/; revision=9890
2004-06-26 20:07:40 +00:00
Gunnar Dalsnes
2859278f6e Whole file ripped from Wine's dlls\\kernel\\lcformat.c, rev 1.7 and is unchanged except that includes are different. I thought about adding @implemented to each exported function, but this might make merging harder
svn path=/trunk/; revision=9889
2004-06-26 20:02:31 +00:00
Filip Navara
4ba7ff413b - Set the palette for image list DIBs that has 8 or less bits per pixel.
svn path=/trunk/; revision=9888
2004-06-26 18:22:14 +00:00
Filip Navara
9cea7cc06c - Readded the code for unportecting second page while relocating. Some applications like OpenOffice actually depend on it.
svn path=/trunk/; revision=9885
2004-06-26 15:11:14 +00:00
Filip Navara
399da20296 - Rewritten relocation code to not make invalid assumptions (".reloc" section name) and to not unprotect second page (not needed really).
svn path=/trunk/; revision=9884
2004-06-26 14:37:05 +00:00
Filip Navara
e4c1673f80 - Partial implementation of CompareStringW. Fixes bug #378.
svn path=/trunk/; revision=9883
2004-06-26 12:56:11 +00:00
Eric Kohl
9a0d240ea4 Stop at the real end of the relocation table.
svn path=/trunk/; revision=9881
2004-06-26 11:23:32 +00:00
Martin Fuchs
1336676b5e simplified chinese explorer resources by Larry Li <larry@mimios.com> (not for windres)
svn path=/trunk/; revision=9880
2004-06-26 10:43:18 +00:00
Thomas Bluemel
2678ec0387 fixed little gdi handle leak
svn path=/trunk/; revision=9879
2004-06-26 08:09:55 +00:00
Thomas Bluemel
97a29e0c78 fixed binary editing of strings in the ansi version, query and set the value using the unicode version in this case.
svn path=/trunk/; revision=9876
2004-06-25 23:47:04 +00:00
Steven Edwards
75fa578ba6 sndblst fixes based on patch by Sylvain Petreolle.
svn path=/trunk/; revision=9875
2004-06-25 23:30:22 +00:00
Eric Kohl
d5255272ce Fix a typo.
svn path=/trunk/; revision=9874
2004-06-25 19:05:20 +00:00
Eric Kohl
acf32a2988 Fix crash in loader relocation code.
svn path=/trunk/; revision=9872
2004-06-25 18:50:48 +00:00
Thomas Bluemel
2dea234132 re-added files that hyperion accidently deleted from HEAD
svn path=/trunk/; revision=9871
2004-06-25 16:39:41 +00:00
Eric Kohl
4531d96141 Expand user-specific environment variables.
svn path=/trunk/; revision=9870
2004-06-25 11:42:00 +00:00
KJK::Hyperion
07420e3dd3 Moved common SEH routines to Rtl, removed very wrong RtlUnwind implementation from ntoskrnl
svn path=/trunk/; revision=9868
2004-06-25 03:38:51 +00:00
KJK::Hyperion
7fa5587882 Committed in the hope CVS will shut the hell up and let me branch. Still part of the SEH work
svn path=/trunk/; revision=9865
2004-06-25 01:41:20 +00:00
Alex Ionescu
2708010986 Added Ke Stub Prototypes
svn path=/trunk/; revision=9864
2004-06-24 21:03:56 +00:00
Gé van Geldorp
f477796b79 Fix some forgotten EngCreateBitmap() calls
svn path=/trunk/; revision=9863
2004-06-24 19:43:49 +00:00
KJK::Hyperion
730275c800 Moved common SEH code to Rtl
svn path=/trunk/; revision=9862
2004-06-24 19:30:21 +00:00
Eric Kohl
4e65adddb3 Set user specific TEMP and TMP environment variables.
svn path=/trunk/; revision=9861
2004-06-24 14:49:26 +00:00
Eric Kohl
41871db16c Create user specific temp directory.
svn path=/trunk/; revision=9860
2004-06-24 14:48:33 +00:00
Thomas Bluemel
9f03850ba7 fixed redefinition of some constants for SystemParametersInfo()
svn path=/trunk/; revision=9859
2004-06-24 11:02:56 +00:00
Thomas Bluemel
3977da5dc6 1.fixed return type for NtSystemParametersInfo()
2. added missing definitions (NT5.1+) for SystemParametersInfo() to w32api

svn path=/trunk/; revision=9858
2004-06-24 09:44:06 +00:00
Gé van Geldorp
008c89dfce Remove duplicate "All Users" path component
svn path=/trunk/; revision=9857
2004-06-24 09:19:52 +00:00
Gé van Geldorp
87cc4ce95f Create temp directory
svn path=/trunk/; revision=9856
2004-06-24 09:17:33 +00:00
Eric Kohl
a36e6dca3b Cosmetic fixes.
svn path=/trunk/; revision=9855
2004-06-24 08:54:41 +00:00
Eric Kohl
3a3a3cc0aa Fix line breaks.
svn path=/trunk/; revision=9854
2004-06-24 08:54:03 +00:00
Gé van Geldorp
a3e366fdf9 Mirror PRKAPC_STATE found in ntoskrnl/include/internal/ps.h
svn path=/trunk/; revision=9853
2004-06-24 07:19:57 +00:00
Alex Ionescu
5bcda093f3 Added new files for Ke Stubs
svn path=/trunk/; revision=9852
2004-06-23 22:32:45 +00:00
Alex Ionescu
0f47167023 Added Ke Stubs
svn path=/trunk/; revision=9851
2004-06-23 22:32:24 +00:00
Alex Ionescu
c800cdda6e Added Ke Stub Prototypes
svn path=/trunk/; revision=9850
2004-06-23 22:21:26 +00:00
Alex Ionescu
3d29c6de30 Added Ldr Stub Prototypes
svn path=/trunk/; revision=9849
2004-06-23 22:21:03 +00:00
Alex Ionescu
5dc4ab6ba9 Added Ex Stub
svn path=/trunk/; revision=9848
2004-06-23 21:50:59 +00:00
Alex Ionescu
7f48bb36d7 Added New Io File for stubs
svn path=/trunk/; revision=9846
2004-06-23 21:43:45 +00:00
Alex Ionescu
3074af46ff Added Io Stub Prototypes
svn path=/trunk/; revision=9845
2004-06-23 21:43:19 +00:00
Alex Ionescu
f66364821f Added Io Stubs
svn path=/trunk/; revision=9844
2004-06-23 21:42:50 +00:00
Alex Ionescu
2b0f40b581 Added Ex Stubs
svn path=/trunk/; revision=9843
2004-06-23 21:37:06 +00:00
Alex Ionescu
d039c1362d Added new files for Ex Stubs
svn path=/trunk/; revision=9842
2004-06-23 21:03:43 +00:00
Alex Ionescu
68f96d4b10 Added Ex Prototypes
svn path=/trunk/; revision=9841
2004-06-23 21:02:35 +00:00
Alex Ionescu
62a4509b5f Added Ex Stubs
svn path=/trunk/; revision=9840
2004-06-23 21:01:28 +00:00
Hartmut Birr
b8b9f846b6 - Improved removable media support.
svn path=/trunk/; revision=9839
2004-06-23 20:23:59 +00:00
Alex Ionescu
83f7c0f126 Added Lpc Stubs
svn path=/trunk/; revision=9838
2004-06-23 19:49:21 +00:00
Alex Ionescu
517e96313d Added Ldr Stubs
svn path=/trunk/; revision=9837
2004-06-23 19:49:11 +00:00
Alex Ionescu
cd97bd13da Added Ldr Stub Prototypes
svn path=/trunk/; revision=9836
2004-06-23 19:48:53 +00:00
Alex Ionescu
96523ea314 Fixed KeRaiseUserException to return old EIP.
svn path=/trunk/; revision=9835
2004-06-23 19:48:39 +00:00
Alex Ionescu
814c815bc1 Fixed KeRaiseUserException to return old EIP.
svn path=/trunk/; revision=9834
2004-06-23 19:42:14 +00:00
Thomas Bluemel
7ebb752f56 fixed handling of variable arguments and free memory allocated by FormatMessage(). Thanks to Michael Fritscher for spotting this bug.
svn path=/trunk/; revision=9833
2004-06-23 19:32:17 +00:00
Thomas Bluemel
a1c2b75227 don't use the pointer if it's NULL...
svn path=/trunk/; revision=9831
2004-06-23 15:38:07 +00:00
Thomas Bluemel
94c3ee3a6a little fixes
svn path=/trunk/; revision=9830
2004-06-23 15:30:21 +00:00
Eric Kohl
411068e4cc Implement the ability to write the bootcode to a floppy disk.
svn path=/trunk/; revision=9829
2004-06-23 14:09:55 +00:00
Gé van Geldorp
80dcdcc7f6 Remove debugging statement
svn path=/trunk/; revision=9826
2004-06-23 07:40:45 +00:00
Gé van Geldorp
4d08b708f4 Handle RLE bottom-up dibs
svn path=/trunk/; revision=9825
2004-06-23 07:31:22 +00:00
Alex Ionescu
61d1eb4f34 Added reason for copyimage fixme, declared as unimplemented, and added variable to only display dbgprint once.
svn path=/trunk/; revision=9824
2004-06-23 05:04:30 +00:00
Alex Ionescu
657b2275c7 KD Stubs Added.
svn path=/trunk/; revision=9823
2004-06-23 00:49:43 +00:00
Alex Ionescu
be03c322b3 DBG/KD Types and Prototypes Added.
svn path=/trunk/; revision=9822
2004-06-23 00:49:22 +00:00
Alex Ionescu
76321fa025 FSRTL Stubs Added.
svn path=/trunk/; revision=9821
2004-06-23 00:42:21 +00:00
Alex Ionescu
9467b632c1 FSRTL Types and Prototypes Added.
svn path=/trunk/; revision=9820
2004-06-23 00:41:55 +00:00
Alex Ionescu
f737c1e98a DBG Stubs Added.
svn path=/trunk/; revision=9819
2004-06-23 00:15:59 +00:00
Alex Ionescu
ba71f37690 CM (Registry Manager) Stubs added (Registry Callbacks)
svn path=/trunk/; revision=9818
2004-06-23 00:12:41 +00:00
Gé van Geldorp
9130d5d683 Update version number to 0.2.x
svn path=/trunk/; revision=9817
2004-06-22 23:27:48 +00:00
Gé van Geldorp
47e5aeceab Convert between RGBQUAD and PALETTEENTRY
svn path=/trunk/; revision=9814
2004-06-22 20:08:17 +00:00
Eric Kohl
a8b5ba5a72 Add missing IOCTL codes.
svn path=/trunk/; revision=9812
2004-06-22 14:00:36 +00:00
Royce Mitchell III
2e89468648 small bugfix - debug/release inconsistency - found by Thomas Weidenmueller
svn path=/trunk/; revision=9811
2004-06-22 12:43:49 +00:00
Richard Campbell
55dc4a9268 very basic makefile for vs2003 (and the free tools). Please note that some programs don't compile properly, will take a look at this later.
svn path=/trunk/; revision=9810
2004-06-22 10:46:09 +00:00
Vizzini
c7ce024b3a minor debug message fix
svn path=/trunk/; revision=9809
2004-06-22 03:02:33 +00:00
KJK::Hyperion
362995c318 Does ntoskrnl really need its own makefile?
svn path=/trunk/; revision=9808
2004-06-21 21:07:29 +00:00
Hartmut Birr
7b96a26e57 - Enabled the command queueing (in DiskClassCreateDeviceObject).
- Do always reread the partition table in DiskBuildPartitionTable,
  because DiskBuildPartitionTable is only called for removable media's.
- If there is no partition table available, set the disk data entries
  for this volume to the super floppy format (in DiskBuildPartitionTable).

svn path=/trunk/; revision=9807
2004-06-21 21:03:12 +00:00
Hartmut Birr
7d5a8e2e07 - Reduced the necessary size of inquiry data to 4 byte.
- Incremented the active irp counters in SpiAddActiveIrp,
  because the valid value is necessary in this function while starting new irp's.
- Do not set the command queueing enable flag in SpiAddActiveIrp,
  because this is the job of a driver above scsiport.

svn path=/trunk/; revision=9806
2004-06-21 21:00:37 +00:00
Hartmut Birr
924522f57c - Fixed the access to an uninitialized variable in IntCreateClass.
svn path=/trunk/; revision=9805
2004-06-21 20:56:53 +00:00
KJK::Hyperion
bfce2bcf20 Another PSEH fix
svn path=/trunk/; revision=9804
2004-06-21 20:55:16 +00:00
Martin Fuchs
d9954bc076 disable explorer sidebar in SDI mode
svn path=/trunk/; revision=9803
2004-06-21 19:32:49 +00:00
Thomas Bluemel
8d5c063840 use FormatMessage() to print some error messages. Patch by Michael Fritscher.
svn path=/trunk/; revision=9801
2004-06-21 18:57:22 +00:00
Thomas Bluemel
ae0bc4e939 1. fixed compiler warning
2. German resource update by Michael Fritscher

svn path=/trunk/; revision=9800
2004-06-21 18:32:36 +00:00
Royce Mitchell III
d82a66b206 gone with the wind - sorry for that, I guess CVS isn't feeling well today
svn path=/trunk/; revision=9799
2004-06-21 18:22:59 +00:00
Eric Kohl
edd6cd0190 Fixed icon masks.
svn path=/trunk/; revision=9798
2004-06-21 17:11:00 +00:00
Royce Mitchell III
84fff6f7f2 cvsignore maintainance
svn path=/trunk/; revision=9797
2004-06-21 16:58:28 +00:00
Eric Kohl
6d403cae78 Detect parallel ports.
svn path=/trunk/; revision=9796
2004-06-21 12:23:01 +00:00
Eric Kohl
62e0fe6b5e Stop dumping PnP nodes at an empty node.
svn path=/trunk/; revision=9795
2004-06-21 12:12:01 +00:00
Thomas Bluemel
a10440fe8a merged focus handling code from wine
svn path=/trunk/; revision=9794
2004-06-21 10:24:52 +00:00
Thomas Bluemel
208898d3cd added support for deleting values
svn path=/trunk/; revision=9793
2004-06-21 08:47:38 +00:00
Thomas Bluemel
aed08f7da3 moved several strings to the application resources
svn path=/trunk/; revision=9792
2004-06-21 07:48:11 +00:00
Martin Fuchs
1f85769d05 capture mode while scrolling start menus
svn path=/trunk/; revision=9791
2004-06-21 06:46:44 +00:00
Alex Ionescu
c8fb75517f Added two new Cache Manager files added for the stubs.
svn path=/trunk/; revision=9790
2004-06-21 04:12:59 +00:00
Alex Ionescu
821f740fc7 Added Stubs for Cache Manager functions in their appropriate file.
svn path=/trunk/; revision=9789
2004-06-21 04:11:44 +00:00
Art Yerkes
1fe3a2d6c3 Switched the sense of the onlyLoopback flag in getNumNonLoopbackAdapters
and kin.  I had the sense of needing only loopback adapters or all adapters
inverted.

Our info ioctl still misidentifies the adapters with respect to loopback
and not.

svn path=/trunk/; revision=9788
2004-06-21 02:21:16 +00:00
Thomas Bluemel
16ea2c47a7 fixed scrollbar issues
svn path=/trunk/; revision=9787
2004-06-21 01:30:34 +00:00
Gunnar Dalsnes
bb74619906 remove unused stub SetCriticalSectionSpinCount (it's forwarded to ntdll)
svn path=/trunk/; revision=9786
2004-06-20 23:42:07 +00:00
Gunnar Dalsnes
00eec04d6e added comment to FreeSid
svn path=/trunk/; revision=9785
2004-06-20 23:39:07 +00:00
Gunnar Dalsnes
2a54e31ff6 added RtlpDuplicateUnicodeString
fixed RtlFreeSid return type

svn path=/trunk/; revision=9784
2004-06-20 23:37:52 +00:00
Gunnar Dalsnes
3b854207b7 forgot to change some memory allocator calls
added RtlpDuplicateUnicodeString

svn path=/trunk/; revision=9783
2004-06-20 23:35:14 +00:00
Gunnar Dalsnes
da670920b9 forgot to change some memory allocators calls
added comment to RtlFreeSid and changed its retval

svn path=/trunk/; revision=9782
2004-06-20 23:30:47 +00:00
Gunnar Dalsnes
75a50813aa moved encode|image|splaytee into rtl
svn path=/trunk/; revision=9781
2004-06-20 23:27:21 +00:00
Gunnar Dalsnes
d26418fb30 moved into rtl
svn path=/trunk/; revision=9780
2004-06-20 23:25:34 +00:00
Gunnar Dalsnes
13e51e12a9 move rtl/version|image|encode into rtl
svn path=/trunk/; revision=9779
2004-06-20 23:22:06 +00:00
Thomas Bluemel
77ea00dd50 some little fixes
svn path=/trunk/; revision=9778
2004-06-20 22:52:39 +00:00
Gé van Geldorp
b24bc6c8de Prefer non-topmost windows when activating another window
svn path=/trunk/; revision=9776
2004-06-20 22:27:19 +00:00
Gé van Geldorp
db14b748c7 Don't activate invisible windows
svn path=/trunk/; revision=9774
2004-06-20 22:25:14 +00:00
Martin Fuchs
84970bfa09 scroll mode for very long start menus
svn path=/trunk/; revision=9773
2004-06-20 21:42:59 +00:00
Thomas Bluemel
c7eb76e4d3 some minor fixes to the hex edit control
svn path=/trunk/; revision=9771
2004-06-20 19:26:59 +00:00
Thomas Bluemel
ceaaf3d4fc fixed compiling issues
svn path=/trunk/; revision=9770
2004-06-20 18:48:46 +00:00
Thomas Bluemel
c86604cbe4 display hex dump of the binary data
svn path=/trunk/; revision=9769
2004-06-20 18:36:31 +00:00
Royce Mitchell III
8350c577cb fixed that stupid run dialog not defaulting to the combobox.... finally! patch submitted to wine also already.
svn path=/trunk/; revision=9768
2004-06-20 16:43:58 +00:00
Filip Navara
1c4f8bd790 - Fix video mode list traversing. Reported by Royce Mitchel III.
svn path=/trunk/; revision=9767
2004-06-20 16:37:15 +00:00
Gé van Geldorp
10400889eb Activate window on non-client click too
svn path=/trunk/; revision=9765
2004-06-20 16:27:14 +00:00
Filip Navara
2541337d8b - Add HwResetHw implementation that uses VBE set mode call to restore video mode.
svn path=/trunk/; revision=9764
2004-06-20 16:06:12 +00:00
Filip Navara
6467833ecc - Fixed very stupid bug with pointer handling in NtUserBuildHwndList.
svn path=/trunk/; revision=9763
2004-06-20 16:06:05 +00:00
Filip Navara
b688080896 - Cleaned up IntVideoPortResetDisplayParameters a bit.
svn path=/trunk/; revision=9762
2004-06-20 16:05:47 +00:00
Royce Mitchell III
7d0c7ca853 much nicer-looking 8-bit versions of drives.ico and desktop.ico - the wine project is welcome to have this change if they want it.
svn path=/trunk/; revision=9761
2004-06-20 14:12:00 +00:00
Thomas Bluemel
e17ebf0811 some more work on the hex edit control (added messages for loading/changing the buffer)
svn path=/trunk/; revision=9760
2004-06-20 13:35:03 +00:00
Filip Navara
c75be21c00 - Call the "load default cursor" callback. Fixes bug #358.
svn path=/trunk/; revision=9753
2004-06-20 12:34:20 +00:00
Thomas Bluemel
8cbe40b0ad some work on editing binary registry values (not working yet)
svn path=/trunk/; revision=9752
2004-06-20 12:21:47 +00:00
Eric Kohl
17bdc6a18d Add display type (VGA or VESA) selection.
svn path=/trunk/; revision=9751
2004-06-20 12:18:08 +00:00
Martin Fuchs
637a86a286 fix opening explorer sub folders in MDI mode - problem spotted and debugged by Ge van Geldorp
svn path=/trunk/; revision=9749
2004-06-20 12:10:45 +00:00
Gé van Geldorp
bbfafe3c22 Reserve ordinals 90 and 91. Fixes bug 182.
svn path=/trunk/; revision=9747
2004-06-20 10:39:21 +00:00
Gé van Geldorp
2e60fd207a Handle ordinals which are not exported
svn path=/trunk/; revision=9745
2004-06-20 10:36:17 +00:00
Filip Navara
39d8412f56 - Use raw size for image sections if virtual size isn't specified. Patch by Nathan Lineback <lineback@toastytech.com> from BugZilla #364.
svn path=/trunk/; revision=9744
2004-06-20 10:21:48 +00:00
Filip Navara
9fc35cab4e - Handle correctly "Unknown" media type in VfatHasFileSystem. This gets the floppy disk driver working.
svn path=/trunk/; revision=9743
2004-06-20 09:52:58 +00:00
Eric Kohl
b23ea08f8a Detect display controller. Distinguish VGA and VBE display devices.
svn path=/trunk/; revision=9742
2004-06-20 09:12:10 +00:00
Vizzini
aeb397b5ab various bugfixes to IoQueryDeviceDescription and friends. The floppy driver now loads and finds the drive properly.
svn path=/trunk/; revision=9741
2004-06-20 04:50:02 +00:00
Vizzini
0064a17a7c clarified a misleading comment
svn path=/trunk/; revision=9740
2004-06-20 03:36:44 +00:00
Vizzini
6993ae4ae2 fixed a bug in IoCsqRemoveNextIrp (missing break)
svn path=/trunk/; revision=9739
2004-06-20 03:29:29 +00:00
Royce Mitchell III
bda771abc0 much nicer-looking 8-bit versions of mycomputer.ico - the wine project is welcome to have this change if they want it.
svn path=/trunk/; revision=9738
2004-06-20 03:06:31 +00:00
Thomas Bluemel
4c4f493412 some fixes to be able to create a unicode build
svn path=/trunk/; revision=9737
2004-06-20 02:22:44 +00:00
Vizzini
841ace6796 backed out bugified patch
svn path=/trunk/; revision=9736
2004-06-20 02:10:07 +00:00
Thomas Bluemel
491f067798 added support to edit REG_MULTI_SZ strings.
svn path=/trunk/; revision=9735
2004-06-20 01:07:26 +00:00
Filip Navara
963c2bcf6e - Allocate memory from PagedPool instead of NonPagedPool where possible.
- Backported font initialization code with fixed memory leaks from my unfinished font handling rewrite patch.

svn path=/trunk/; revision=9734
2004-06-20 00:45:37 +00:00
Filip Navara
ce56ff1648 - Fixed memory corruption in IopInitializeBuiltinDriver.
[Should be ported to 0.2.3 release branch too.]

svn path=/trunk/; revision=9733
2004-06-20 00:44:55 +00:00
Thomas Bluemel
46f51fc218 display REG_NONE and REG_MULTI_SZ values
svn path=/trunk/; revision=9732
2004-06-19 23:12:58 +00:00
Filip Navara
566b3a9f38 - Increment the number of free pages in MmFreeMemory.
svn path=/trunk/; revision=9731
2004-06-19 22:42:41 +00:00
Filip Navara
a3de47e17a - Fixed NtUserDestroyWindow to correctly destroy owned windows. Fixes bugs #342 and #350.
[Should be ported to 0.2.3 release branch too.]

svn path=/trunk/; revision=9730
2004-06-19 20:18:09 +00:00
Filip Navara
0b27c9bbe9 - Force importing _vsnprintf from MSVCRT. The NTDLL version doesn't support %f specifiers.
svn path=/trunk/; revision=9728
2004-06-19 17:58:37 +00:00
Richard Campbell
b793f5ef6d very basic makefile for vs2003 (and the free tools). Please note that some programs don't compile properly, will take a look at this later.
svn path=/trunk/; revision=9726
2004-06-19 12:40:41 +00:00
Vizzini
4444a6885d patch by Tom (tmkpl@poczta.onet.pl)
to clean up return val checking of some mdl calls

svn path=/trunk/; revision=9725
2004-06-19 08:53:35 +00:00
Filip Navara
5d2036782e - Fixed compilation problems with MinGW runtime 3.3.
svn path=/trunk/; revision=9724
2004-06-19 08:52:40 +00:00
Filip Navara
e19a20e71e - Callbacks implementation. A little modified patch by Alex Ionescu (alex@relsoft.net).
svn path=/trunk/; revision=9723
2004-06-19 08:48:01 +00:00
Vizzini
bb2c3e3a72 fixed an extremely irritating bug in an enum
svn path=/trunk/; revision=9722
2004-06-19 08:47:59 +00:00
Filip Navara
88f213ea72 - Corrected shell paths.
svn path=/trunk/; revision=9721
2004-06-19 07:56:16 +00:00
Vizzini
2a5689bb0b added support for setting Component Information for the ISA bus; fixed a minor bug
svn path=/trunk/; revision=9720
2004-06-19 06:03:37 +00:00
Steven Edwards
0cbe4f2842 added stubs for the Cache Manager by Alex Ionescu.
svn path=/trunk/; revision=9719
2004-06-19 05:04:33 +00:00
Art Yerkes
5954327e76 Change from unclegarlic: Don't overwrite packet length.
svn path=/trunk/; revision=9718
2004-06-19 02:03:33 +00:00
Gero Kuehn
fa242a9267 changed from control.cpp to control.c, changed \ to / in control.c
svn path=/trunk/; revision=9717
2004-06-19 00:11:44 +00:00
KJK::Hyperion
03c4c34d21 Attempt to fix PSEH compilation for kernel-mode targets. Arty please test this
svn path=/trunk/; revision=9716
2004-06-18 22:33:06 +00:00
Gero Kuehn
038cca4d58 initial checkin of the non-shell-namespace-based control panel and software add/remove cpl
svn path=/trunk/; revision=9715
2004-06-18 20:43:44 +00:00
Filip Navara
86c4140124 - Get this test compilable.
svn path=/trunk/; revision=9714
2004-06-18 17:37:02 +00:00
Steven Edwards
6f53b7dbce Added font enumeratiion demo
svn path=/trunk/; revision=9713
2004-06-18 17:26:59 +00:00
Filip Navara
81d4e43dda - VideoPortInt10 should copy back the output registers to caller.
svn path=/trunk/; revision=9712
2004-06-18 17:20:49 +00:00
Martin Fuchs
751d25b2ea eliminate GCC warning
svn path=/trunk/; revision=9709
2004-06-18 16:59:47 +00:00
Martin Fuchs
24fdd29e94 eliminate GCC warning
svn path=/trunk/; revision=9707
2004-06-18 16:44:59 +00:00
Martin Fuchs
be7a6c466b re-enable DesktopWindow::OnDefaultCommand to open explorer windows on desktop double clicks
svn path=/trunk/; revision=9706
2004-06-18 16:36:00 +00:00
Filip Navara
26c98df753 - Map correct amount of the video memory.
svn path=/trunk/; revision=9705
2004-06-18 16:26:51 +00:00
Filip Navara
80799cc3c8 Changelog:
- Don't change DC origin in NtGdiOffsetViewportOrgEx
- Update transformation matrix in NtGdiSetViewportExtEx,
  NtGdiSetWindowExtEx, NtGdiSetWindowOrgEx, NtGdiOffsetWindowOrgEx
- When creating new DC initialize the Viewport/Window extensions.
- Transform logical coordinates to device ones in NtGdiExtTextOut
  and NtGdiLineTo.

svn path=/trunk/; revision=9703
2004-06-18 15:18:58 +00:00
Gero Kuehn
9ba82f014d added SetFocus call for the username dialog
svn path=/trunk/; revision=9702
2004-06-17 21:23:50 +00:00
Eric Kohl
78f151b9d3 Add missing nls settings for Great Britain.
This fixes bug #344.

svn path=/trunk/; revision=9700
2004-06-17 18:29:44 +00:00
Gé van Geldorp
2d902a8146 Remove obsolete ide and (old) floppy drivers
svn path=/trunk/; revision=9698
2004-06-17 13:28:53 +00:00
Eric Kohl
c792e5b04c Fix typos.
svn path=/trunk/; revision=9696
2004-06-17 10:49:51 +00:00
Eric Kohl
06e579a944 Compile advapi32 using w32api.
svn path=/trunk/; revision=9695
2004-06-17 09:07:12 +00:00
Art Yerkes
0766c089ec This makes RtlUnicodeStringToInteger work like the win2k version. Basically
this function never checks the validity of the input string and only returns
an error when the Base argument is set incorrectly.

This fixes the bug while booting vmware with the pcnet card on.

svn path=/trunk/; revision=9694
2004-06-17 03:47:39 +00:00
Eric Kohl
7d375e8c48 Add some missing error codes.
svn path=/trunk/; revision=9693
2004-06-16 22:13:19 +00:00
Filip Navara
4e81faa948 - Bump version number to 0.2.4.
svn path=/trunk/; revision=9691
2004-06-16 21:42:24 +00:00
Eric Kohl
f38668e736 Add keyboard detection.
svn path=/trunk/; revision=9690
2004-06-16 20:21:20 +00:00
Gé van Geldorp
0a30ec98a3 Update porting status
svn path=/trunk/; revision=9688
2004-06-16 18:50:19 +00:00
Gé van Geldorp
b3e8303421 Sync to Wine-20040615:
Robert Reif <reif@earthlink.net>
- Added some trace and debug printing.
- Fixed a problem were a trace accesses a data member that may be
  outside of the actual data structure passed in.
- Added some more debug traces.
- Don't try to map the mapper device.
Mike McCormack <mike@codeweavers.com>
- Fix PlaySound.
Eric Pouech <pouech-eric@wanadoo.fr>
- GetModuleFileName[AW] doesn't terminate the string if the buffer is
  too small.
Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
- Fixed missing inversion in bit manipulation.
Ivan Leo Puoti <puoti@inwind.it>
- Changed my name, so update copyright info.

svn path=/trunk/; revision=9686
2004-06-16 18:48:46 +00:00
Gé van Geldorp
a41cfac6b9 Sync to Wine-20040615:
Robert Reif <reif@earthlink.net>
- Added tracing to all functions.
- Added error explanations.
- Changed debug channel from msacm to wavemap so not confused with
  msacm.
- Handle case where partial structure update requested.
- Minor white space cleanup.
- Returns proper error code when trying to get caps when no devices
  present.
- Fixed a bug where wrong a return value was returned when mapping is
  not possible.

svn path=/trunk/; revision=9685
2004-06-16 18:40:05 +00:00
Gé van Geldorp
fd397eeccd Sync to Wine-20040615:
Hans Leidekker <hans@it.vu.nl>
- Link to ntdll.
Raphael Junqueira <fenix@club-internet.fr>
- Stub for SHFlushSFCacheWrap.
Eric Pouech <pouech-eric@wanadoo.fr>
- GetModuleFileName[AW] doesn't terminate the string if the buffer is
  too small.
Stefan Leichter <Stefan.Leichter@camLine.com>
- Moved stub of StopWatch from ascii to unicode.

svn path=/trunk/; revision=9684
2004-06-16 18:27:33 +00:00
Gé van Geldorp
2b3293eb3a Sync to Wine-20040615:
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Fix ref count on standard proxy creation.
- Release channel buffer in StdMarshal_UnmarshalInterface, since we no
  longer use it and the proxy should have taken a reference on it.
- Add a few comments.
Eric Pouech <pouech-eric@wanadoo.fr>
- GetModuleFileName[AW] doesn't terminate the string if the buffer is
  too small.
Patrik Stridvall <ps@leissner.se>
- Fixed some issues found by winapi_check.

svn path=/trunk/; revision=9683
2004-06-16 18:21:24 +00:00
Gé van Geldorp
129d08fec4 Sync to Wine-20040615:
Ivan Leo Puoti <puoti@inwind.it>
- Changed my name, so update copyright info.

svn path=/trunk/; revision=9682
2004-06-16 18:13:23 +00:00
Filip Navara
4addf164b6 - Disable the "Floppy count: x" debug message.
svn path=/trunk/; revision=9681
2004-06-16 16:59:27 +00:00
Gé van Geldorp
92599b546e Sync to Wine-20040615:
Marcus Meissner <marcus@jet.franken.de>
- Revert broken strict aliasing fix.
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Fix ref count on standard proxy creation.
- Release channel buffer in StdMarshal_UnmarshalInterface, since we no
  longer use it and the proxy should have taken a reference on it.
- Add a few comments.
- Fixed CoMarshalInterThreadInterfaceInStream and
  CoGetInterfaceAndReleaseStream.
Patrik Stridvall <ps@leissner.se>
- Fixed some issues found by winapi_check.

svn path=/trunk/; revision=9680
2004-06-16 07:06:50 +00:00
Gé van Geldorp
6c4df3df68 Sync to Wine-20040615:
Patrik Stridvall <ps@leissner.se>
- Fixed some issues found by winapi_check.
Krishna Murthy <Krishna.Murthy@guptaworldwide.com>
- WNetGetConnection(): use QueryDosDevice to return a fake remote name
  instead of the drive label.

svn path=/trunk/; revision=9679
2004-06-16 06:58:48 +00:00
Gé van Geldorp
e054bf54e2 Sync to Wine-20040615:
Ivan Leo Puoti <puoti@inwind.it>
- Changed my name, so update copyright info.
Ilya Korniyko <k_ilya@ukr.net>
- Encoding fixes in Ukrainian translation.
Wolfgang Schwotzer <wolfgang.schwotzer@gmx.net>
- Support lpstrCustomFilter and return nFilterIndex in file dialog.
Rein Klazes <rklazes@xs4all.nl>
- In FILEDLG_ScanDir do not try to set the current directory to a path
  that is empty.

svn path=/trunk/; revision=9678
2004-06-16 06:54:39 +00:00
Gé van Geldorp
11761ed436 Sync to Wine-20040615:
Maxime Bellenge <maxime.bellenge@laposte.net>
- Implemented PSH_WIZARD97_OLD and PSH_WIZARD97_NEW property sheet
  styles.
- Add DT_END_ELLIPSIS as defaut style for text.
Ilya Korniyko <k_ilya@ukr.net>
- Encoding fixes in Ukrainian translation.
Filip Navara <xnavara@volny.cz>
- Let the subclassing stack grow the opposite way to make the code
  more transparent.
- Remove SubclassWndProc and move its logic to DefSubclassProc.
Dimitrie O. Paun <dpaun@rogers.com>
- Clear the state image bits only if LVS_EX_CHECKBOXES is set.
- Fix obvious logical error in focus handling.
- Indentation and formatting fixes.
- (based on a patch by Krishna Murthy).
Ulrich Czekalla <ulrich@codeweavers.com>
- Handle case where iterator range contains 0 elements.
- Handle case when item text is empty.
  According to MSDN, length should be returned when lParam is NULL.
Patrik Stridvall <ps@leissner.se>
- StrSpnW doesn't exist in comctl32.dll but StrCSpnW does.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Implemented TCM_SETITEMEXTRA.
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Don't draw whole button pressed when separate dropdown pressed, just
  the separate dropdown itself.
- TBN_DRAGOUT and NM_RDBLCLK notifications.
- Remove unneeded member of private toolbar struct.

svn path=/trunk/; revision=9677
2004-06-16 06:46:13 +00:00
Gé van Geldorp
dc9dfeec01 Remove debug stuff accidentaly left in
svn path=/trunk/; revision=9676
2004-06-16 06:18:14 +00:00
Gé van Geldorp
fbfd3a4820 Marshall WM_CREATE/WM_NCCREATE messages
svn path=/trunk/; revision=9675
2004-06-16 06:09:40 +00:00
Gé van Geldorp
3cca4fd859 Build "new" floppy driver instead of non-functional "old" one
svn path=/trunk/; revision=9674
2004-06-15 22:33:47 +00:00
Eric Kohl
2fbcaac90d Detect floppy disk drives.
svn path=/trunk/; revision=9673
2004-06-15 12:22:19 +00:00
Hartmut Birr
cfef139c5b - Reduced the size of the necessary inquiry data length to recognize a device as valid.
svn path=/trunk/; revision=9672
2004-06-15 09:29:41 +00:00
Hartmut Birr
4536f9c25b - Interpret the sign for qualifier 'l'.
svn path=/trunk/; revision=9671
2004-06-15 08:53:53 +00:00
Hartmut Birr
aefc8f79e7 - Initialized the variable status to get on success a proper return value.
svn path=/trunk/; revision=9670
2004-06-15 08:17:23 +00:00
Art Yerkes
5fd39d97bb recv now works every time
- Standardized on recvfrom request and reply everywhere
- Added a continuous parameter to FillWSABuffers for stream sockets
- Added function TryToSatisfyRecvRequest
- Create MDLs for the WSABUFS.  These are needed because we aren't in our
  home process when tcpip calls back with data.
- Removed extraneous and potentially confusing lock ReadRequestQueueLock
  Now both ReadRequestQueue and ReceiveQueue rely on ReceiveQueueLock

svn path=/trunk/; revision=9669
2004-06-15 02:56:13 +00:00
Filip Navara
9725dc0746 - Update trasformation matrix in SetViewportOrgEx.
svn path=/trunk/; revision=9668
2004-06-14 20:58:51 +00:00
Filip Navara
4cb0e04a46 - Packing fixes
svn path=/trunk/; revision=9667
2004-06-14 20:05:00 +00:00
Art Yerkes
0999a0ef81 Preliminary version of recv.
svn path=/trunk/; revision=9666
2004-06-14 03:22:27 +00:00
Art Yerkes
f773e32aab rawip: Removed the deallocation of the client-supplied mdl. This does not
appear to be part of the definition and is not done in the UDP case.
event: I moved the close notify into it's own function so that it can be
worked on separately.

svn path=/trunk/; revision=9665
2004-06-14 01:40:48 +00:00
Filip Navara
6435dec245 - Compile kernel32 using w32api.
- Fixed some packing issues in DDK headers (more to come).

svn path=/trunk/; revision=9664
2004-06-13 20:04:56 +00:00
Filip Navara
3aa5dd5be2 - Fixed list traversing in MmAlterRegion to correctly handle Length that is greater than real memory area size.
svn path=/trunk/; revision=9663
2004-06-13 14:05:53 +00:00
Martin Fuchs
1a9133bf9b Unicode fix
svn path=/trunk/; revision=9662
2004-06-13 12:56:39 +00:00
Martin Fuchs
9ca2c517db XMLStorage update: XMLReaderBase
svn path=/trunk/; revision=9661
2004-06-13 12:45:29 +00:00
Filip Navara
ebb7ad1e4a - Fixed prototypes of NtAddAtom, NtFindAtom, NtProtectVirtualMemory and KeQueryInterruptTime.
svn path=/trunk/; revision=9660
2004-06-13 10:35:53 +00:00
Art Yerkes
25ae3e20a7 Removed redundant tracking (now incorporated into NdisAllocatePacket, etc)
that was causing a bugcheck in the 'ping to us' case.  The memory was detected
tracked twice (correctly).

This condition was detected by mifritcher after I checked in.

svn path=/trunk/; revision=9659
2004-06-12 04:46:18 +00:00
Gé van Geldorp
57c3c75356 Set MaximumLength to size of allocated memory
svn path=/trunk/; revision=9658
2004-06-11 20:15:07 +00:00
Gé van Geldorp
b2e222b305 Patch by Michael Fritscher <michael@fritscher.net>
Add /? and /s cmdline options

svn path=/trunk/; revision=9657
2004-06-11 14:10:12 +00:00
Gé van Geldorp
58b454b469 Patch by Michael Fritscher <michael@fritscher.net>
Fix CVS warnings.

svn path=/trunk/; revision=9656
2004-06-11 13:59:16 +00:00
Eric Kohl
839baba4ae The root bus driver should return an empty resource list on IRP_MN_QUERY_RESOURCES.
svn path=/trunk/; revision=9655
2004-06-11 09:33:42 +00:00
Gé van Geldorp
ab0a1921c1 Prevent CVS warnings about .*.d files
svn path=/trunk/; revision=9654
2004-06-11 09:10:17 +00:00
Eric Kohl
fbda4aa735 Retrieve Hardware IDs and Compatible IDs from the bus driver and attach them to the device node.
svn path=/trunk/; revision=9653
2004-06-10 11:00:28 +00:00
Hartmut Birr
00df170a8a - Enabled the dependency check for the storage drivers.
svn path=/trunk/; revision=9652
2004-06-10 08:20:20 +00:00
Hartmut Birr
5f843bef93 - Use a bitmap for managing the srb extensions.
- Removed the complete request and next request counter.
  The counters are always wrong, because some miniport drivers fires up
  to much notification requests.
- Enable the queues for the miniport driver, if they are supported.
- Fixed a bug in ScsiPortCompleteRequest.

svn path=/trunk/; revision=9651
2004-06-10 08:14:57 +00:00
Hartmut Birr
b5273a652c - Allocate for each srb its one sense info buffer.
- Reinitialize the transfer size if a retry is necessary in ScsiClassSendSrbSynchronous.

svn path=/trunk/; revision=9650
2004-06-10 07:56:42 +00:00
Hartmut Birr
c3e66860e4 - Exchanged source and target in WRITE_REGISTER_BUFFER_xxx.
svn path=/trunk/; revision=9649
2004-06-10 07:50:30 +00:00
Steven Edwards
5298bf9c05 added \n for DPRINT
svn path=/trunk/; revision=9648
2004-06-09 20:39:41 +00:00
Art Yerkes
c1d0686eaa This is a merge onto head of the last two months worth of changes to the
networking code.

There is individual change info on the branch arty_20040329.

Here is a summary of what changed:

tcpip:

- Added a mostly working transport/tcp branch based on oskittcp
  (checked in at drivers/lib/oskittcp).  This code shares almost nothing
  with the previous version.

- Regularized IRP handling

- Fixed ownership of buffers throughout tcpip.sys.  Buffers are now
  required to be copied in a few more cases, but everybody can call
  anybody else and not have to worry about keeping a buffer alive
  for any specific reason.

- Also moved lots more operations onto the stack (small datastructures
  and pointers).  This will result in a further simplification of the
  code here.

- Made each completion routine solely responsible for freeing memory
  from the corresponding action.

- Removed reference counted small address structures in favor if inlines

- Changed and clarified ownership rules almost everwhere

- Fixed a few more type punning style errors

- Added more info used by iphlpapi

- Added some memory tracing stuff

ndis:

- Fixed one or two type punning errors

ws2_32:

- Added getservbyname and getprotobyname (partial)

oskittcp:

- Diagnostics everywhere

- Eliminated dependence on raw_ip input

- Simplified buffering and signalling model a bit

- Added memory checking as in tcpip

- more to come

svn path=/trunk/; revision=9647
2004-06-09 18:11:39 +00:00
Eric Kohl
25e4bf3404 Build Hardware IDs and Compatible IDs for PCI devices.
svn path=/trunk/; revision=9646
2004-06-09 14:22:53 +00:00
Filip Navara
869566fc97 - Correctly set Irp->IoStatus.Information when handling IOCTL_BOOTVID_INITIALIZE request. This fixes the occasional page faults during bugchecks when NTOSKRNL:InbvResetDisplay tried to call function pointed by uninitialized variable.
svn path=/trunk/; revision=9645
2004-06-08 19:31:10 +00:00
Hartmut Birr
a51ef0df37 - Fixed the counting of pending irps.
svn path=/trunk/; revision=9644
2004-06-07 20:03:00 +00:00
Filip Navara
ba3d08e286 - Fixed redefinition of VERSION.
svn path=/trunk/; revision=9643
2004-06-07 18:03:12 +00:00
Filip Navara
4400aed363 - Include bootdata/hiveinst.inf when building the Live CD registry hives.
svn path=/trunk/; revision=9642
2004-06-07 17:31:50 +00:00
Hartmut Birr
da9b36f495 - Implemented ScsiPortCompleteRequest.
- Fixed the calculation of the max transfer size.
- Rewrote parts of SpiScanAdapter and SpiSendInquiry to speed up device detection.
- Fixed the handling of sense info data for HBA's which are auto request sense capability.
- Added some more debug messages.

svn path=/trunk/; revision=9641
2004-06-07 16:37:07 +00:00
Eric Kohl
5dabb7db10 Implement mouse driver autodetection and installation.
svn path=/trunk/; revision=9640
2004-06-07 12:24:00 +00:00
Hartmut Birr
440fa78c14 - Check if the temp directory exist, if not use the current directory.
svn path=/trunk/; revision=9639
2004-06-06 17:33:13 +00:00
Hartmut Birr
4a7c01adb6 - Cancelled my last change.
svn path=/trunk/; revision=9638
2004-06-06 17:29:57 +00:00
Eric Kohl
36b12d1025 Use hardware description if available to initialize the serial mouse port.
svn path=/trunk/; revision=9637
2004-06-06 15:55:03 +00:00
Hartmut Birr
1d4397159c - Allocate memory for mdl's for paging io from stack instead of the non paged pool.
svn path=/trunk/; revision=9636
2004-06-06 09:13:21 +00:00
Hartmut Birr
efc9160052 - Get first the parameters and do then the processing.
svn path=/trunk/; revision=9635
2004-06-06 09:05:21 +00:00
Hartmut Birr
5c92baff3c - Fixed the set command for WinXP.
- The second parameter must be zero in the call to SetEnvironmentVariable
  if the variable should be deleted.

svn path=/trunk/; revision=9634
2004-06-06 09:03:07 +00:00
Hartmut Birr
fbd64e0eb9 - Removed MakeSureDirectoryPathExistsEx.
- Use the current directory if GetTempPath fails.
- Inherit the handles to the child process (in Execute).
- Assume that the current process is always a console process if ntdll exist
  but not contains the functions NtQueryInformationProcess or NtReadVirtualMemory.

svn path=/trunk/; revision=9633
2004-06-06 08:58:56 +00:00
Hartmut Birr
419db01ef7 - Check if the temp path exist in GetTempPathW.
svn path=/trunk/; revision=9632
2004-06-06 08:50:26 +00:00
Hartmut Birr
353214e42e - Allocate memory for mdl's for paging io from stack instead of the non paged pool.
svn path=/trunk/; revision=9631
2004-06-06 08:36:31 +00:00
Hartmut Birr
3b09731efb - Store page numbers instead of physical address's within mdls.
svn path=/trunk/; revision=9630
2004-06-06 07:52:22 +00:00
Hartmut Birr
b4d6f4e01a - Added the dependence files to the clean target.
svn path=/trunk/; revision=9629
2004-06-05 20:10:41 +00:00
Hartmut Birr
113740ebbd - Fixed the start offset of a partition within an extended partition (in xHalIoWritePartitionTable).
svn path=/trunk/; revision=9628
2004-06-05 20:05:06 +00:00
Eric Kohl
1d623bc9b8 Store serial port identifiers at controller keys.
svn path=/trunk/; revision=9627
2004-06-05 19:52:23 +00:00
Hartmut Birr
893efd8a1f - Added a check for a waitable objects in NtWaitForSingleObject and NtWaitForMultipleObjects.
svn path=/trunk/; revision=9626
2004-06-05 18:52:35 +00:00
Filip Navara
6110c706c4 - Fixed getting of menu item texts in GetMenuItemInfo[AW]. Fixes bug #316.
- Fixed memory leak in MenuDrawPopupMenu.

svn path=/trunk/; revision=9625
2004-06-05 18:39:46 +00:00
Casper Hornstrup
037ba1baea Revert:
2004-06-05  Casper S. Hornstrup  <chorns@users.sourceforge.net>

	* Makefile: Split target all into three parts, one that must be executed
	alone and two that can be executed concurrently.

svn path=/trunk/; revision=9624
2004-06-05 13:39:02 +00:00
Hartmut Birr
c81a4db568 - Changed back to the old variable NASM_CMD.
svn path=/trunk/; revision=9623
2004-06-05 12:06:41 +00:00
Casper Hornstrup
f30f61c8fa 2004-06-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile: Split target all into three parts, one that must be executed
	alone and two that can be executed concurrently.

svn path=/trunk/; revision=9622
2004-06-05 11:11:13 +00:00
Casper Hornstrup
97d7e660f0 2004-06-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/helper.mk: Skip automatic dependency tracking if
	DEPENDENCIES=no.

svn path=/trunk/; revision=9621
2004-06-05 10:47:27 +00:00
Hartmut Birr
f79f677f01 - Added a comment for NASM_CMD.
svn path=/trunk/; revision=9620
2004-06-05 10:21:59 +00:00
Hartmut Birr
c530406b93 - Changed back to the old variable NASM_CMD.
svn path=/trunk/; revision=9619
2004-06-05 09:47:36 +00:00
Filip Navara
73dfa9e66a - Disable paging file for Live CD.
svn path=/trunk/; revision=9618
2004-06-05 09:35:52 +00:00
Filip Navara
f3f89873bd - Report the /MININT option for Live CD boots.
svn path=/trunk/; revision=9617
2004-06-05 09:35:51 +00:00
Hartmut Birr
3d8820b2b1 - Added the '<>|' key.
svn path=/trunk/; revision=9616
2004-06-05 09:08:58 +00:00
Filip Navara
39ff6d3136 - Fixed calculation of MFT record size.
- Fixed attribute finding/dumping bounds checking.
- Fixed reading of volume information MFT record.
- Disabled debug messages.

svn path=/trunk/; revision=9615
2004-06-05 08:28:37 +00:00
Filip Navara
70dfb7876f Merged changes from joliet_20040527 branch:
- Experimental Joliet generating support.
- Fixed cdname_exists to check only entries in specific directory.
- Move the DIRECTORY_FLAG logic to parse_filename_into_dirrecord.

svn path=/trunk/; revision=9614
2004-06-04 23:50:15 +00:00
Filip Navara
b820cca03e - Process the "DelReg" section in .inf files.
svn path=/trunk/; revision=9613
2004-06-04 23:47:04 +00:00
Filip Navara
fe2abd0550 - Support expanding environment variables in the setup command line.
svn path=/trunk/; revision=9612
2004-06-04 23:46:02 +00:00
Filip Navara
a880f2ee82 - Basic Live CD building infrastructure.
svn path=/trunk/; revision=9611
2004-06-04 23:44:27 +00:00
Thomas Bluemel
320eabb37f added missing cvsignore file
svn path=/trunk/; revision=9610
2004-06-04 13:49:15 +00:00
Thomas Bluemel
4358005fe4 fixed wrong directory for kbddv. Thanks to ai2097.
svn path=/trunk/; revision=9609
2004-06-04 13:30:27 +00:00
KJK::Hyperion
8a4f16c276 Fixed compilation in environments where the native non-local goto isn't available
svn path=/trunk/; revision=9608
2004-06-04 00:49:40 +00:00
KJK::Hyperion
31af77a32a Setjmp has one argument and returns zero
svn path=/trunk/; revision=9607
2004-06-04 00:47:47 +00:00
KJK::Hyperion
6312f5152f "Using multiple compilers is good for your code", chapter umpteenth: removing the SEH library test (until I have a better example) because it made some non-portable assumptions about the stack layout (could cause STATUS_INVALID_UNWIND_TARGET exceptions with some compilers and full optimization)
svn path=/trunk/; revision=9606
2004-06-03 22:30:22 +00:00
KJK::Hyperion
f739268bbb Fixes for Borland C++ compilation, and one variable is now qualified "volatile" to disable dangerous optimizations
svn path=/trunk/; revision=9603
2004-06-03 22:19:10 +00:00
Eric Kohl
df6802c1fd Add US-Dvorak keyboard layout and enable swedish keyboard layout.
Patch by ai2097.
This fixes bug #329.

svn path=/trunk/; revision=9602
2004-06-03 11:20:10 +00:00
KJK::Hyperion
1d286fa480 Small test case for the SEH library
svn path=/trunk/; revision=9601
2004-06-03 04:15:40 +00:00
KJK::Hyperion
6ce11dc878 Small fixes to the SEH library
svn path=/trunk/; revision=9600
2004-06-03 04:14:07 +00:00
KJK::Hyperion
cb341561af Corrected a stupid mistake
Modified the build system to make kernel-mode components use the SEH library's built-in setjmp/longjmp

svn path=/trunk/; revision=9599
2004-06-03 03:09:01 +00:00
KJK::Hyperion
ce86f5b576 Final touches to the SEH library: now comes with a very basic setjmp/longjmp implementation for when the compiler's native one can't be used
svn path=/trunk/; revision=9598
2004-06-03 02:23:34 +00:00
Eric Kohl
ecc193a6f0 Revert useless changes.
svn path=/trunk/; revision=9597
2004-06-02 22:19:54 +00:00
Eric Kohl
f472268186 Set selected keyboard layout and install language.
svn path=/trunk/; revision=9596
2004-06-02 22:18:06 +00:00
Eric Kohl
d311d3a57f Keep zero-initialized varaibles in the .data section.
svn path=/trunk/; revision=9595
2004-06-02 20:37:46 +00:00
Hartmut Birr
e0027b1777 - Fixed the searching for boot load drivers. This solves the pci driver loading problem.
svn path=/trunk/; revision=9594
2004-06-02 20:30:56 +00:00
Hartmut Birr
26916eed77 - Fixed the makefiles for the build on windows.
svn path=/trunk/; revision=9593
2004-06-02 20:26:08 +00:00
KJK::Hyperion
739c9c2b0a Added license text (MIT license) to the SEH library, added the header files
svn path=/trunk/; revision=9592
2004-06-02 19:22:06 +00:00
KJK::Hyperion
a8943a8c91 SEH library
svn path=/trunk/; revision=9591
2004-06-02 18:36:55 +00:00
Gé van Geldorp
07320b09dd Patch by Pablo Borobia <pablog7@argentina.com>
Work on clipboard.

svn path=/trunk/; revision=9590
2004-06-02 18:29:21 +00:00
Gé van Geldorp
08108f008e Patch by Pablo Borobia <pablog7@argentina.com>
Correct search path for DLL loading (including directory from which .exe
was loaded).

svn path=/trunk/; revision=9589
2004-06-02 18:26:58 +00:00
KJK::Hyperion
3a1705b0b1 Changed the build system to treat nasm as a first-class citizen, making it produce output in the correct format (Microsoft COFF) and cleaning up some bit rot (unused makefile variables, different conventions from the rest of the build system, etc.)
svn path=/trunk/; revision=9588
2004-06-02 18:24:09 +00:00
Royce Mitchell III
5053990958 change to zoomin Makefile to get it compiling, and enable touch, genguid, zoomin, winemine, kill, tcat, and tlist - patch by Travis Snoozy <ai2097@yahoo.com>
svn path=/trunk/; revision=9587
2004-06-02 02:27:04 +00:00
Steven Edwards
08ff887056 revert to 1.3. I didnt mean to commit that
svn path=/trunk/; revision=9586
2004-06-01 19:08:53 +00:00
Steven Edwards
73888a7753 add tgetopt to the list of static libs
svn path=/trunk/; revision=9585
2004-06-01 19:06:50 +00:00
Eric Kohl
f95308afa8 For some strange reason IniFileSectionListHead is not initialized correctly.
Intialize it maually in order to prevent access violations.

svn path=/trunk/; revision=9584
2004-06-01 11:12:59 +00:00
Aleksey Bragin
361a0a9bb7 Patch 257 in bugzilla: "Import Regedit translations from WINE.
Existing resource 'About' from WINE has been removed
since ReactOS already has it."

svn path=/trunk/; revision=9583
2004-06-01 10:20:24 +00:00
Gunnar Dalsnes
8448faa277 moved the safe mem copy routines
svn path=/trunk/; revision=9582
2004-06-01 10:16:26 +00:00
Steven Edwards
05b4d3fb1d Add regsvr32
Travis Snoozy <ai2097@yahoo.com>

svn path=/trunk/; revision=9580
2004-06-01 01:46:51 +00:00
Steven Edwards
56481cd659 Make the freeldr build system more like the reactos module
build system. (top level rules.mak, etc....)

Travis Snoozy <ai2097@yahoo.com>

svn path=/trunk/; revision=9579
2004-06-01 01:21:07 +00:00
Steven Edwards
7aeeda0f3c Fix building and use W32API
Travis Snoozy <ai2097@yahoo.com>

svn path=/trunk/; revision=9578
2004-06-01 01:13:29 +00:00
Steven Edwards
d2a5a8678b change xInterlockedAddLargeStatistic and ExInterlockedCompareExchange64 to be implemented.
svn path=/trunk/; revision=9577
2004-06-01 01:00:25 +00:00
Gunnar Dalsnes
5a9d7b96f4 create rtl for stuff common to ntdll/ntoskrnl
svn path=/trunk/; revision=9576
2004-06-01 00:14:07 +00:00
Gunnar Dalsnes
18fcfd015e removed something i shouldn't have
svn path=/trunk/; revision=9575
2004-05-31 23:37:22 +00:00
Martin Fuchs
dc4726b0da integrate optional SDI mode into main explorer branch
svn path=/trunk/; revision=9574
2004-05-31 22:39:12 +00:00
Filip Navara
48da820991 Merge DDE patch from Wine:
Dmitry Timoshkov <dmitry@codeweavers.com>
    Fix a bug in ShellExecute which called DdeCreateStringHandleW
    with a wrong parameter. Revert previous erroneous fix.

(Fixes return value of DdeQueryString[AW] and error codes)

svn path=/trunk/; revision=9573
2004-05-31 19:52:47 +00:00
Gunnar Dalsnes
381799ee02 create rtl for stuff common to ntdll/ntoskrnl
svn path=/trunk/; revision=9572
2004-05-31 19:51:47 +00:00
Gunnar Dalsnes
3ebfb48eb8 create rtl for stuff common to ntdll/ntoskrnl
svn path=/trunk/; revision=9571
2004-05-31 19:45:16 +00:00
Gunnar Dalsnes
cd5c05ea8b create rtl for stuff common to ntdll/ntoskrnl
svn path=/trunk/; revision=9570
2004-05-31 19:33:59 +00:00
James Tabor
9666870f38 Temp fix for GlobalMemoryStatus, pleas test.
svn path=/trunk/; revision=9569
2004-05-31 16:54:04 +00:00
Casper Hornstrup
0d5d9a4b7d 2004-05-31 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/reactos/version.h (KERNEL_VERSION_BUILD_TYPE): Replace possible
	value FINAL with RELEASE.

svn path=/trunk/; revision=9568
2004-05-31 12:21:24 +00:00
Gé van Geldorp
6855f27251 Temporarily undo KeAttachProcess() done by win32k
svn path=/trunk/; revision=9567
2004-05-31 11:47:05 +00:00
Eric Kohl
f9375c3f90 Add more processor information.
Patch by Christoph_vW. Fixes bug #321.

svn path=/trunk/; revision=9566
2004-05-31 11:41:14 +00:00
Thomas Bluemel
481600afb3 changed a string
svn path=/trunk/; revision=9565
2004-05-31 08:45:46 +00:00
Filip Navara
58211be6c8 - Write the system boot device and start options to registry, also create the MiniNT registry key if needed.
svn path=/trunk/; revision=9564
2004-05-30 21:40:47 +00:00
Filip Navara
c5cd2328e8 - Implementation of IoQueryDeviceDescription. Patch by Alex Ionescu.
svn path=/trunk/; revision=9563
2004-05-30 18:30:03 +00:00
Eric Kohl
9c2056bb25 Read device settings from txtsetup.sif.
svn path=/trunk/; revision=9562
2004-05-30 14:54:02 +00:00
Jason Filby
e4bd8fff85 Prevent unnecessary code where count is zero in NtGdiExtTextOut
svn path=/trunk/; revision=9561
2004-05-30 14:51:45 +00:00
Thomas Bluemel
56099c14d4 little GDI speed improvements
svn path=/trunk/; revision=9560
2004-05-30 14:01:13 +00:00
Eric Kohl
2e86c2a5bc Add device settings information.
svn path=/trunk/; revision=9559
2004-05-30 13:03:04 +00:00
Hartmut Birr
02c974661f - Fixed a wrong address in MmAlterViewAttributes which possible does cause a crash if the region is longer than one page.
svn path=/trunk/; revision=9558
2004-05-30 12:55:11 +00:00
Filip Navara
4bbc945c9c - Fixed some NULL-terminating issues that caused the 'videoprt.sys???????????????' module name problem.
svn path=/trunk/; revision=9557
2004-05-30 11:47:43 +00:00
Hartmut Birr
9fa3a2fdb7 - Print the memory map at start up to the debug port.
svn path=/trunk/; revision=9556
2004-05-29 22:10:05 +00:00
Hartmut Birr
d73db829fa - Moved the definition of all dll base addresses to baseaddress.cfg.
svn path=/trunk/; revision=9555
2004-05-29 21:55:09 +00:00
Filip Navara
55532b15d9 - When checking for ReactOS cd-rom, in addition to 'reactos/ntoskrnl.exe' check also for 'reactos/system32/ntoskrnl.exe'.
svn path=/trunk/; revision=9554
2004-05-29 21:28:28 +00:00
Hartmut Birr
716bbd44ba - Moved the definition of all dll base addresses to baseaddress.cfg.
svn path=/trunk/; revision=9553
2004-05-29 21:24:48 +00:00
Filip Navara
ceb8aca194 - Fix the "use of cast expressions as lvalues is deprecated" warning.
svn path=/trunk/; revision=9552
2004-05-29 21:21:06 +00:00
Filip Navara
9136088529 - Fixed DPRINTs.
- Added support for including other .inf files while building the standard hives.

svn path=/trunk/; revision=9551
2004-05-29 21:15:58 +00:00
Art Yerkes
dd2e0b0978 Added csq to build.
svn path=/trunk/; revision=9548
2004-05-29 17:00:41 +00:00
Filip Navara
8900df33c8 - Changed font substitution: MS Sans Serif -> Bitstream Vera Sans.
svn path=/trunk/; revision=9547
2004-05-29 15:53:56 +00:00
Filip Navara
45d5d0cea1 - Correctly initialize the startup info in WinExec.
svn path=/trunk/; revision=9546
2004-05-29 15:10:28 +00:00
Filip Navara
4faf15614f - Prepend "\\??\" to the file name in NtGdiAddFontResource.
svn path=/trunk/; revision=9545
2004-05-29 15:10:27 +00:00
Filip Navara
1aeb737c6b - Fixed unicode string copying bug in NtGdiAddFontResource.
svn path=/trunk/; revision=9544
2004-05-29 13:12:08 +00:00
Filip Navara
b94f2fca33 - Fixed declaration of IMAGE_EXPORT_DIRECTORY structure.
svn path=/trunk/; revision=9543
2004-05-29 11:58:16 +00:00
Filip Navara
206a67a937 - The last parameter of NtReadVirtualMemory should be optional.
svn path=/trunk/; revision=9542
2004-05-29 11:53:43 +00:00
Filip Navara
206298fe27 - RaiseException should pass the exception parameters even if the exception is non-continuable.
svn path=/trunk/; revision=9541
2004-05-29 11:51:33 +00:00
Art Yerkes
0f0b33c44c NdisQueryPacketLength -- Based in an obvious way on a similar macro.
svn path=/trunk/; revision=9539
2004-05-29 10:45:26 +00:00
Art Yerkes
05769811b4 Fixes for gcc-3.4.0 (pasting the __FUNCTION__ constant with a string)
and cast lvalue (reported by thomas weidenmueller)

svn path=/trunk/; revision=9537
2004-05-29 09:59:25 +00:00
Steven Edwards
76fea742f0 moved oskittcp as it is a driver lib.
svn path=/trunk/; revision=9529
2004-05-29 00:56:56 +00:00
Steven Edwards
d31c888e86 moved oskittcp as it is a driver lib.
svn path=/trunk/; revision=9527
2004-05-29 00:16:39 +00:00
Gé van Geldorp
683ba367cc Clean up calls from win32k to csrss
svn path=/trunk/; revision=9526
2004-05-28 21:33:41 +00:00
Royce Mitchell III
63fc502d5a put version information where it's supposed to go - thanks to Ge
svn path=/trunk/; revision=9525
2004-05-28 21:21:06 +00:00
Filip Navara
f1b0bedbad - Revert the PS/2 timeouts to the old values.
svn path=/trunk/; revision=9524
2004-05-28 21:17:42 +00:00
Royce Mitchell III
7440bee0cf reactos-specific debugging functions KeRosDumpStackFrames and KeRosPrintAddress
svn path=/trunk/; revision=9523
2004-05-28 21:16:27 +00:00
Royce Mitchell III
2e294f5461 OS version information - patch by Christoph von Wittich
svn path=/trunk/; revision=9522
2004-05-28 19:58:30 +00:00
Gé van Geldorp
69f3448639 Turn net/netstat and net/ipconfig back on again, since the build problems
were solved

svn path=/trunk/; revision=9521
2004-05-28 18:30:22 +00:00
Gé van Geldorp
137743321e Don't redefine WINAPI. Spotted by Travis Snoozy <ai2097@yahoo.com>
svn path=/trunk/; revision=9520
2004-05-28 18:25:05 +00:00
Steven Edwards
942d157b7a Remove dummy WINAPI define
svn path=/trunk/; revision=9519
2004-05-28 18:21:18 +00:00
Steven Edwards
663c447ca6 cleanup of the SDK and disable use of the old WINE tree.
Travis Snoozy <ai2097@yahoo.com>

svn path=/trunk/; revision=9518
2004-05-28 18:18:43 +00:00
Gé van Geldorp
26beb80a11 Add rule for generating .i (preprocessed) files from .c files
svn path=/trunk/; revision=9517
2004-05-28 18:16:46 +00:00
Royce Mitchell III
11f4efc511 upgrading user32 test to Wine-20040527 - disabled a test in the 'msg' test because it fails on XP SP1.
svn path=/trunk/; revision=9516
2004-05-28 17:56:17 +00:00
Royce Mitchell III
b9b553dbf6 added constants needed by wine's "user32 msg" test
svn path=/trunk/; revision=9515
2004-05-28 14:31:49 +00:00
Thomas Bluemel
004720f1a6 fixed typo
svn path=/trunk/; revision=9514
2004-05-28 13:23:24 +00:00
Thomas Bluemel
336746ec95 1. properly check parameters in SetFilePointer(Ex)()
2. fixed several functions to fail if dealing with console handles

svn path=/trunk/; revision=9513
2004-05-28 13:17:32 +00:00
Eric Kohl
938ede25cd - Implement a generic selection list.
- Use selection list in device settings pages.

svn path=/trunk/; revision=9512
2004-05-28 12:14:00 +00:00
Royce Mitchell III
69a06d8f31 added CS_DROPSHADOW, needed by latest version of wine's user32 test app
svn path=/trunk/; revision=9511
2004-05-28 03:43:12 +00:00
Mark Tempel
bd2990f457 removed programs that link to iphlpapi till exports are worked out.
svn path=/trunk/; revision=9510
2004-05-28 02:32:43 +00:00
Thomas Bluemel
d7b5932acd fixed filename in include statement and added some debug prints for stubs
svn path=/trunk/; revision=9508
2004-05-27 14:50:17 +00:00
Royce Mitchell III
961036b735 eliminate unnecessary multiplications in the inner loops of DIB_1BPP_BitBltSrcCopy_From1BPP
svn path=/trunk/; revision=9507
2004-05-27 12:35:23 +00:00
Hartmut Birr
6e3bbc606d - Don't change the environment block if the number of variables has not changed (in BlockEnvToEnviron).
- Use a copy of the environment strings (in BlockEnvToEnviron).

svn path=/trunk/; revision=9506
2004-05-27 11:49:48 +00:00
Thomas Bluemel
94c04c2051 fixed missing class dereferencings and store a list of windows in the class object
svn path=/trunk/; revision=9505
2004-05-27 11:47:42 +00:00
Filip Navara
ae85951413 - New font substitution: MS Sans Serif -> Bitstream Vera Serif
svn path=/trunk/; revision=9504
2004-05-26 21:47:07 +00:00
Eric Kohl
43836af86c - Implement dummy device settings pages.
- Hide the cursor at startup.

svn path=/trunk/; revision=9503
2004-05-26 20:58:37 +00:00
Aleksey Bragin
ac9cb4c5a6 Fix warnings by vandread.
svn path=/trunk/; revision=9502
2004-05-26 20:37:25 +00:00
Filip Navara
5141945b57 - Return success for SystemFileCacheInformation requests to NtQuerySystemInformation, so we can see some information in the Task Manager.
svn path=/trunk/; revision=9501
2004-05-26 19:56:35 +00:00
Filip Navara
72afcc3bb8 - Fixed the third passed parameter to NtSetInformationThread call in ImpersonateLoggedOnUser.
svn path=/trunk/; revision=9500
2004-05-26 19:53:48 +00:00
Thomas Bluemel
cb1ea2ade7 selecting a new clipping region into a dc doesn't return the previous clipping region handle
svn path=/trunk/; revision=9499
2004-05-26 18:59:21 +00:00
Thomas Bluemel
6248b04e6f fixed returning uninitialized variable in NtGdiSelectVisRgn() and NtGdiExtSelectClipRgn()
svn path=/trunk/; revision=9498
2004-05-26 18:49:06 +00:00
Eric Kohl
8158fc02d0 Append two newlines to the "Press any key to boot form CD....." string.
svn path=/trunk/; revision=9497
2004-05-26 10:58:29 +00:00
Thomas Bluemel
d7d7bbef13 added stubs for SetFileSecurityW(), GetNamedSecurityInfoA/W() and SetNamedSecurityInfoA/W()
svn path=/trunk/; revision=9496
2004-05-26 09:50:10 +00:00
Filip Navara
0fc5792047 - Set CurrentThread->u1.ExitTime to exit time in PsTerminateCurrentThread. Patch by Alex Ionescu.
svn path=/trunk/; revision=9495
2004-05-25 22:03:48 +00:00
Filip Navara
d35144407f - Enabled the 'Press any key to boot from CD' message in the ISO
boot code and show it only when some hard disk is present.
- Adjusted detection timeouts for PS/2 and RS232 to the minimum
  allowed by the specifications so we don't spend ages in hardware detection.
- Experimental NTFS reading support. (No boot code, no attribute lists, no decompression)

svn path=/trunk/; revision=9494
2004-05-25 21:47:39 +00:00
Filip Navara
470210fb06 - Enabled the 'Press any key to boot from CD' message in the ISO
boot code and show it only when some hard disk is present.
- Adjusted detection timeouts for PS/2 and RS232 to the minimum
  allowed by the specifications so we don't spend ages in hardware detection.
- Experimental NTFS reading support. (No boot code, no attribute lists, no decompression)

svn path=/trunk/; revision=9493
2004-05-25 21:31:27 +00:00
Filip Navara
5a22e5bcf0 - Fixed definition of assert macro.
- Fixed few DPRINTs to compile.
- Handle OF_CREATE flag of OpenFile.

svn path=/trunk/; revision=9492
2004-05-25 20:04:14 +00:00
Aleksey Bragin
f11893f56e Sample man files
svn path=/trunk/; revision=9491
2004-05-25 18:50:54 +00:00
Aleksey Bragin
0f711c642b New version of man by Semyon Novikov. Manual pages should be located in c:\\man for now, later it will be enhanced to environment variable.
I have changed the makefile so it is compatible with ReactOS, and compiles just by running 'make'. There are some warnings also, but I didn't have time to fix them.

svn path=/trunk/; revision=9490
2004-05-25 18:49:04 +00:00
Filip Navara
7a98b74d8b - Run Task Manager when CTRL-ALT-DEL is pressed.
svn path=/trunk/; revision=9489
2004-05-25 15:53:16 +00:00
Filip Navara
6368fbd7a8 - Support for window-less hotkeys.
- Send hotkeys even if there's no focus window.

svn path=/trunk/; revision=9488
2004-05-25 15:52:45 +00:00
Hartmut Birr
e58206820b - Implemented ScsiPortGetPhysicalAddress also for addresses from sense info buffer.
- Allocated the sense info buffer within contiguous physical memory.
- Don't send an sence request after an error if the miniport driver is autosense-capable.

svn path=/trunk/; revision=9487
2004-05-24 20:33:41 +00:00
Eric Kohl
b718b8e348 Implement kernel-mode range lists.
Install target must not rebuild executables.

svn path=/trunk/; revision=9486
2004-05-24 12:08:55 +00:00
Eric Kohl
82a4c658f4 Implement kernel-mode range lists.
svn path=/trunk/; revision=9485
2004-05-24 12:05:54 +00:00
Eric Kohl
47f7ff67c1 Implement RtlInvertRangeList() and RtlMergeRangeList().
svn path=/trunk/; revision=9484
2004-05-24 12:03:24 +00:00
Hartmut Birr
8c86d7049f - Fixed my copy-and-paste bug. Thanks to Royce III.
svn path=/trunk/; revision=9483
2004-05-23 15:49:56 +00:00
Thomas Bluemel
5096908ac7 ignore the hInstance field while searching classes if it's NULL
svn path=/trunk/; revision=9482
2004-05-23 14:04:58 +00:00
Hartmut Birr
924e3b2bea - Don't return a file or allocation size for directories.
svn path=/trunk/; revision=9481
2004-05-23 13:34:32 +00:00
Hartmut Birr
84d6759c0a - Fixed the calculated file attribute in CdfsFileFlagsToAttributes.
svn path=/trunk/; revision=9480
2004-05-23 13:27:26 +00:00
Eric Kohl
fc9d0d4b4d - Implement RtlFindRange().
- Add documentation.

svn path=/trunk/; revision=9479
2004-05-23 11:56:16 +00:00
Thomas Bluemel
27119bd65c fixed typos
svn path=/trunk/; revision=9478
2004-05-23 09:36:47 +00:00
Royce Mitchell III
fffba95c47 remove UNIMPLEMENTED from NtUserIsClipboardFormatAvailable and replace it with a DPRINT1 warning that it is not implemented. This change gets Irfanview working.
svn path=/trunk/; revision=9477
2004-05-23 04:04:10 +00:00
Filip Navara
11a1d291a0 - Disable NtGdiRealizePalette. It has a lot of bugs and really doesn't do any of the work it should do.
svn path=/trunk/; revision=9474
2004-05-22 22:07:42 +00:00
Thomas Bluemel
f2992e0c09 prevent memory leaks if callbacks to usermode never return
svn path=/trunk/; revision=9473
2004-05-22 21:12:15 +00:00
Hartmut Birr
ef7b36dd46 - Do not immediately write the zeroed region to the disk for a cached file.
- Fixed a problem, which does occur if the cluster size is lower than the segment size.

svn path=/trunk/; revision=9472
2004-05-22 18:28:18 +00:00
Thomas Bluemel
d805aabcae silence debug message
svn path=/trunk/; revision=9471
2004-05-22 17:51:08 +00:00
Thomas Bluemel
c6bdf3f977 1. added basic reference counting for message queues
2. fixed memory leak when a thread terminates while dispatching a message
3. wake the sender's thread in case of 2.

svn path=/trunk/; revision=9470
2004-05-22 16:48:50 +00:00
Martin Fuchs
4307e3115e code comments
svn path=/trunk/; revision=9469
2004-05-22 13:18:45 +00:00
Filip Navara
86ada6ab1c - Revert change to VGA register values that I accidently commited.
svn path=/trunk/; revision=9468
2004-05-22 12:23:12 +00:00
Eric Kohl
a197c442b7 Center install wizard.
Don't skip to next page as long as required data have not been entered.

svn path=/trunk/; revision=9467
2004-05-22 12:04:10 +00:00
Thomas Bluemel
dd55a50761 1. reverted my last change to SendMessageTimeout() which was wrong
2. fixed UserGetWindowIcon(), SendMessageTimeout() usually overwrites the result variable, even if it failed!

svn path=/trunk/; revision=9466
2004-05-22 09:22:41 +00:00
Filip Navara
1404258b13 - Remove WinLogon icon, because it's copyrighted by Microsoft.
svn path=/trunk/; revision=9465
2004-05-22 09:10:33 +00:00
Filip Navara
ed16c950dc - Check buffer sizes and color counts for IOCTL_VIDEO_SET_COLOR_REGISTERS request.
svn path=/trunk/; revision=9464
2004-05-22 08:53:26 +00:00
Filip Navara
1c1f4e3945 - Don't delete icons that we got by WM_GETICON or GetClassIcon.
svn path=/trunk/; revision=9463
2004-05-22 08:35:38 +00:00
Thomas Bluemel
4c8d47cc6b fixed SendMessageTimeout() to return the correct result even when it timed out
svn path=/trunk/; revision=9462
2004-05-22 08:27:15 +00:00
Hartmut Birr
a4931b6ee8 - removed an obsolete call to ExAllocatePool in CHECKPOINT
svn path=/trunk/; revision=9461
2004-05-22 08:12:49 +00:00
Art Yerkes
a31ff7a76b I forgot to increase the number of strings loaded from the registry. fixed.
svn path=/trunk/; revision=9460
2004-05-22 02:54:32 +00:00
Art Yerkes
7f1e933e8e Blight pointed out that we didn't have all the registers in js. This fixes
that.

svn path=/trunk/; revision=9459
2004-05-22 02:50:25 +00:00
Art Yerkes
6f17d958c6 Blight pointed out that I was missing some regs from the end of the trap frame.
These are now fixed.

svn path=/trunk/; revision=9458
2004-05-22 01:55:31 +00:00
Filip Navara
17983ae6be - Added support for special value "LiveCD" of SystemPath option
for loading ReactOS. It uses the known boot drive information
  as the boot path.

svn path=/trunk/; revision=9457
2004-05-21 20:29:56 +00:00
Filip Navara
1c9e1c3a8b - Fixed a bug in IsoSearchDirectoryBufferForFile. Compare the offset first, so we don't access invalid memory.
svn path=/trunk/; revision=9456
2004-05-21 20:06:09 +00:00
Filip Navara
ce81c53f81 - End-Of-Line marker at the real end of line shouldn't advance the vertical offset.
svn path=/trunk/; revision=9455
2004-05-21 17:34:24 +00:00
Filip Navara
d76f0c8745 - Support for the End-Of-Line RLE mark.
- Treat the bitmap header field bV5ClrUsed correctly if it's set to zero.

svn path=/trunk/; revision=9454
2004-05-21 17:05:46 +00:00
Thomas Bluemel
08855e847a don't clip moving rectangles to the work area for topmost windows
svn path=/trunk/; revision=9453
2004-05-21 12:46:59 +00:00
Thomas Bluemel
03de8510c2 removed obsolete fields from the W32PROCESS structure
svn path=/trunk/; revision=9452
2004-05-21 10:31:00 +00:00
Thomas Bluemel
4349fe8990 implemented DisableProcessWindowsGhosting() (window ghosting is not yet implemented though)
svn path=/trunk/; revision=9451
2004-05-21 10:09:31 +00:00
Thomas Bluemel
6851738b5a fixed message timeout crash, caused by inserting dispatching messages into the wrong dispatching list
svn path=/trunk/; revision=9450
2004-05-20 21:48:41 +00:00
Thomas Bluemel
c9bec757df fixed handling of caption buttons
svn path=/trunk/; revision=9449
2004-05-20 14:53:14 +00:00
Thomas Bluemel
0cc4a84668 clip to the work area when dragging a window
svn path=/trunk/; revision=9448
2004-05-20 14:34:14 +00:00
Thomas Bluemel
0a242842b2 fixed FillRect() to properly handle system color constants (thanks to Royce for spotting this bug)
svn path=/trunk/; revision=9447
2004-05-20 14:12:21 +00:00
Eric Kohl
f44bcb1cdb Add some security function stubs.
svn path=/trunk/; revision=9446
2004-05-20 12:42:51 +00:00
Hartmut Birr
4a1429bb28 - Do not change the mapping count of a page if the physical address falls
in the range of valid physical memory (in MmMapIoSpace and MmUnmapIoSpace).

svn path=/trunk/; revision=9445
2004-05-20 08:37:21 +00:00
Royce Mitchell III
a7cf6b254f get current HINSTANCE if given NULL in CreateWindowExA&W - fixes bug I found today with my little 'window stresser' app.
svn path=/trunk/; revision=9444
2004-05-20 04:10:01 +00:00
Thomas Bluemel
46d6fe4163 set proper lasterror code in RegisterWindowMessage()
svn path=/trunk/; revision=9443
2004-05-19 19:16:47 +00:00
Thomas Bluemel
23c42995a1 fixed RegisterWindowMessage()
svn path=/trunk/; revision=9442
2004-05-19 19:09:20 +00:00
Thomas Bluemel
1f14756983 attempt to fix handling of timed out sending of messages to be thread-safe
svn path=/trunk/; revision=9441
2004-05-19 18:45:31 +00:00
Thomas Bluemel
90b8b7f3d6 use FASTCALL calling convention for internal routines
svn path=/trunk/; revision=9440
2004-05-18 22:32:48 +00:00
Steven Edwards
0fcdaa8c81 Sylvain Petreolle -
Hacked TGMarltt to work on Windows as well as Linux and ReactOS with FreeType.

svn path=/trunk/; revision=9439
2004-05-18 16:22:49 +00:00
Thomas Bluemel
e765178153 ported CreatePolyPolygonRgn() and CreatePolygonRgn() from wine
svn path=/trunk/; revision=9438
2004-05-18 15:25:25 +00:00
Thomas Bluemel
40c3c7cd37 fixed memory leak
svn path=/trunk/; revision=9437
2004-05-18 14:06:42 +00:00
Thomas Bluemel
7ea71b67f4 safe parameter handling for PolyPolygonRgn() and PolygonRgn(). The actual region calculation for both functions is not yet implemented though!
svn path=/trunk/; revision=9436
2004-05-18 13:57:41 +00:00
Martin Fuchs
4b62bbcaa8 prompt with error messageboxes for problems when reading init files
svn path=/trunk/; revision=9435
2004-05-18 12:38:39 +00:00
Eric Kohl
9c4dd6241a Implement SeQueryAuthenticationIdToken().
Add audit function stubs.

svn path=/trunk/; revision=9434
2004-05-18 12:24:40 +00:00
Martin Fuchs
0cc2f5d9be return more verbose XML parser error messages
svn path=/trunk/; revision=9433
2004-05-18 12:10:36 +00:00
Hartmut Birr
c49f961993 - Do print readable sector numbers in DiskReadLogicalSectors.
svn path=/trunk/; revision=9432
2004-05-17 20:30:55 +00:00
Hartmut Birr
869728e524 - Implemented the printing of 64 bit numbers.
svn path=/trunk/; revision=9431
2004-05-17 20:25:01 +00:00
Hartmut Birr
d462152e6d - Fixed the calculation of the start for a partition within an extended partition.
svn path=/trunk/; revision=9430
2004-05-17 20:20:17 +00:00
Martin Fuchs
3128a0aff7 add missing precomp.h header file
svn path=/trunk/; revision=9429
2004-05-17 19:56:04 +00:00
Gé van Geldorp
8f30493913 Prevent unnecessary relinks when TARGET_REGTESTS = yes
svn path=/trunk/; revision=9428
2004-05-17 19:45:10 +00:00
Steven Edwards
0e7124da95 committed Marlett replacement as binary
svn path=/trunk/; revision=9427
2004-05-17 17:41:08 +00:00
Steven Edwards
0bf4f46ded trying to fix this to be binary
svn path=/trunk/; revision=9426
2004-05-17 17:40:21 +00:00
Steven Edwards
997484141f Untested !!!!
Added Font substition support for Marlett via TGMarlett

svn path=/trunk/; revision=9425
2004-05-17 17:32:19 +00:00
Steven Edwards
6eb086ebc9 added Transgamings Marlett font replacement licensed
under the BSD license.

svn path=/trunk/; revision=9424
2004-05-17 17:30:24 +00:00
Filip Navara
aaa859c4a6 - Fixed Window Class menu handling that I broke with my last patch.
svn path=/trunk/; revision=9423
2004-05-17 16:38:58 +00:00
Eric Kohl
06ed586fb1 Add documentation for some range list functions.
svn path=/trunk/; revision=9422
2004-05-17 13:21:52 +00:00
Eric Kohl
53a3421952 Add range list flags.
svn path=/trunk/; revision=9421
2004-05-17 13:20:05 +00:00
Martin Fuchs
06c03f786a use precompiled headers for VC++ builds
svn path=/trunk/; revision=9420
2004-05-17 13:11:06 +00:00
Filip Navara
fb5e84bd1f - Set Mdl->Process in MmMapLockedPages to current process and back to NULL in MmUnmapLockedPages.
svn path=/trunk/; revision=9419
2004-05-16 22:27:57 +00:00
Filip Navara
caa8f5caae - Don't use object that's already unlocked.
svn path=/trunk/; revision=9418
2004-05-16 19:42:32 +00:00
Filip Navara
eb9fa5b0a5 Window Class handling fixes:
- Corrected styles/names for builtin classes.
- Make NtUserRegisterClassExWOW a bit more like in windows.
- More Windows-like handling of hInstance in RegisterClassEx[AW].
- Very basic work on global vs. local window classes.

svn path=/trunk/; revision=9417
2004-05-16 19:31:09 +00:00
Thomas Bluemel
192d918fb4 fixed missing dereferencing of threads in PostThreadMessage()
svn path=/trunk/; revision=9416
2004-05-16 18:33:40 +00:00
Thomas Bluemel
4bee3087ac fixed dereferencing bug
svn path=/trunk/; revision=9415
2004-05-16 13:57:49 +00:00
Thomas Bluemel
3538785e6a replaced UnsafeIntCreateRectRgnIndirect() and UnsafeIntUnionRectWithRgn() with macros to directly call the appropriate function
svn path=/trunk/; revision=9414
2004-05-16 09:51:27 +00:00
Thomas Bluemel
607ca343e7 fixed typo
svn path=/trunk/; revision=9413
2004-05-15 23:07:11 +00:00
Hartmut Birr
d16209b9dc - Improved the reading and writing of fragmented files.
svn path=/trunk/; revision=9412
2004-05-15 23:00:02 +00:00
Hartmut Birr
189436c3ef - Fixed the implementation of IoBuildPartialMdl.
svn path=/trunk/; revision=9411
2004-05-15 22:51:38 +00:00
Thomas Bluemel
43783f95c5 Anich Gregor: Basic implementation of GetUserObjectInformation() (needed by the nvidia opengl ICD)
svn path=/trunk/; revision=9410
2004-05-15 22:50:04 +00:00
Hartmut Birr
bdd1e9e8c6 - Fixed the implementation of MmMapIoSpace.
svn path=/trunk/; revision=9409
2004-05-15 22:45:51 +00:00
Jason Filby
0dbe70cad7 Eng memory test
svn path=/trunk/; revision=9408
2004-05-15 20:30:19 +00:00
Hartmut Birr
aa82813f06 - Simplified the converting of environment variables.
svn path=/trunk/; revision=9407
2004-05-15 20:25:09 +00:00
Thomas Bluemel
4b6ab2d1c6 removed assertion
svn path=/trunk/; revision=9406
2004-05-15 20:19:20 +00:00
Eric Kohl
c0fb78df09 Implement RtlIsRangeAvailable().
svn path=/trunk/; revision=9405
2004-05-15 19:41:10 +00:00
Eric Kohl
9f5e364685 Add range list status codes.
svn path=/trunk/; revision=9404
2004-05-15 19:39:35 +00:00
Hartmut Birr
fbef35d884 - Fixed the execution of batch files.
svn path=/trunk/; revision=9403
2004-05-15 19:24:59 +00:00
Thomas Bluemel
6387f49323 removed #ifdef (due to wine sync)
svn path=/trunk/; revision=9402
2004-05-15 18:20:26 +00:00
Gé van Geldorp
75cf55e8b3 Test was backwards
svn path=/trunk/; revision=9401
2004-05-15 16:29:55 +00:00
Gé van Geldorp
1805ae9248 ASSERT() was a no-op in win32k, even for debug builds
svn path=/trunk/; revision=9400
2004-05-15 16:17:59 +00:00
Filip Navara
9fa3c615c7 - Fixed cut & paste error in NtGdiGetDIBColorTable and NtGdiSetDIBColorTable.
- Fixed implementation of DIB_MapPaletteColors. It shoud take palette from DC and the index array is of type PUSHORT, not PULONG.

svn path=/trunk/; revision=9399
2004-05-15 15:04:43 +00:00
Eric Kohl
2f7fa4426a Implement range list copy and delete functions.
svn path=/trunk/; revision=9398
2004-05-15 14:26:08 +00:00
Jason Filby
d1d7eaa06b Stub __badioinfo
svn path=/trunk/; revision=9397
2004-05-15 12:56:53 +00:00
Filip Navara
4e81b67c89 - Use NtGdiBitBlt in NtGdiStretchDIBits if source and destination dimensions are equal.
svn path=/trunk/; revision=9396
2004-05-15 11:20:38 +00:00
Thomas Bluemel
39fee6b8c7 combobox popups should be always-on-top
svn path=/trunk/; revision=9395
2004-05-15 10:08:45 +00:00
Filip Navara
bc072fb755 - Recalculate the menu bar size when resizing window.
svn path=/trunk/; revision=9394
2004-05-15 08:53:06 +00:00
Filip Navara
6952a5644f - New implementation of GetDIBColorTable and SetDIBColorTable.
svn path=/trunk/; revision=9393
2004-05-15 08:52:25 +00:00
Gé van Geldorp
1825cf4a15 Only split update region into client and non-client parts if there actually
is something to split

svn path=/trunk/; revision=9392
2004-05-15 08:01:56 +00:00
Gé van Geldorp
5884627fe6 Silence debug messages
svn path=/trunk/; revision=9391
2004-05-15 07:49:05 +00:00
Gé van Geldorp
1c108dfcbd Implement complex clipping for StretchBlt
svn path=/trunk/; revision=9390
2004-05-15 06:54:47 +00:00
Thomas Bluemel
b3b134ecfa changed cursors/icons to use the window station handle table
svn path=/trunk/; revision=9389
2004-05-14 23:57:32 +00:00
Gé van Geldorp
4b8fc8e4e4 Implement complex clipping for StretchBlt
svn path=/trunk/; revision=9388
2004-05-14 22:56:18 +00:00
Filip Navara
0c9315b3dc - Fixed implementation of NtGdiGetNearestColor.
svn path=/trunk/; revision=9387
2004-05-14 22:20:46 +00:00
Filip Navara
759afa4f19 - Define KEBUGCHECK macro to make compiling KJS working again.
svn path=/trunk/; revision=9386
2004-05-14 21:25:08 +00:00
Filip Navara
3221290df2 - Minor corrections to EqualRect and SubtractRect.
svn path=/trunk/; revision=9385
2004-05-14 17:02:40 +00:00
Filip Navara
394e0f648e - NtGdiCreateRectRgn should accept negative width and height. It's supposed to be handled just like in NtGdiSetRectRgn.
svn path=/trunk/; revision=9384
2004-05-14 16:56:48 +00:00
Filip Navara
3f9294eaee - Fix ExtSelectClipRgn and some other clipping functions.
svn path=/trunk/; revision=9383
2004-05-14 16:55:18 +00:00
Filip Navara
1e4d1cd885 - Fix DPRINT.
svn path=/trunk/; revision=9382
2004-05-14 16:50:44 +00:00
Filip Navara
95a2d3b54f - Modify DPRINTs to print window styles in hexadecimal notation.
svn path=/trunk/; revision=9381
2004-05-14 16:50:16 +00:00
Filip Navara
fb5a06a8d1 - Check for the WS_CLIPSIBLINGS flag on the correct window.
svn path=/trunk/; revision=9380
2004-05-14 16:48:47 +00:00
Filip Navara
1f1079ac18 - Don't modify Msg->pt for mouse messages. It's supposed to be always in screen coordinates, not it client coordinates.
svn path=/trunk/; revision=9379
2004-05-14 16:48:04 +00:00
Eric Kohl
4087ebf77f Implement basic range list functions.
svn path=/trunk/; revision=9378
2004-05-14 12:11:52 +00:00
James Tabor
57df925ccb Use updated version of SystemHandleInformation.
svn path=/trunk/; revision=9377
2004-05-14 09:25:41 +00:00
Filip Navara
6ea0fbf3f3 - Implementation of RtlDuplicateUnicodeString.
- Copied implementation of RtlGetVersion from ntoskrnl.
- Stubs for RtlNtPathNameToDosPathName and RtlpEnsureBufferSize. These functions are needed by native Windows DLLs.
- Export RtlRandomEx as a wrapper for RtlRandom.

svn path=/trunk/; revision=9376
2004-05-13 21:01:14 +00:00
Filip Navara
f4b54419c3 - Added missing unlocking of handle table in RtlLookupAtomInAtomTable.
svn path=/trunk/; revision=9375
2004-05-13 20:48:31 +00:00
Filip Navara
41df8b886e - Make WinPosSearchChildren more readable.
svn path=/trunk/; revision=9374
2004-05-13 20:46:28 +00:00
Filip Navara
63c655e5d1 - Add some stubs needed by native Windows DLLs.
svn path=/trunk/; revision=9373
2004-05-13 20:42:28 +00:00
Filip Navara
81728cf1b8 - Fix common controls subclassing.
svn path=/trunk/; revision=9372
2004-05-13 20:34:24 +00:00
Filip Navara
624300da51 - Report a failure for FindNextFile(NULL) instead of crashing.
svn path=/trunk/; revision=9371
2004-05-13 20:32:18 +00:00
Filip Navara
620a45896a - Report failure when function imported by ordinal isn't found.
svn path=/trunk/; revision=9370
2004-05-13 20:30:26 +00:00
Filip Navara
c9b5101395 - Handle more notification messages to prevent "-- %p WM_COMMAND %x unhandled" messages.
svn path=/trunk/; revision=9369
2004-05-13 20:28:58 +00:00
Filip Navara
66a1b30c14 - Add REST_NONLEGACYSHELLMODE policy.
svn path=/trunk/; revision=9368
2004-05-13 20:27:04 +00:00
Filip Navara
3da87fae97 - Don't allow making a window with negative dimensions in WM_WINDOWPOSCHANGING.
svn path=/trunk/; revision=9367
2004-05-13 20:25:50 +00:00
Filip Navara
83c27bebc6 - Force recalulation size of menu items when new item is added.
- Make MDI injected icons working.
- Minor corrections to menu code size handling.

svn path=/trunk/; revision=9366
2004-05-13 20:21:27 +00:00
Filip Navara
5c60bbb820 - Define RB_GETBANDMARGINS and RB_SETWINDOWTHEME.
svn path=/trunk/; revision=9365
2004-05-13 20:17:12 +00:00
Filip Navara
08358fce51 - Don't pass garbage to RtlQueryAtomInAtomTable. It doesn't like it...
svn path=/trunk/; revision=9364
2004-05-13 20:10:15 +00:00
Steven Edwards
036d02e291 Added .cvsignore for oskittcp
svn path=/trunk/; revision=9363
2004-05-13 20:03:03 +00:00
Jason Filby
58f0550e7b Regression-test enable win32k; patch by Casper Hornstrup
svn path=/trunk/; revision=9362
2004-05-13 19:31:09 +00:00
Jason Filby
6dac2c7d87 Remove unused variable; patch by Casper Hornstrup
svn path=/trunk/; revision=9361
2004-05-13 19:28:57 +00:00
Filip Navara
89ac0e36c9 - Print class name in DPRINT1 in NtUserFindWindowEx.
svn path=/trunk/; revision=9360
2004-05-12 20:45:05 +00:00
Filip Navara
a1c9203ceb - Fixed the WM_SYSCOMMAND with SC_SIZE messages to have correct codes in wParam.
svn path=/trunk/; revision=9359
2004-05-12 20:34:38 +00:00
Thomas Bluemel
f4371386e4 GetWindowInfo() doesn't check the cbSize parameter
svn path=/trunk/; revision=9358
2004-05-12 15:28:01 +00:00
Gé van Geldorp
a218ec6e0b Fix scrollbar controls
svn path=/trunk/; revision=9357
2004-05-12 09:47:16 +00:00
Gé van Geldorp
45ac874e11 Avoid warnings when using gcc 3.4
svn path=/trunk/; revision=9356
2004-05-11 20:52:10 +00:00
Gé van Geldorp
b8c9de400f Fix command line handling (mostly double-quoting stuff)
svn path=/trunk/; revision=9355
2004-05-11 20:44:30 +00:00
Gé van Geldorp
fc1b4d644e Allow caller to continue after NtUserOpenClipboard()
svn path=/trunk/; revision=9353
2004-05-10 23:05:13 +00:00
Filip Navara
71f57b72d4 - Workaround for supporting a reads from pipe after the other end has been closed and data are still available in the buffers.
svn path=/trunk/; revision=9352
2004-05-10 19:58:10 +00:00
Thomas Bluemel
21a782aceb take back changes to window styles, they broke our gui consoles
svn path=/trunk/; revision=9351
2004-05-10 19:23:37 +00:00
Gé van Geldorp
1b645d2622 Avoid warnings when using gcc 3.4
svn path=/trunk/; revision=9350
2004-05-10 18:02:20 +00:00
Gé van Geldorp
2fbb38750c Update to FreeType 2.1.8
svn path=/trunk/; revision=9349
2004-05-10 17:48:36 +00:00
Thomas Bluemel
418b7e53a6 use a common header for most files in win32k to make use of precompiled headers
svn path=/trunk/; revision=9348
2004-05-10 17:07:20 +00:00
Thomas Bluemel
23dcd0a6f2 fixed compiling issues with gcc 3.4
svn path=/trunk/; revision=9347
2004-05-10 13:35:28 +00:00
Thomas Bluemel
32478ebba8 fixed compiling issues with gcc 3.4
svn path=/trunk/; revision=9346
2004-05-10 13:29:59 +00:00
Eric Kohl
dc5862b16e Enable missing EnumDisplayMonitors.
svn path=/trunk/; revision=9345
2004-05-10 12:34:44 +00:00
Gé van Geldorp
eca151dba3 Avoid warnings when using gcc 3.4
svn path=/trunk/; revision=9344
2004-05-10 12:21:22 +00:00
Gé van Geldorp
cf6301c2d6 Avoid warnings when using gcc 3.4
svn path=/trunk/; revision=9343
2004-05-10 11:56:07 +00:00
Gé van Geldorp
a2c82e3283 Avoid collision with compiler generated label
svn path=/trunk/; revision=9342
2004-05-10 11:13:15 +00:00
Gé van Geldorp
7177d62015 Skip leading comment lines
svn path=/trunk/; revision=9341
2004-05-10 10:51:36 +00:00
Thomas Bluemel
37af37614a Royce3: fixed compiling issues with g++
svn path=/trunk/; revision=9340
2004-05-10 07:44:43 +00:00
Hartmut Birr
c1574ff8d1 - Put the event from file object as user event into the irp in IopCloseFile
and IopDeleteFile. This is necessary because the event from fileobject
  isn't set automatically after a close/cleanup call.

svn path=/trunk/; revision=9339
2004-05-09 15:02:07 +00:00
Hartmut Birr
ad49710348 - Set the correct cdb length for the mode sens command in CdromClassCreateDeviceObject.
svn path=/trunk/; revision=9338
2004-05-09 14:50:50 +00:00
Eric Kohl
c2f0a2f385 Support multi-block bins.
svn path=/trunk/; revision=9337
2004-05-09 14:50:09 +00:00
Eric Kohl
f760135f5d - Implement multi-block bins. This removes all existing size limits within the registry.
- Janitorial work.

svn path=/trunk/; revision=9336
2004-05-09 12:23:35 +00:00
Thomas Bluemel
cc056e8bb5 handle WM_SETCUROR messages for the desktop window
svn path=/trunk/; revision=9335
2004-05-08 19:35:32 +00:00
Thomas Bluemel
c12dfa13b6 assign even more styles for overlapped windows
svn path=/trunk/; revision=9334
2004-05-08 16:06:54 +00:00
Gé van Geldorp
066123fa60 Update porting status
svn path=/trunk/; revision=9333
2004-05-08 14:16:09 +00:00
Gé van Geldorp
dd3c643b4d Sync to Wine-20040505:
Francois Gouget <fgouget@codeweavers.com>
- Taking into account wavemap and midimap there can be up to 8 output
  drivers. So increase the size of the MMDrvs array accordingly.
- Skip already loaded drivers before complaining (asserting) that they
  don't fit in the MMDrvs array.
- Make static Unicode strings const.

svn path=/trunk/; revision=9331
2004-05-08 14:07:55 +00:00
Gé van Geldorp
f19704b04f Sync to Wine-20040505:
Francois Gouget <fgouget@free.fr>
- Make Unicode strings 'static const'.
- Assorted spelling fixes.
- Make our ascii strings static const.
- Remove a couple string variables that were used only once and use the
  string literal directly.
- Use named constants instead of magic numbers.
- Remove wszRegSeparator from devenum_private.h since it's neither
  exported by createdevenum.c nor used by anyone else.
Kevin Koltzau <kevin@plop.org>
- Allow UrlCombine to calculate size of required buffer.

svn path=/trunk/; revision=9330
2004-05-08 13:49:05 +00:00
Gé van Geldorp
1b91a499fe Ulrich Czekalla <ulrich@codeweavers.com>
- Delegates messages directly to the edit control window proc instead of
  containing an edit control. Fixes problems with subclassing the
  richedit control.
Francois Gouget <fgouget@free.fr>
- Make Unicode const strings static so they are not copied to the stack
  each time we enter the function.

svn path=/trunk/; revision=9329
2004-05-08 13:41:00 +00:00
Gé van Geldorp
f7a4bc8f45 Sync to Wine-20040505:
Francois Gouget <fgouget@free.fr>
- Make Unicode strings static const.
- Add a stub for StgCreateStorageEx(). Returns
  STG_E_UNIMPLEMENTEDFUNCTION as per MSDN. Fixes an error saving files
  in Word XP.
- Make our ascii strings static const.
  Remove a couple string variables that were used only once and use the
  string literal directly.
Marcus Meissner <marcus@jet.franken.de>
- Fixed strict aliasing issues in dlls/ole32.
- Implemented CoReleaseMarshalData.
- Fixed lvalue casts.
- Fixed strict aliasing issues in dlls/ole32.
Filip Navara <xnavara@volny.cz>
- Get rid of E_UNSPEC non-standard error value.

svn path=/trunk/; revision=9328
2004-05-08 13:32:51 +00:00
Eric Kohl
4c54d1cace Implement recursive deletion of start menu groups and desktop items.
svn path=/trunk/; revision=9327
2004-05-08 13:11:07 +00:00
Thomas Bluemel
b1e6d9458c minor fixes
svn path=/trunk/; revision=9326
2004-05-08 13:06:12 +00:00
Gé van Geldorp
af54a29030 Sync to Wine-20040505:
Mike McCormack <mike@codeweavers.com>
- Implemented WNetEnumCachedPasswords.

svn path=/trunk/; revision=9325
2004-05-08 12:58:08 +00:00
Gé van Geldorp
4e0fa347fa Sync to Wine-20040505:
Pavel Roskin <proski@gnu.org>
- Make the file type combobox non-editable.
Ilya Korniyko <k_ilya@ukr.net>
- Added Ukrainian translations.
Wolfgang Schwotzer <woschwot@gmx.net>
- Update OFN_READONLY flag when closing file dialog.
- Make file dialog support FNERR_BUFFERTOSMALL if buffer too small.
Francois Gouget <fgouget@free.fr>
- Make Unicode strings static const.
- If lpstrTitle is NULL, set it to either 'Open File' or 'Save as'.
- Constify the string constants.
- Make Unicode const strings static so they are not copied to the stack
  each time we enter the function.

svn path=/trunk/; revision=9324
2004-05-08 12:53:14 +00:00
Thomas Bluemel
9c710c79db silence debug messages
svn path=/trunk/; revision=9323
2004-05-08 12:49:34 +00:00
Thomas Bluemel
c862df0add fixed handling of CW_USEDEFAULT with CreateWindow(Ex)()
svn path=/trunk/; revision=9322
2004-05-08 12:42:46 +00:00
Gé van Geldorp
2f07e000b4 Sync to Wine-20040505:
Ilya Korniyko <k_ilya@ukr.net>
- Added Ukrainian translations.
Francois Gouget <fgouget@free.fr>
- Make Unicode strings static const.
- Make our ascii strings static const.
- Remove a couple string variables that were used only once and use the
  string literal directly.
Krzysztof Foltman <kfoltman@portal.onet.pl>
- make monthcal a child of datetime (it was a sibling before, causing
  completely incorrect message flow)
- update monthcal after date change in datetime
- choose different coordinates when DTS_SHOWNONE is not used
- embedded monthcal is now 200 pixels wide
- selecting a day in embedded monthcal updates the datetime and hides
  the monthcal
- changing months/years by clicking month name/year in title bar works
- embedded month calendar is correctly destroyed (it used to stick on
  the screen long after the datetime's container was closed)
- next/prev month don't stick anymore
- min/max ranges initialized to some reasonable values
- fixed some bugs caused by reversed order of arguments of MONTHCAL_CopyTime
- update current month/year after setting current date
- changing months etc doesn't send MCN_SELECT (which could be sent
  only after a particular day was clicked)
- changed (hit && MCHT_CALENDARDATE) to (hit == MCHT_CALENDARDATE)
Huw Davies <huw@codeweavers.com>
- Deleting column zero should only delete the column and not the item
  data.
- Implemented TVS_NOSCROLL.
Maxime Bellenge <maxime.bellenge@laposte.net>
- Add NM_RCLICK notification support for toolbars.
- Fix the size of the listview items in the customize dialog.
- Fix TB_GETSTYLE message to return the style of the toolbar and not the
  style of a button.
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Optimise accessing toolbar style by storing it in the TOOLBAR_INFO
  structure.
- Replace {Get,Set}WindowLong by {Get,Set}WindowLongPtr where
  appropriate.

svn path=/trunk/; revision=9321
2004-05-08 11:41:05 +00:00
Gé van Geldorp
739592deab Patch by tonik <spammed@fromru.com>
GuiConsoleUpdateBitmap ignores the color attribute of the first character in
line, instead it takes the attribute of the last character of the previous line.

svn path=/trunk/; revision=9320
2004-05-08 09:19:53 +00:00
Filip Navara
eb065653f6 - Protect against reads from (and writes to) closed named pipes.
svn path=/trunk/; revision=9319
2004-05-07 12:13:13 +00:00
Eric Kohl
83d8ef34bb Enable the creation of nested desktop and start menu groups.
svn path=/trunk/; revision=9318
2004-05-07 11:18:53 +00:00
Royce Mitchell III
60676825a8 use bugcheck macros where appropriate so users have a better idea of why they crashed.
svn path=/trunk/; revision=9317
2004-05-07 05:12:10 +00:00
Royce Mitchell III
85f77bb306 fixed output from test
svn path=/trunk/; revision=9316
2004-05-07 04:04:10 +00:00
Thomas Bluemel
bcde8100ea fixed GetThreadDesktop() (not fully working yet because it requires a ObFindHandleForObject() implementation in case the requested thread doesn't belong to the calling process)
svn path=/trunk/; revision=9315
2004-05-05 22:47:06 +00:00
Thomas Bluemel
879f672ffe rewrote NtUserBuildHwndList()
svn path=/trunk/; revision=9314
2004-05-05 22:26:04 +00:00
Thomas Bluemel
e8953aae82 properly handle HTTRANSPARENT hittest with mouse messages
svn path=/trunk/; revision=9313
2004-05-05 22:13:17 +00:00
Filip Navara
333e6a58cb - Fixed various problems (hangs/crashes) with connecting, disconnecting and closing named pipes.
svn path=/trunk/; revision=9312
2004-05-05 18:30:16 +00:00
Filip Navara
65093d7a1e - Compile RPCRT4 without debug messages.
svn path=/trunk/; revision=9311
2004-05-05 18:30:13 +00:00
Eric Kohl
233a41e696 Implement AddItemW().
svn path=/trunk/; revision=9310
2004-05-05 15:29:15 +00:00
Thomas Bluemel
34d4fe2efd support the WS_EX_LEFTSCROLLBAR
svn path=/trunk/; revision=9309
2004-05-05 13:58:59 +00:00
Mike Nordell
2ff07f4497 Return reasonably correct result querying a null memory area. Still a TODO left.
svn path=/trunk/; revision=9308
2004-05-05 02:00:01 +00:00
Filip Navara
857e0edb82 - Fix recognition of CALL instruction. Spotted by Anich Gregor.
svn path=/trunk/; revision=9307
2004-05-04 21:16:51 +00:00
James Tabor
311d1ab004 Added Spinlock in ObpGetHandleCountbyHandleTable.
svn path=/trunk/; revision=9306
2004-05-04 20:18:52 +00:00
Filip Navara
4aeca8b2b1 - Remove old RPCRT4.
svn path=/trunk/; revision=9305
2004-05-04 20:12:04 +00:00
Thomas Bluemel
97a1bb9c2e added option -s to silence status output while processing
svn path=/trunk/; revision=9304
2004-05-04 20:10:18 +00:00
Filip Navara
1021b58459 - Merge RPC runtime from Wine.
svn path=/trunk/; revision=9303
2004-05-04 20:10:07 +00:00
Filip Navara
3eb8552cf1 - Remove old RPCRT4.
svn path=/trunk/; revision=9302
2004-05-04 20:03:37 +00:00
Filip Navara
cf6647ab2e - Forgot to commit this file when syncing the kernel32 test.
svn path=/trunk/; revision=9301
2004-05-04 19:55:10 +00:00
Filip Navara
ae6296eb10 - Remove IPHLPAPI headers copied from Wine.
- Add the necessary structures to W32API headers.

svn path=/trunk/; revision=9300
2004-05-04 19:53:14 +00:00
Filip Navara
c789493a59 - Updated kernel32 test to Wine-20040504.
svn path=/trunk/; revision=9299
2004-05-04 17:25:19 +00:00
Eric Kohl
57aa128d43 Implement DeleteItemW().
svn path=/trunk/; revision=9298
2004-05-04 13:11:22 +00:00
Gé van Geldorp
a02cf9bbfb Implement GetMenuItemInfoA/W
svn path=/trunk/; revision=9297
2004-05-03 22:16:09 +00:00
Filip Navara
73812409b4 - Implementation of IOCTL_VIDEO_QUERY_CURRENT_MODE. Based on patch by Herv� Poussineau.
svn path=/trunk/; revision=9296
2004-05-03 17:15:14 +00:00
Thomas Bluemel
99282d8160 forgot to remove some temporary debug output
svn path=/trunk/; revision=9295
2004-05-03 17:12:27 +00:00
Thomas Bluemel
69e19de407 cleanup of the unicode mess (im)ported from wine
svn path=/trunk/; revision=9294
2004-05-03 16:59:59 +00:00
Steven Edwards
2bde1ad87b removed WINE from list of EXTERNALS, disabled building psx and os2 subsystem from externals for the time being.
svn path=/trunk/; revision=9293
2004-05-03 15:29:01 +00:00
Thomas Bluemel
eae24c4093 implemented LoadModule()
svn path=/trunk/; revision=9292
2004-05-03 14:34:44 +00:00
Eric Kohl
03cfc7943a - Implement DeleteGroup().
- Implement ANSI profile directory functions.

svn path=/trunk/; revision=9291
2004-05-03 12:05:44 +00:00
Hartmut Birr
560afee25c - Don't read the disk informations at boot time from removable medias like zip drives.
This prevents from merging removable disks into the order of partitions from hard disks.

svn path=/trunk/; revision=9289
2004-05-02 22:54:45 +00:00
Hartmut Birr
2440a90d73 - Don't assign arc names to removable media drives like zip drives.
svn path=/trunk/; revision=9288
2004-05-02 22:49:24 +00:00
Gé van Geldorp
8220b586b4 Handle MENUITEMINFOW compiled with _WIN32_WINNT < 0x0500 (MENUITEMINFOW
misses the HBITMAP hbmpItem at the end in that case).

svn path=/trunk/; revision=9287
2004-05-02 21:41:18 +00:00
Mike Nordell
01e86752a1 Make loader tell what module it is relocating (debug)
svn path=/trunk/; revision=9286
2004-05-02 20:53:50 +00:00
Hartmut Birr
7450b416e4 - Fixed checking for a FAT file system on a removable media.
- Check more exactly for a FAT file system.

svn path=/trunk/; revision=9285
2004-05-02 20:16:46 +00:00
Hartmut Birr
38ed29a671 - Check more exactly for a FAT file system.
svn path=/trunk/; revision=9284
2004-05-02 20:12:38 +00:00
Hartmut Birr
a4b7d6a7a5 - Removed old debug code which may crash a user mode application.
svn path=/trunk/; revision=9283
2004-05-02 20:08:29 +00:00
Eric Kohl
00010bb088 Add missing io performance counters.
SystemPerformanceInformation reads io counters.

svn path=/trunk/; revision=9282
2004-05-02 19:34:21 +00:00
Thomas Bluemel
9ea61adcf9 implemented IsWindowInDestroy()
svn path=/trunk/; revision=9281
2004-05-02 17:25:21 +00:00
Thomas Bluemel
b2aa394176 implemented GetThreadLocale() and partly implemented SetThreadLocale()
svn path=/trunk/; revision=9280
2004-05-02 15:47:34 +00:00
Thomas Bluemel
3cc6704954 ported GetBinaryType() from wine
svn path=/trunk/; revision=9279
2004-05-02 14:47:05 +00:00
Art Yerkes
6ec9cfe422 Explanation of the files here.
svn path=/trunk/; revision=9278
2004-05-02 07:36:36 +00:00
Art Yerkes
223730ca41 First rev where a full connect - receive - disconnect cycle worked, although
data wasn't delivered to the client program.  The TCP performed correctly in
handling incoming data, connecting and acknowledging traffic.  Pared down
files to minimum needed.  I'll be able to do more later with the directory
structure, but this is quite workable.

Now working on the rest of the interface to the upper layer.

I'm trying to make this interface as generic as possible so that when IPv6
is added to reactos, there won't have to be too many changes.

svn path=/trunk/; revision=9277
2004-05-02 07:24:43 +00:00
James Tabor
f9df303240 Proper way for counting process handles.
svn path=/trunk/; revision=9275
2004-05-02 04:40:25 +00:00
Gé van Geldorp
f36cfa653a Always reset AUTO_RESIZE flag on exit from REBAR_ForceResize
svn path=/trunk/; revision=9274
2004-05-01 21:22:18 +00:00
Eric Kohl
db2d21de92 Fix Nt/ZwGetTickCount.
svn path=/trunk/; revision=9273
2004-05-01 19:22:49 +00:00
Thomas Bluemel
9c2e9ae15d include welcome.exe on the bootcd
svn path=/trunk/; revision=9272
2004-05-01 19:05:29 +00:00
Mike Nordell
6afc02946b Display module names with the stack trace on unhandled exception (debug)
svn path=/trunk/; revision=9271
2004-05-01 18:09:53 +00:00
Thomas Bluemel
1c49860e46 implemented AnyPopup()
svn path=/trunk/; revision=9270
2004-05-01 18:06:59 +00:00
Mike Nordell
86805ab86a MmQuerySectionView now returns correct AllocationBase (Hartmut Birr)
svn path=/trunk/; revision=9269
2004-05-01 17:11:34 +00:00
Thomas Bluemel
9e1f523308 implemented LockWindowStation() and UnlockWindowStation() (forgot to commit these changes in my previous commit)
svn path=/trunk/; revision=9268
2004-05-01 17:06:55 +00:00
Thomas Bluemel
56ee4446f0 implemented RegisterLogonProcess(), LockWindowStation() and UnlockWindowStation()
svn path=/trunk/; revision=9267
2004-05-01 16:43:15 +00:00
Eric Kohl
346aa0cca2 - Set ALLUSERSPROFILE environment variable upon logon.
- Implement CreateGroup().

svn path=/trunk/; revision=9266
2004-05-01 11:55:38 +00:00
Eric Kohl
58fa3560b2 Add required user shell folder settings.
svn path=/trunk/; revision=9265
2004-05-01 11:53:20 +00:00
Thomas Bluemel
29963dba5d don't use DrawFocusFrame for thin window moving rectangles
svn path=/trunk/; revision=9264
2004-05-01 11:43:52 +00:00
Thomas Bluemel
36599d2a2b fixed DrawFocusRect() to use values from SPI_GETFOCUSBORDERWIDTH/HEIGHT
svn path=/trunk/; revision=9263
2004-05-01 11:38:28 +00:00
Thomas Bluemel
9900ed382e changed SetCursorPos() to use SendInput()
svn path=/trunk/; revision=9262
2004-05-01 09:31:59 +00:00
Gé van Geldorp
d490382a4f Use only LSBit for 1bpp putpixel
svn path=/trunk/; revision=9261
2004-05-01 09:04:37 +00:00
Thomas Bluemel
b4abd1fae0 setup the cursor in the middle of the screen
svn path=/trunk/; revision=9260
2004-05-01 08:55:04 +00:00
Thomas Bluemel
b88aed24cb fix mouse clipping
svn path=/trunk/; revision=9259
2004-05-01 08:47:14 +00:00
Filip Navara
1eeed5accd - Add ASSERT for a palette size.
svn path=/trunk/; revision=9258
2004-05-01 00:51:51 +00:00
Mike Nordell
5b7d8220d3 Make MmQuerySectionView tell how many bytes it actually did set. Fixes VirtualQuery.
svn path=/trunk/; revision=9257
2004-05-01 00:25:41 +00:00
Filip Navara
8b99b4b1c0 - Avoid potencial access violation. Might fix bug #297.
svn path=/trunk/; revision=9256
2004-04-30 23:42:20 +00:00
Thomas Bluemel
c2d319d2d2 use SendInput() to send mouse input data
svn path=/trunk/; revision=9255
2004-04-30 22:18:00 +00:00
Gé van Geldorp
d25a045798 Change bugcheck parameter to easily find out which SESSION5_INITIALIZATION_FAILED
bugcheck occurred

svn path=/trunk/; revision=9254
2004-04-30 20:49:39 +00:00
Steven Edwards
afb4fdb6f1 Remove Visual Mingw. It didnt build anyway,
svn path=/trunk/; revision=9253
2004-04-30 17:56:14 +00:00
Filip Navara
c7eed44a94 CMD Enhancements:
- Fixed UNICODE build.
- Make the DIR /W behave like in Windows.
- Fixed various problems with command input going mad when the screen contents have scrolled.

svn path=/trunk/; revision=9252
2004-04-30 16:52:42 +00:00
Thomas Bluemel
8352c9c082 fixed brush origin
svn path=/trunk/; revision=9251
2004-04-30 14:22:44 +00:00
Gé van Geldorp
db615bc523 Fix TB_GETSTYLE to return the style of the toolbar when wParam is 0.
Spotted by Maxime Belleng� <maxime.bellenge@laposte.net>.
Fixes bug #290.

svn path=/trunk/; revision=9250
2004-04-30 09:55:16 +00:00
Thomas Bluemel
8d041e5355 silence debug message
svn path=/trunk/; revision=9249
2004-04-29 22:42:51 +00:00
Gé van Geldorp
e9a87d53bd Return NULL only in error case
svn path=/trunk/; revision=9248
2004-04-29 21:17:36 +00:00
Gé van Geldorp
edbeb9c88b Implement DDE Execute:
- Do required translations (KernelMode -> UserMode format, ASCII/Unicode)
  in GetMessage
- Call window proc directly from DispatchMessage instead of via callback
- Apply message filter to WM_PAINT and WM_NCPAINT messages
- Implement marshalling of pointer lParams for PostMessage

svn path=/trunk/; revision=9247
2004-04-29 21:13:16 +00:00
Thomas Bluemel
0f0200e106 don't crash if no thread desktop set
svn path=/trunk/; revision=9246
2004-04-29 20:41:03 +00:00
Thomas Bluemel
ddcbbf2e8d implemented keybd_event(), mouse_event(), BlockInput() and SendInput() - the server side however isn't implemented yet
svn path=/trunk/; revision=9245
2004-04-29 20:26:35 +00:00
Filip Navara
ed9f67afe7 - Initialize the serial port to reasonable state after the detection. (Needed by Virtual PC)
svn path=/trunk/; revision=9244
2004-04-29 17:06:21 +00:00
Filip Navara
0419425cb7 - Simplified the mapping of video memory. Now it works in Virtual PC 2004.
svn path=/trunk/; revision=9243
2004-04-29 16:55:37 +00:00
Eric Kohl
4056581a21 Implement AddDesktopItem() and DeleteDesktopItem().
svn path=/trunk/; revision=9242
2004-04-29 14:41:26 +00:00
Mike Nordell
de1dd3b0d4 stop kernel crashing on thread termination
svn path=/trunk/; revision=9240
2004-04-28 23:46:26 +00:00
Hartmut Birr
8111f57e17 - Dereference the idle process in some of the NtQuerySystemInformation functions.
svn path=/trunk/; revision=9239
2004-04-28 20:50:02 +00:00
Hartmut Birr
a0588eb04b - Set the offset for a physical page in MmGetPhysicalAddress.
svn path=/trunk/; revision=9238
2004-04-28 20:46:03 +00:00
Hartmut Birr
3c66806fb0 - Call the DriverStartIo routine at DISPATCH_LEVEL in IoStartPacket.
svn path=/trunk/; revision=9237
2004-04-28 20:42:01 +00:00
Hartmut Birr
e9ee16d561 - Fixed _chmod and _wchmod.
svn path=/trunk/; revision=9236
2004-04-28 20:20:00 +00:00
Filip Navara
47b812dde4 - Simplified handling of palettes selected into device contexts. Now DC->w.hPalette should always point to palette object and shoudn't be NULL.
- Fixed bitfield conversion when creating Color -> Mono XLATEOBJs. Fixes bug #275.

svn path=/trunk/; revision=9235
2004-04-28 18:38:07 +00:00
Aleksey Bragin
3f814d3837 Sorry about that it took so long to commit this file - I was installing a new HDD -> means a new OS installation, etc.
svn path=/trunk/; revision=9234
2004-04-28 12:55:21 +00:00
Jason Filby
de492d049e Followed Casper's advice to use macros to simplify regression tests
svn path=/trunk/; revision=9233
2004-04-27 20:31:32 +00:00
Filip Navara
6cb09490e5 - Fixed line endings and imm32.dll name.
svn path=/trunk/; revision=9232
2004-04-27 20:16:42 +00:00
Jason Filby
17bf83aa38 Second MDL test
svn path=/trunk/; revision=9231
2004-04-27 17:48:52 +00:00
Steven Edwards
855d8095ef Added imm32 and psapi to the CD.
(sorry if this messes up this is the first time I
am doing development from a Linux cross-compile)

svn path=/trunk/; revision=9230
2004-04-26 20:33:13 +00:00
Gunnar Dalsnes
42ad6cb85f make sure temp directory exist
svn path=/trunk/; revision=9229
2004-04-26 20:26:15 +00:00
Gunnar Dalsnes
63bc13d624 fix broken MakeSureDirectoryPathExists. It depended on Wine's
CreateDirectory, which seems to be more relaxed that the ros/Windows
version.

svn path=/trunk/; revision=9228
2004-04-26 20:24:04 +00:00
Gunnar Dalsnes
bdce3452a0 build imagehlp
svn path=/trunk/; revision=9227
2004-04-26 20:20:11 +00:00
Gunnar Dalsnes
68d020f48d make imagehlp import lib
svn path=/trunk/; revision=9226
2004-04-26 20:19:21 +00:00
Thomas Bluemel
be07990679 fixed NtGdiPtVisible()
svn path=/trunk/; revision=9225
2004-04-26 19:58:45 +00:00
Thomas Bluemel
4043538723 fixed hittest calculation
svn path=/trunk/; revision=9224
2004-04-26 17:49:04 +00:00
James Tabor
772e31feb1 Added Process HandleCount information.
svn path=/trunk/; revision=9223
2004-04-26 05:46:35 +00:00
Martin Fuchs
375cb8f522 handle GetDateFormat) failures
(idea by Thomas Weidenmueller)

svn path=/trunk/; revision=9222
2004-04-25 20:22:04 +00:00
Thomas Bluemel
c038032038 implemented GetDCBrushColor(), SetDCBrushColor(), GetDCPenColor() and SetDCPenColor(). they're UNTESTED so far!
svn path=/trunk/; revision=9221
2004-04-25 20:05:30 +00:00
Thomas Bluemel
ffa06b86eb implemented ExtSelectClipRgn() (untested!)
svn path=/trunk/; revision=9220
2004-04-25 16:40:39 +00:00
Thomas Bluemel
d69e5f4dee implemented ExcludeClipRect()
svn path=/trunk/; revision=9219
2004-04-25 16:06:20 +00:00
Thomas Bluemel
6a433d3812 implemented PtVisible()
svn path=/trunk/; revision=9218
2004-04-25 15:52:31 +00:00
Thomas Bluemel
eb9b7d6f5d implemented GetCurrentObject()
svn path=/trunk/; revision=9217
2004-04-25 15:31:43 +00:00
Thomas Bluemel
18d53db81a use "readable" parameter names in functions
svn path=/trunk/; revision=9216
2004-04-25 14:46:54 +00:00
Thomas Bluemel
1cacbc22e0 set proper errorcode in some functions
svn path=/trunk/; revision=9215
2004-04-25 12:51:53 +00:00
Thomas Bluemel
b22facf240 1. implemented hatched brushes
2. fixed memory leak when deleting patterned brushes
3. use brush origin in dib code

svn path=/trunk/; revision=9214
2004-04-25 11:34:13 +00:00
Filip Navara
2dcb05259a - Minor correction to RPC structures.
svn path=/trunk/; revision=9212
2004-04-24 21:35:24 +00:00
Thomas Bluemel
ed71de17e7 proper implementation of FrameRgn() (cannot be ported from wine because wine's implementation is wrong)
svn path=/trunk/; revision=9211
2004-04-24 14:21:37 +00:00
James Tabor
d0983a67cd Set 386 as default cpu type.
svn path=/trunk/; revision=9210
2004-04-24 05:11:54 +00:00
Thomas Bluemel
aeef6123b6 fixed some error cases
svn path=/trunk/; revision=9207
2004-04-23 21:35:59 +00:00
Filip Navara
e7d451e2fd - Correctly swap the Red and Blue colors while setting the palette on non-VGA compatible adapters.
svn path=/trunk/; revision=9206
2004-04-23 20:12:57 +00:00
Filip Navara
4e374dbe4b - Fix the emulation of 'inl' instruction in V86 mode.
svn path=/trunk/; revision=9205
2004-04-23 20:11:11 +00:00
Thomas Bluemel
eabb3b47ad fixed calculation of the non-client-area when WS_BORDER is set
svn path=/trunk/; revision=9204
2004-04-23 19:29:04 +00:00
Hartmut Birr
ac9fc6496a - Initialized the srb on each call to SpiSendInquiry.
svn path=/trunk/; revision=9203
2004-04-23 14:29:07 +00:00
Thomas Bluemel
5ad3f25a47 implemented InvertRgn()
svn path=/trunk/; revision=9202
2004-04-23 13:34:04 +00:00
James Tabor
8ab1cba914 Fixed my mistake in SystemProcessorInformation.
svn path=/trunk/; revision=9201
2004-04-23 06:19:28 +00:00
James Tabor
e20d930ab0 Fixed SystemProcessorInformation.
svn path=/trunk/; revision=9200
2004-04-23 05:37:10 +00:00
James Tabor
87065d0083 Fix return for cpuid.
svn path=/trunk/; revision=9199
2004-04-23 05:34:54 +00:00
James Tabor
8745574fb5 Fix GlobalMemoryStatus & Ex.
svn path=/trunk/; revision=9196
2004-04-22 02:20:52 +00:00
James Tabor
28dfa0ecb7 Implemented new Ros exclusive function SystemFullMemoryInformation.
This is used for suppling virtual user memory usage for GlobalMemoryStatusEx.

svn path=/trunk/; revision=9195
2004-04-22 01:57:49 +00:00
Hartmut Birr
22adb5da88 - Made some flags for the flag value from the FILE structure compatible with the mingw headers.
- Use _IO_LBF instead of _IOLBF, because _IOSTRG and _IOLBF has the same value.

svn path=/trunk/; revision=9194
2004-04-21 21:40:43 +00:00
Gunnar Dalsnes
8a39d95805 temp.workaround: allways free irp
svn path=/trunk/; revision=9191
2004-04-20 23:14:35 +00:00
James Tabor
9acfed6d38 Filip Navara NtGetTickCount implementation.
svn path=/trunk/; revision=9190
2004-04-20 20:39:19 +00:00
Gunnar Dalsnes
03cfbfef0a make mdl usage/impl. more windows compliant
svn path=/trunk/; revision=9189
2004-04-20 19:04:11 +00:00
Gunnar Dalsnes
d169532a77 make mdl impl. more windows compliant
svn path=/trunk/; revision=9188
2004-04-20 18:59:00 +00:00
Jason Filby
87b81bac7c Correct test for MmSizeOfMdl
svn path=/trunk/; revision=9187
2004-04-20 18:52:04 +00:00
Eric Kohl
9e797fd74b Fix typos.
svn path=/trunk/; revision=9186
2004-04-19 10:55:04 +00:00
Eric Kohl
ddaf880002 - Use new userenv.h prototypes.
- Add new dialogs to Czech language for translation.
- Make install wizard code UNICODE aware.

svn path=/trunk/; revision=9185
2004-04-19 10:54:23 +00:00
Eric Kohl
2716e12077 Implement CreateUserProfileA().
svn path=/trunk/; revision=9184
2004-04-19 10:51:17 +00:00
Eric Kohl
0441662dd1 Add private prototypes. Don't contribute them to MinGW!
svn path=/trunk/; revision=9183
2004-04-19 10:50:19 +00:00
Hartmut Birr
4debbe40cc - Fixed the open counter in IntVideoPortDispatchClose.
svn path=/trunk/; revision=9182
2004-04-18 12:59:14 +00:00
James Tabor
331cdb2fcd Add BasePriorty to ProcessBasicInformaion.
svn path=/trunk/; revision=9181
2004-04-18 06:08:36 +00:00
James Tabor
92d947082b Fix Kernel User Timer.
svn path=/trunk/; revision=9177
2004-04-18 00:52:57 +00:00
James Tabor
27b608d040 Fix Kernel User Timer and added ProcessTimes to QueryInformatinProcess
svn path=/trunk/; revision=9176
2004-04-18 00:50:53 +00:00
Thomas Bluemel
b5ae6df350 reverted last change
svn path=/trunk/; revision=9175
2004-04-17 20:23:20 +00:00
Eric Kohl
4845295e63 'Del *.*' ignores directories.
This fixes bug 291.

svn path=/trunk/; revision=9174
2004-04-17 12:01:04 +00:00
Thomas Bluemel
9e9160f508 fixed some scrollbar issues
svn path=/trunk/; revision=9173
2004-04-17 11:00:14 +00:00
Filip Navara
61878c60d2 - Improved RPC headers.
svn path=/trunk/; revision=9170
2004-04-17 07:41:26 +00:00
Gé van Geldorp
b656708fcc Merge back commit from WineHQ
svn path=/trunk/; revision=9169
2004-04-17 07:32:44 +00:00
Filip Navara
b4ff26c3b6 Temporary revert this patch, because it causes a lot of crashes. I sent a message to wine-devel describing the problem.
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Fix subclassing to support nested messages.

svn path=/trunk/; revision=9168
2004-04-16 23:44:19 +00:00
Thomas Bluemel
fb5087e80c fixed missing window dereferences and a minor thread-safety bug
svn path=/trunk/; revision=9167
2004-04-16 21:50:26 +00:00
Filip Navara
b6da18c3a0 Force resize before calling RBN_HEIGHTCHANGE notification.
svn path=/trunk/; revision=9166
2004-04-16 20:52:51 +00:00
Thomas Bluemel
c4bde9bbf1 properly remove mousemove messages
svn path=/trunk/; revision=9165
2004-04-16 18:53:53 +00:00
Eric Kohl
f269c53d06 Clear data buffer before sending the INQUIRY command.
svn path=/trunk/; revision=9164
2004-04-16 13:39:46 +00:00
Eric Kohl
dc45d5f3f3 Implement the GUI setup wizard.
svn path=/trunk/; revision=9163
2004-04-16 13:37:18 +00:00
Gé van Geldorp
956eca91cf Update status of ported DLLs
svn path=/trunk/; revision=9162
2004-04-16 09:13:21 +00:00
Gé van Geldorp
3f429071a7 Sync to Wine-20040408
svn path=/trunk/; revision=9160
2004-04-16 09:11:30 +00:00
Gé van Geldorp
4374bb1685 Sync to Wine-20040408
Eric Pouech <pouech-eric@wanadoo.fr>
- implemented MCI_SOUND command
- fixed MCI command table in resource
- added a TODO list on MCI handling
Christian Costa <titan.costa@wanadoo.fr>
- MCI strings are case insensitive.
- Fixed a returned error value.
- Default to FOURCC_DOS if no IOProc found.

svn path=/trunk/; revision=9159
2004-04-16 09:04:04 +00:00
Gé van Geldorp
36e8261e77 Sync to Wine-20040408:
Alexandre Julliard:
- Added memicmpW.

svn path=/trunk/; revision=9158
2004-04-16 08:58:34 +00:00
Gé van Geldorp
e20e56a546 Sync to Wine-20040408:
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Implement SHMessageBoxCheck functions && add dialog resources.
- Add SHWaitForSendMessageThread, SHAnsiToUnicodeCP,SHStripMneumonicW,
  SHSearchMapInt.
- Make copies of keys when creating, free them when done.
- Use KEY_ALL_ACCESS when writing US reg values.
- SHRegWriteUSValueW: Handle all flag combinations.
- Make some A calls use the W version.
Jose Manuel Ferrer Ortiz <jmfo1982@yahoo.es>
- Updated Spanish translations.
Ulrich Czekalla <ulrich@codeweavers.com>
- Implement FixSlashesAndColonW and add stub for SHGetAppCompatFlags.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
- UrlCanonicalizeW: Remove \r and \n at the end of lpszUrlCpy, with test
  cases.

svn path=/trunk/; revision=9157
2004-04-16 08:47:55 +00:00
Gé van Geldorp
768e79dd1f Sync to Wine-20040408:
Jose Manuel Ferrer Ortiz <jmfo1982@yahoo.es>
- Updated Spanish translations.

svn path=/trunk/; revision=9156
2004-04-16 08:36:17 +00:00
Gé van Geldorp
d32be1b605 Sync to Wine-20040408:
Warren Turkal <wt@midsouth.rr.com>
- Fixed the implementation of CoTreatAsClass.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.

svn path=/trunk/; revision=9155
2004-04-16 08:31:25 +00:00
James Tabor
1954069fed VmWare is having problems with Volatile and Atomic process counters at boot time. Fix later
svn path=/trunk/; revision=9154
2004-04-16 01:28:15 +00:00
Thomas Bluemel
fb6ac7fe65 minor fix
svn path=/trunk/; revision=9153
2004-04-16 01:27:44 +00:00
Thomas Bluemel
8eca059c02 1. move SendMessage calls out of the message queue processing code
2. fixed translation of coordinates calculation in different thread states (capturing, in menus, ...)
3. Proper implementation of Set/GetWindowText/Length() (as described in
4. speed improvements

svn path=/trunk/; revision=9152
2004-04-15 23:36:03 +00:00
Thomas Bluemel
1771d71894 fix linking error
svn path=/trunk/; revision=9151
2004-04-15 18:52:45 +00:00
Thomas Bluemel
2751202062 Masahiro Taguchi - small windowbar sizing fix for WS_EX_TOOLWINDOW
svn path=/trunk/; revision=9150
2004-04-15 11:44:03 +00:00
Gé van Geldorp
b8549e32fa Sync to Wine-20040408:
Juan Lang <juan_lang@yahoo.com>
- implement loading network providers
- implement enumeration functions
- some improved error checking and A->W conversion

svn path=/trunk/; revision=9149
2004-04-15 09:28:04 +00:00
Gé van Geldorp
3d289e8e05 Sync to Wine-20040408:
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Separate US English resources from English ones.
Jose Manuel Ferrer Ortiz <jmfo1982@yahoo.es>
- Updated Spanish translations.
Marcelo Duarte <wine-devel@bol.com.br>
- Minor updates in resource for Portuguese.
Rein Klazes <rklazes@xs4all.nl>
- Fix a possible null pointer crash in FILEDLG95_LOOKIN_Init.

svn path=/trunk/; revision=9148
2004-04-15 08:42:21 +00:00
Gé van Geldorp
5f3c9e9df2 Sync to Wine-20040408:
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Add cursor resource.
- Implement TB_MOVEBUTTON.
- Implement drag customise.
- Send TBN_TOOLBARCHANGE and TBN_DELETINGBUTTON.
- Spelling fixes.
- Fix subclassing to support nested messages.
- Document control completeness.
- Remove unneeded include.
- Fix TEXT define.
- Fix tabs.
- Small optimisation in DrawInsert.
- Fix LButtonDown from previous change.
- Don't use BF_ADJUST flag for dropdown buttons.
- Fix LButtonDblClk.
- Fix SetBitmapSize.
- Fix SetButtonInfo.
- Documentation update.
- Better hot item handling.
- Fix DrawMasked to always use the right image list and bitmap index.
- Document completeness.
- Finish tooltip support.
- Honour WM_SETREDRAW.
- Fix all calls of InvalidateRect.
- Implement TB_LOADIMAGES, TB_MAPACCELERATOR{A,W}, TB_MARKBUTTON and
  undocumented message 0x460.
- Better debug output of undocumented message 0x45D.
- Add support for a toolbar global iListGap.
- Make TOOLBAR_CalcToolbar and TOOLBAR_DrawButton not rely on "magic
  numbers" and calculate sizes and positions more like native.
- Rewrite drawing code.
- TTM_TRACKACTIVATE can have NULL lParam when deactivating.
- Factor out common code from TOOLTIPS_DelTool{A,W}.
- Update all indices correctly after delete.
- Unicode notification detection should be local to each tool.
- Implement TTN_GETDISPINFOW notification.
Alexandre Julliard
- Do not kill the animation thread with TerminateThread, let it finish
  properly.
- Fixed a couple of races with the animation thread.
Juan Lang <juan_lang@yahoo.com>
- Prevent negative coords for line, turn off redraw when initializing,
  document one difference in native/builtin behavior.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Mike McCormack <mike@codeweavers.com>
- Make sure the rebar size is above a minimum.
- Make sure to take account of hidden bands during layout.
- Don't calculate the redundant and unused REBAR_ROW structures.
Filip Navara <xnavara@volny.cz>
- Support for RBBS_HIDETITLE style.
Ulrich Czekalla <ulrich@codeweavers.com>
- Fix rebar band insertion and non-client calculation in pager control.
Huw Davies <huw@codeweavers.com>
- Fix dumb error from rev. 1.158.
- When setting the buddy to 0 then we must still resize the updown
  control.
- Added CS_HREDRAW.
Ge van Geldorp <gvg@reactos.com>
- Explicitly ask for image list with screen depth as ILC_COLOR can/will
  limit the depth to 4bpp now.

svn path=/trunk/; revision=9147
2004-04-15 08:29:57 +00:00
Thomas Bluemel
b5c06d7dbd better handling of invalid strings in IntSafeCopyUnicodeString()
svn path=/trunk/; revision=9146
2004-04-14 23:40:43 +00:00
James Tabor
a746bec6f1 Improved Passive Level kernel and user time counters.
svn path=/trunk/; revision=9145
2004-04-14 23:32:53 +00:00
Thomas Bluemel
9a4b93f87e rewrote NtUserFindWindowEx() so it works as it's supposed to. This function is currently called from FindWindowEx(), however there should be a usermode implementation of FindWindowEx() that sends WM_GETTEXT messages to windows belonging to the caller's process. This is not done and should not be done from the kernel mode version.
svn path=/trunk/; revision=9144
2004-04-14 23:17:56 +00:00
Thomas Bluemel
78b070f6b0 enable a debug message
svn path=/trunk/; revision=9143
2004-04-14 20:18:12 +00:00
Thomas Bluemel
c62a106e0c removed unused variable
svn path=/trunk/; revision=9142
2004-04-14 19:07:14 +00:00
Thomas Bluemel
34ec714d1b treat WM_NCMOUSEMOVE message as WM_MOUSEMOVE messages
svn path=/trunk/; revision=9141
2004-04-14 19:06:02 +00:00
Thomas Bluemel
9816ef1a2b forgot to commit a fix
svn path=/trunk/; revision=9140
2004-04-14 17:35:47 +00:00
Thomas Bluemel
81a46fb20d fixed major bugs in the message queue
svn path=/trunk/; revision=9139
2004-04-14 17:19:38 +00:00
James Tabor
b325c3fecb Need more time to work audit patch
svn path=/trunk/; revision=9138
2004-04-14 17:14:45 +00:00
James Tabor
93a7d0e19d Fix by Marc Schtz.
svn path=/trunk/; revision=9137
2004-04-14 12:17:26 +00:00
James Tabor
7d88f002d2 Implementation of system performance auditing hax.
svn path=/trunk/; revision=9136
2004-04-14 07:11:20 +00:00
Thomas Bluemel
900e819d27 little fix
svn path=/trunk/; revision=9135
2004-04-13 23:25:54 +00:00
Thomas Bluemel
b4472c0848 fixed implementation of ChildWindowFromPointEx()
svn path=/trunk/; revision=9134
2004-04-13 23:12:30 +00:00
Thomas Bluemel
bbd9b3d4a8 added paramter -e to skip and count empty lines
svn path=/trunk/; revision=9133
2004-04-13 21:34:45 +00:00
Martin Fuchs
b1a7c433b7 correct error handling in SHELL32_ParseNextElement()
svn path=/trunk/; revision=9132
2004-04-13 20:55:45 +00:00
Martin Fuchs
23a76b4fa1 return "file not found" error values instead of E_INVALIDARG if _ILCreateFromPathA() failed to find files
svn path=/trunk/; revision=9131
2004-04-13 20:54:05 +00:00
Martin Fuchs
ecef0f56e1 merge Wine commit:
Filip Navara <xnavara@volny.cz>
Get rid of non-standard ERROR_UNKNOWN value. The IShellLink case was
tested, others were replaced with reasonable values.

svn path=/trunk/; revision=9130
2004-04-13 20:50:04 +00:00
Martin Fuchs
df24731574 make drive letters in PIDLs always uppercase to enable PIDL comparison
svn path=/trunk/; revision=9129
2004-04-13 20:47:19 +00:00
Jason Filby
4245c59dc1 Update memory regression test and split MDL tests into new file series
svn path=/trunk/; revision=9128
2004-04-13 20:30:58 +00:00
Martin Fuchs
d6e3263af5 return TRUE for TVM_EXPAND if treeview item is already expanded
svn path=/trunk/; revision=9127
2004-04-13 19:51:44 +00:00
Martin Fuchs
ee28a3ec39 spelling fixes
svn path=/trunk/; revision=9126
2004-04-13 19:23:15 +00:00
Thomas Bluemel
e2cebfc8d6 fixed crashes caused by an invalid pointer
svn path=/trunk/; revision=9125
2004-04-13 18:40:00 +00:00
Thomas Bluemel
2a3a6e1dda directly get the window text when drawing the caption bar
svn path=/trunk/; revision=9124
2004-04-13 17:25:22 +00:00
Thomas Bluemel
fa3672479b properly free unicode string
svn path=/trunk/; revision=9123
2004-04-13 16:55:54 +00:00
Thomas Bluemel
83af90bff4 don't pass ansi strings to win32k!!!!
svn path=/trunk/; revision=9122
2004-04-13 16:48:45 +00:00
Thomas Bluemel
83af3eae1d post focus messages to different threads
svn path=/trunk/; revision=9121
2004-04-13 13:50:31 +00:00
Thomas Bluemel
b9a55f9ce0 fixed memory leak
svn path=/trunk/; revision=9120
2004-04-13 00:06:50 +00:00
KJK::Hyperion
ba45b57272 System call thunk generation made marginally more portable:
- generate real C functions with inline asm. Should fix a problem with cross-compilation on 64-bit hosts
 - store parameter count, not parameter block size in sysfuncs.lst

svn path=/trunk/; revision=9119
2004-04-12 22:07:45 +00:00
James Tabor
b7a5d0ed98 Add Debug header.
svn path=/trunk/; revision=9118
2004-04-12 19:52:36 +00:00
Martin Fuchs
bdf792d41a ShellBrowserChild: jump to addressbar target
svn path=/trunk/; revision=9117
2004-04-12 19:49:12 +00:00
Martin Fuchs
77fbf2134e comments
svn path=/trunk/; revision=9116
2004-04-12 18:07:38 +00:00
Martin Fuchs
ec66d1b6b9 show waitcursor when switching to anotehr dir
svn path=/trunk/; revision=9115
2004-04-12 17:57:44 +00:00
Filip Navara
c93eb9e54e - Reverted my last changed, should go to branch!
svn path=/trunk/; revision=9114
2004-04-12 17:31:01 +00:00
Filip Navara
75a32eddd8 - Reverted my last changed, should go to branch!
svn path=/trunk/; revision=9112
2004-04-12 17:20:47 +00:00
Filip Navara
15d5f5709e - Initial hacky implementation of some SCM calls needed by coLinux.
svn path=/trunk/; revision=9110
2004-04-12 17:14:55 +00:00
Filip Navara
318d9e885e - Return some reasonable values from GlobalMemoryStatusEx.
svn path=/trunk/; revision=9109
2004-04-12 17:09:36 +00:00
Martin Fuchs
f6288bd6e9 immediatelly maximize first MDI child window
svn path=/trunk/; revision=9108
2004-04-12 17:09:04 +00:00
Thomas Bluemel
17b4be229e minor fix
svn path=/trunk/; revision=9107
2004-04-12 16:14:54 +00:00
Thomas Bluemel
ba87b6d902 don't copy files if already present
svn path=/trunk/; revision=9106
2004-04-12 16:09:45 +00:00
Martin Fuchs
6a3ea3a956 - fix Entry::read_tree() and get_next_path_component()
- jump to FileChildWindow's directory when entered in address bar

svn path=/trunk/; revision=9105
2004-04-12 15:58:48 +00:00
Filip Navara
d24371eaec - Remove the hack implemenation of LookupPrivilegeValueW.
- Don't check for load driver privilege yet.
- Don't try to acquire load driver privilege in Services.

svn path=/trunk/; revision=9103
2004-04-12 15:22:53 +00:00
Martin Fuchs
95182ed8f5 remove MB_ERR_INVALID_CHARS flag
svn path=/trunk/; revision=9102
2004-04-12 15:08:14 +00:00
Filip Navara
a885a5c4bc - Minor correction to returned error.
svn path=/trunk/; revision=9101
2004-04-12 14:46:02 +00:00
Thomas Bluemel
83d22245fd make the bitmap look like it's supposed to
svn path=/trunk/; revision=9100
2004-04-12 14:10:50 +00:00
Thomas Bluemel
755a1a820f reverted, my mistake
svn path=/trunk/; revision=9099
2004-04-12 13:13:38 +00:00
Thomas Bluemel
a1240dac2e forgot adding the floppy driver
svn path=/trunk/; revision=9098
2004-04-12 13:10:19 +00:00
Filip Navara
de77cb9e79 - Fixed connection/disconnecting/closing handling, so we don't connect to dead and disconnected pipes.
- Handle the OPEN_EXISTING flag correctly.
- Report reasonable error messages instead of STATUS_UNSUCCESSFUL.

svn path=/trunk/; revision=9097
2004-04-12 13:03:29 +00:00
Thomas Bluemel
d7bba47d07 added some makefiles
svn path=/trunk/; revision=9096
2004-04-12 12:08:53 +00:00
Martin Fuchs
ea01087f9c check in gpl.txt as binary UTF-16 file
svn path=/trunk/; revision=9095
2004-04-12 11:07:54 +00:00
Martin Fuchs
7550de503a remove gpl.txt before adding again with -kb
svn path=/trunk/; revision=9094
2004-04-12 11:07:13 +00:00
Martin Fuchs
bdc459faa9 one more error handling fix for GetTimeFormatA()
svn path=/trunk/; revision=9093
2004-04-12 10:49:48 +00:00
Martin Fuchs
a46eec6cea - RosGetTimeFormat(): replace "if (!cchTime) ; else ..." by "if (cchTime)" and adjust comment
- Kohn Emil Dan <emild@cs.technion.ac.il>:

1) RosGetTimeFormat() has a small bug. The last statement should be
return nPos;
and not
return cchTime;

2) GetTimeFormatA() is not implemented. I have written an implementation
for it, which calls GetTimeFormatW(), and converts the string parameters
back and forth.

(committed with adjustments for correct error handling)

svn path=/trunk/; revision=9092
2004-04-12 10:19:43 +00:00
Filip Navara
03124cf16a - Don't declare DWORDLONG as double!
svn path=/trunk/; revision=9091
2004-04-12 09:50:01 +00:00
Martin Fuchs
387d641ed5 optimize favorites sidebar
svn path=/trunk/; revision=9090
2004-04-12 07:38:17 +00:00
Martin Fuchs
2a1a6cbf85 simplified chinese resources by Larry Li <larry@mimios.com>
svn path=/trunk/; revision=9089
2004-04-12 07:37:08 +00:00
Filip Navara
1ff2de0b1a - Implement LookupPrivilegeValueW.
svn path=/trunk/; revision=9087
2004-04-11 19:21:43 +00:00
Gé van Geldorp
968753f694 Add fastinstall target which copies the files but doesn't rebuild the
registry

svn path=/trunk/; revision=9086
2004-04-11 16:51:56 +00:00
Jason Filby
e2c7015e0a Reenable NDEBUG
svn path=/trunk/; revision=9085
2004-04-11 16:10:05 +00:00
Jason Filby
763fb168d1 AcquireLoadDriverPrivilege() to fix problem with SCM not being able to load drivers. Patch by Filip Navara.
svn path=/trunk/; revision=9084
2004-04-11 16:09:11 +00:00
Jason Filby
f2d2a85374 Two DPRINTs for NtLoadDriver failure cases
svn path=/trunk/; revision=9083
2004-04-11 15:31:21 +00:00
Jason Filby
73cb58e922 Add missing include tchar.h
svn path=/trunk/; revision=9082
2004-04-11 13:39:59 +00:00
Martin Fuchs
e848449f54 correct IShellFolder::GetAttributesOf() for the case *dwAttributes=0
svn path=/trunk/; revision=9081
2004-04-11 13:24:29 +00:00
Gé van Geldorp
45267ce58d Bump version number
svn path=/trunk/; revision=9080
2004-04-11 09:57:18 +00:00
Gé van Geldorp
b17d0f5101 - Implement NULL module case for EngFindImageProcAddress
- Add stubs for EngFindImageProcAddress()able not present yet

svn path=/trunk/; revision=9079
2004-04-11 09:09:38 +00:00
Eric Kohl
eddb2f5168 Implement tape IO functions.
svn path=/trunk/; revision=9078
2004-04-10 23:20:17 +00:00
Gunnar Dalsnes
dbb520a63f indent using astyle v1.15.3: astyle --style=ansi -c -s3 -S --convert-tabs %1
svn path=/trunk/; revision=9077
2004-04-10 22:36:07 +00:00
Martin Fuchs
4a875cac12 awake address bar to life
svn path=/trunk/; revision=9076
2004-04-10 20:31:18 +00:00
Filip Navara
30ed90f0b3 - Fix a stupid bug that prevented writing to pipes from working.
svn path=/trunk/; revision=9075
2004-04-10 16:20:59 +00:00
Eric Kohl
cc1629adc6 Fix TAPE_GET_POSITION and TAPE_SET_POSITION structures.
svn path=/trunk/; revision=9074
2004-04-10 16:05:18 +00:00
Martin Fuchs
35290117a3 adjust for WINE
svn path=/trunk/; revision=9073
2004-04-10 14:15:54 +00:00
Martin Fuchs
fe26854c52 avoid to use return length of RegQueryValueW
svn path=/trunk/; revision=9072
2004-04-10 12:56:18 +00:00
Martin Fuchs
74b7a8a0ca fix toggeling of toolbar windows
svn path=/trunk/; revision=9070
2004-04-10 12:07:11 +00:00
Martin Fuchs
f9cb0ec833 activate web bookmarks in cabinet windows
svn path=/trunk/; revision=9069
2004-04-10 10:12:35 +00:00
Filip Navara
17abe3357c - Implement FindWindowEx for case when ClassName == NULL.
svn path=/trunk/; revision=9068
2004-04-10 07:37:28 +00:00
Filip Navara
d0003f99f5 - Handle the case where no BrushOrigin is given even under EngStretchBlt and EngMaskBitBlt.
svn path=/trunk/; revision=9067
2004-04-10 00:58:14 +00:00
Filip Navara
565d0c19a4 - Remove forgotten DbgPrint.
svn path=/trunk/; revision=9066
2004-04-10 00:54:35 +00:00
Thomas Bluemel
cef28e1bf5 handle the case where no BrushOrigin is given
svn path=/trunk/; revision=9065
2004-04-09 22:27:39 +00:00
Gé van Geldorp
80a373534a Compensate BrushOrigin for translation
svn path=/trunk/; revision=9063
2004-04-09 22:13:26 +00:00
Filip Navara
97635093cd - Commit the correct changes to HEAD.
svn path=/trunk/; revision=9062
2004-04-09 22:00:38 +00:00
Filip Navara
12b4cb63bf - Include "roscfg.h".
svn path=/trunk/; revision=9061
2004-04-09 21:22:18 +00:00
Filip Navara
ca61a750e8 - Fixed DPRINTs.
svn path=/trunk/; revision=9060
2004-04-09 21:01:02 +00:00
Filip Navara
159aae243b Compile Win32k using W32API [Part II]:
- Replace usage of "ntddvid.h" header with "ntddvdeo.h".
- Remove some old and now unused headers.

svn path=/trunk/; revision=9059
2004-04-09 20:39:11 +00:00
Martin Fuchs
4043af4b0b Merge Wine shell32 commit:
Francois Gouget <fgouget@free.fr>
Cleanup the handling of the extension in SHELL_FindExecutable():
- Eliminate the corresponding fixed-size buffer which removes the limitation to 3 character extensions.
- Fix handling of the trailing '.' case.
- Do a case-insensitive check for the extension in win.ini.
  Increase the size of the command buffer to 1024.

svn path=/trunk/; revision=9058
2004-04-09 20:33:45 +00:00
Filip Navara
d05fb60776 Add LPC_MESSAGE_BASE_SIZE definition.
svn path=/trunk/; revision=9057
2004-04-09 20:29:29 +00:00
Martin Fuchs
b165b56577 Merge Wine shell32 commits:
Juan Lang <juan_lang@yahoo.com>
- comment fixes
- improved error checking and conformance with Windows
- remove some spurious error messages
- Move control panel applet enumeration to cpanelfolder.c.
- move CreateMyCompEnumList and CreateDesktopEnumList to their respective files
- rewrite CreateFolderEnumList to only FindFirstFile/FindNextFile once

svn path=/trunk/; revision=9056
2004-04-09 20:24:24 +00:00
Filip Navara
f2e2102f39 Fixed .cvsignore.
svn path=/trunk/; revision=9055
2004-04-09 20:24:13 +00:00
Martin Fuchs
a80aa40a8f fix floating favorites menus
svn path=/trunk/; revision=9054
2004-04-09 20:16:47 +00:00
Filip Navara
31c1c21824 - Compile Win32k, GDI, USER32 and CSRSS using W32API.
svn path=/trunk/; revision=9053
2004-04-09 20:03:21 +00:00
Martin Fuchs
db6bcc0793 remove unused variable
svn path=/trunk/; revision=9052
2004-04-09 19:46:15 +00:00
Martin Fuchs
bd41908243 remove unused variable
svn path=/trunk/; revision=9051
2004-04-09 19:45:37 +00:00
Martin Fuchs
05cab1ebfd replace previous favorites start menu folder implementation by fast FavoritesMenu (using the internal XML bookmark informations)
svn path=/trunk/; revision=9050
2004-04-09 19:42:21 +00:00
Thomas Bluemel
50133e0fad added tool for easy installation of the VMware SVGA driver
svn path=/trunk/; revision=9047
2004-04-09 18:27:11 +00:00
Martin Fuchs
7f72303d64 fix XML formating
svn path=/trunk/; revision=9045
2004-04-09 11:51:37 +00:00
Filip Navara
37bfcac65a - Register the standard control classes in GetClassInfo[Ex][AW] if needed.
svn path=/trunk/; revision=9044
2004-04-08 21:14:21 +00:00
Filip Navara
d7d8c7ba0f - Fix a small bug in RtlUnwind.
svn path=/trunk/; revision=9043
2004-04-08 21:14:18 +00:00
Jason Filby
c7da1f1e6a Correct test of value returned from MmQuerySystemSize
svn path=/trunk/; revision=9042
2004-04-08 20:50:02 +00:00
Jason Filby
80198861f1 Remove a DbgPrint used in testing
svn path=/trunk/; revision=9041
2004-04-08 20:49:15 +00:00
Jason Filby
7b4c7821ec Implement MmIsNonPagedSystemAddressValid as a call to MmIsAddressValid
svn path=/trunk/; revision=9040
2004-04-08 20:27:10 +00:00
Jason Filby
9108d0353a Fix MmIsAddressValid to check if VirtualAddress >= KERNEL_BASE
svn path=/trunk/; revision=9039
2004-04-08 20:05:08 +00:00
Gé van Geldorp
41d4ef6885 Export _wcmdln
svn path=/trunk/; revision=9038
2004-04-08 17:53:30 +00:00
Filip Navara
9f3885512a - Don't bugcheck if FDO wasn't attached.
svn path=/trunk/; revision=9036
2004-04-08 16:01:47 +00:00
Filip Navara
ba54c6c892 - Fixed minor bug in VGA driver.
svn path=/trunk/; revision=9033
2004-04-08 15:45:18 +00:00
Filip Navara
57e1e034b8 - Fixed a typo: 0x31 -> 31
svn path=/trunk/; revision=9032
2004-04-08 15:45:17 +00:00
Gé van Geldorp
9358255f84 HwResetHw can be (and sometimes is) NULL
svn path=/trunk/; revision=9030
2004-04-08 15:36:36 +00:00
Thomas Bluemel
7cb3dcec2c some fixes so it can also be compiled as a unicode app
svn path=/trunk/; revision=9028
2004-04-08 12:47:49 +00:00
Thomas Bluemel
b351485907 some fixes that caused crashes
svn path=/trunk/; revision=9027
2004-04-08 12:25:00 +00:00
Filip Navara
f051684bf8 - Add registry entries for SVGA VBE driver.
- Include the driver on the Boot CD.

svn path=/trunk/; revision=9026
2004-04-08 09:44:26 +00:00
Filip Navara
638280971c - Implement brush origin for 4bpp blits.
svn path=/trunk/; revision=9025
2004-04-08 09:44:21 +00:00
Filip Navara
a7270ad893 - Fixed releasing of display ownership.
svn path=/trunk/; revision=9024
2004-04-08 09:43:55 +00:00
Filip Navara
3cb07b0ba8 - Fixed initalization of VIDEO_HW_INITIALIZATION_DATA, because the Video Port driver now checks the values.
svn path=/trunk/; revision=9023
2004-04-08 09:43:35 +00:00
Thomas Bluemel
7aee09070d fixed clipping bug in TransparentBlt(). Thanks to Filip for fixing it
svn path=/trunk/; revision=9022
2004-04-07 22:17:36 +00:00
Martin Fuchs
f53f1a1b98 better looking bookmark icons
svn path=/trunk/; revision=9021
2004-04-07 22:11:24 +00:00
Thomas Bluemel
0e07c33bcc fixed handling left-over pixels in TransparentBlt()
svn path=/trunk/; revision=9020
2004-04-07 22:09:09 +00:00
Gé van Geldorp
bb60332c70 Fix memory leak, thanks to Thomas for spotting this
svn path=/trunk/; revision=9019
2004-04-07 21:12:40 +00:00
Gé van Geldorp
9edefdbda2 - When SendMessageTimeout times out, the CompletionEvent goes out of scope,
so tell the target thread not to signal it
- Replace message queue hardware lock FAST_MUTEX with KMUTEX so it can
  be recursively acquired

svn path=/trunk/; revision=9018
2004-04-07 21:12:08 +00:00
Martin Fuchs
c3cb9779e3 Merge latest Wine commits:
Juan Lang <juan_lang@yahoo.com>
Use symbolic constants for magic numbers in SHGetFolderPathW, avoid
doing MultiByteToWideChar on values that don't need it,

Juan Lang <juan_lang@yahoo.com>
Rename PT_MYCOMP to PT_GUID, and the corresponding union member from mycomp to guid.

Martin Fuchs <martin-fuchs@gmx.net>
Resolve shell shortcuts and process ID lists in ShellExecute() functions.

Juan Lang <juan_lang@yahoo.com>
- comment fixes
- improved error checking and conformance with Windows
- remove some spurious error messages

svn path=/trunk/; revision=9017
2004-04-07 20:41:31 +00:00
Filip Navara
72776b9bcb - Fixed order of bits in a byte for pattern brushes.
svn path=/trunk/; revision=9016
2004-04-07 20:23:38 +00:00
Filip Navara
578af8b934 - Fixed a small and stupid bug. We were incrementing DestBits by sizeof(ULONG) instead of sizeof(BYTE).
svn path=/trunk/; revision=9015
2004-04-07 20:04:22 +00:00
Filip Navara
5a528bd57a - Lock the surface even for GDI blits in IntEngBitBlt, because it mustn't be simulantously accessed.
svn path=/trunk/; revision=9014
2004-04-07 19:57:43 +00:00
Thomas Bluemel
f38bef7c32 better statistics
svn path=/trunk/; revision=9013
2004-04-07 19:25:27 +00:00
Gé van Geldorp
87a878a82e I should test small changes too before committing... Sorry.
svn path=/trunk/; revision=9012
2004-04-07 18:05:16 +00:00
Gé van Geldorp
335631830d - Pass args to MsqSendMessage in correct order
- Implement message sending to HWND_BROADCAST

svn path=/trunk/; revision=9011
2004-04-07 17:52:32 +00:00
Gé van Geldorp
7885bdaef7 Include netapi32.dll and setupapi.dll in default build/setup
svn path=/trunk/; revision=9010
2004-04-07 17:48:15 +00:00
Gé van Geldorp
7a27e9d3bf CVS maintenance
svn path=/trunk/; revision=9009
2004-04-07 17:45:05 +00:00
Gé van Geldorp
d5bc2e4dc7 Change to __stdcall calling convention
svn path=/trunk/; revision=9008
2004-04-07 17:42:05 +00:00
Thomas Bluemel
d8dd152253 little clean-up
svn path=/trunk/; revision=9007
2004-04-07 16:38:27 +00:00
Thomas Bluemel
54dbe4faf6 little clean-up
svn path=/trunk/; revision=9006
2004-04-07 15:37:50 +00:00
Eric Kohl
586548d926 Fixed crashes that were cause by the changes to the service parameter table.
svn path=/trunk/; revision=9005
2004-04-07 15:35:14 +00:00
Eric Kohl
9334666401 Restore modification.
svn path=/trunk/; revision=9004
2004-04-07 15:33:55 +00:00
Thomas Bluemel
879e613c5d patch reverted because ros crashes ntoskrnl
svn path=/trunk/; revision=9003
2004-04-07 15:02:31 +00:00
Thomas Bluemel
6d228618c2 remove obsolete code
svn path=/trunk/; revision=9002
2004-04-07 14:43:08 +00:00
Thomas Bluemel
45a89e2e7c little fix
svn path=/trunk/; revision=9001
2004-04-07 10:20:23 +00:00
Thomas Bluemel
9b45df9243 1. fixed crash in 1bpp blt code that was caused by an uninitialized variable.
2. speed improvements for patterned brushes

svn path=/trunk/; revision=9000
2004-04-07 10:19:34 +00:00
Hartmut Birr
bfde26a3f6 - Rewrote the code which handles processing of irp's and notifications from miniport driver.
- Implemented support for srb extensions (very simple).

svn path=/trunk/; revision=8999
2004-04-07 09:21:01 +00:00
Gé van Geldorp
c44ac169e6 There can never be a parent/child relationship between windows if one of
them is invalid. Fixes bug #217.

svn path=/trunk/; revision=8998
2004-04-07 08:25:40 +00:00
Thomas Bluemel
4783e5bae8 fixed missing dereferences of threads
svn path=/trunk/; revision=8997
2004-04-07 00:58:05 +00:00
KJK::Hyperion
9c7501f3dd - SSPT elements are 8 bit wide on Windows. Made ReactOS binary compatible in this regard, since this affects a public function (KeAddSystemServiceTable)
- use a function pointer for SSDT elements. Function pointers aren't guaranteed to have the same size as data pointers (and we were using ULONG, anyway)
 - SSPT and SSDT types no longer structures to avoid pesky alignment issues
 - genw32k and genntdll fixed accordingly

svn path=/trunk/; revision=8996
2004-04-07 00:14:05 +00:00
Thomas Bluemel
6701beb03a implemented TransparentBlt() on 8bpp surfaces
svn path=/trunk/; revision=8995
2004-04-06 23:05:36 +00:00
Martin Fuchs
6d0d4f988e fix clock visibility flag
svn path=/trunk/; revision=8994
2004-04-06 22:15:25 +00:00
Thomas Bluemel
95057e2cf7 implemented TransparentBlt() on 16bpp and 24bpp surfaces
svn path=/trunk/; revision=8993
2004-04-06 21:53:48 +00:00
Filip Navara
409aaad5d5 - Fixed some dumb bugs in 1bpp code causing memory corruption.
svn path=/trunk/; revision=8992
2004-04-06 21:19:44 +00:00
Steven Edwards
4466dbbf17 Update the readme a bit.
svn path=/trunk/; revision=8991
2004-04-06 21:04:42 +00:00
Gé van Geldorp
5fd4628dec Silence debug messages
svn path=/trunk/; revision=8990
2004-04-06 20:59:40 +00:00
KJK::Hyperion
39b17f5963 A dummy uxtheme doesn't belong to ReactOS - it should be an external project. UxTheme says bye bye and good luck everyone
svn path=/trunk/; revision=8989
2004-04-06 20:03:17 +00:00
Thomas Bluemel
5424a51107 implemented TransparentBlt() on 32bpp surfaces, but there are still some clipping issues
svn path=/trunk/; revision=8988
2004-04-06 17:54:32 +00:00
Gé van Geldorp
1bc88e0f77 Handle regions in SelectObject()
svn path=/trunk/; revision=8987
2004-04-06 07:43:33 +00:00
Thomas Bluemel
5aae8fca39 clip the moving rectangle to the desktop area. This doesn't work because our SelectObject() implementation doesn't handle regions right atm.
svn path=/trunk/; revision=8986
2004-04-05 22:42:11 +00:00
Thomas Bluemel
0a552285f3 draw patterned focus rectangles
svn path=/trunk/; revision=8985
2004-04-05 22:18:35 +00:00
Thomas Bluemel
bea76aded5 use patterned dragging rectangle
svn path=/trunk/; revision=8984
2004-04-05 22:12:53 +00:00
Filip Navara
9c418442a8 - Removed useless code from ImageList_DrawIndirect, because there
are problems with it in combination with the ReactOS code (propably due to
  XLATEOBJs)

svn path=/trunk/; revision=8983
2004-04-05 21:29:28 +00:00
Thomas Bluemel
aa25fb6d2c disable thread-safety, seems to cause some problems atm
svn path=/trunk/; revision=8982
2004-04-05 21:26:30 +00:00
Filip Navara
ba87a9d7a1 - Changed the internal brush object to be (almost) Win32k compatible.
- Changed Pen implementation to use brushes internally.
- Added support for pattern brushes.
- Fixed 8bpp StretchBlt.
- Fixed 4bpp to 4bpp non-SRCCOPY blits.
- Fixed 1bpp to 1bpp non-SRCCOPY blits to work when the destination doesn't
  start at exact byte.
- Reenabled 55AA brush for scrollbar.
- Fixed BITMAPOBJ_GetWidthBits to do WORD alignment and not DWORD.

svn path=/trunk/; revision=8981
2004-04-05 21:26:25 +00:00
Martin Fuchs
beedced608 merge Wine commits
svn path=/trunk/; revision=8980
2004-04-05 21:19:48 +00:00
Thomas Bluemel
bd69e8d121 little cosmetics...
svn path=/trunk/; revision=8979
2004-04-05 21:15:34 +00:00
Thomas Bluemel
0a205b8bd5 made the DCE list thread-safe
svn path=/trunk/; revision=8978
2004-04-05 20:46:15 +00:00
Filip Navara
c89da97139 - Get the WS_EX_STATICEDGE style working.
- Remove a WS_EX_STATICEDGE hack from Explorer.

svn path=/trunk/; revision=8977
2004-04-05 19:54:11 +00:00
Thomas Bluemel
0c33860003 Fixed a crash caused by requesting a large number of extra class space
svn path=/trunk/; revision=8976
2004-04-05 14:42:30 +00:00
Eric Kohl
c78a2cfb83 Implement 'Edit DWORD' dialog.
svn path=/trunk/; revision=8975
2004-04-05 12:00:11 +00:00
Richard Campbell
7838aa4dc8 reverted change
svn path=/trunk/; revision=8974
2004-04-05 09:16:49 +00:00
Martin Fuchs
26a52566a6 fix imagelist loading
svn path=/trunk/; revision=8973
2004-04-04 23:13:11 +00:00
Thomas Bluemel
987fbb6dc1 accidently committed a temporary file, sorry
svn path=/trunk/; revision=8972
2004-04-04 21:55:56 +00:00
Thomas Bluemel
5f472ff726 created stubs for devmgr.dll (based on lots of guesswork, trial&error and the very little resources on the www)
svn path=/trunk/; revision=8971
2004-04-04 21:49:15 +00:00
Martin Fuchs
0fd11b393a add comments
svn path=/trunk/; revision=8970
2004-04-04 21:05:32 +00:00
Martin Fuchs
9289b59c37 store icon information in metadata nodes
svn path=/trunk/; revision=8969
2004-04-04 20:23:51 +00:00
Martin Fuchs
199ffcb9bc icons and tooltips for bookmarks
svn path=/trunk/; revision=8968
2004-04-04 19:12:55 +00:00
Gé van Geldorp
fad7ce3fb4 Hack to translate Ascii chars 128-255 to Unicode too
svn path=/trunk/; revision=8967
2004-04-04 17:59:23 +00:00
Martin Fuchs
b60d102548 display bookmarks in sidebar
svn path=/trunk/; revision=8966
2004-04-04 17:21:27 +00:00
Gé van Geldorp
9af64d9189 Fix scanline increment for 32bpp stretch blts
svn path=/trunk/; revision=8965
2004-04-04 16:40:05 +00:00
Martin Fuchs
776c1e9696 import IE bookmarks and convert into XBEL format bookmark file
svn path=/trunk/; revision=8964
2004-04-04 16:04:34 +00:00
Gé van Geldorp
4eb5cb108b Honour spacing requested by caller
svn path=/trunk/; revision=8963
2004-04-04 15:28:43 +00:00
Richard Campbell
a20876b230 draw the border around the progress bar...code might not be entirely 'correct', can this border be disabled/hidden?
svn path=/trunk/; revision=8962
2004-04-04 06:46:22 +00:00
Thomas Bluemel
81a05c875c some more work on TransparentBlt() (EngTransparentBlt() is still unimplemented)
svn path=/trunk/; revision=8961
2004-04-03 21:25:20 +00:00
Gé van Geldorp
06ed71caec Most regions (> 95% in testing) consist of only 1 rectangle. Add a single
rectangle buffer to ROSRGNDATA to avoid dynamic memory allocation

svn path=/trunk/; revision=8960
2004-04-03 20:36:56 +00:00
Gé van Geldorp
87ea1d498e Use lookaside lists for better performance
svn path=/trunk/; revision=8959
2004-04-03 20:33:39 +00:00
Eric Kohl
5f3ddeb0c9 Silence a debug message.
svn path=/trunk/; revision=8958
2004-04-03 13:45:00 +00:00
Gé van Geldorp
1f56a63145 Handle lpcbData == NULL case.
svn path=/trunk/; revision=8957
2004-04-03 13:12:43 +00:00
Thomas Bluemel
8e52e23724 partially implemented IsHungAppWindow()
svn path=/trunk/; revision=8956
2004-04-02 23:54:26 +00:00
Thomas Bluemel
bb7b8e638e implemented GetWindowModuleFileName()
svn path=/trunk/; revision=8955
2004-04-02 22:16:09 +00:00
Thomas Bluemel
1c5f3e5775 check parameter in GetWindowInfo()
svn path=/trunk/; revision=8954
2004-04-02 21:03:25 +00:00
Thomas Bluemel
6491031cc2 implemented GetWindowInfo()
svn path=/trunk/; revision=8953
2004-04-02 20:51:08 +00:00
Thomas Bluemel
b8560b708d little fix
svn path=/trunk/; revision=8952
2004-04-02 19:14:44 +00:00
Thomas Bluemel
23e366974c properly initialize system menu items
svn path=/trunk/; revision=8951
2004-04-02 19:00:56 +00:00
Hartmut Birr
eec82162fb - Fixed the initializing of the access ranges.
svn path=/trunk/; revision=8950
2004-04-02 15:43:01 +00:00
Gé van Geldorp
b408a6aeb8 Make popup menus topmost windows
svn path=/trunk/; revision=8949
2004-04-01 23:17:28 +00:00
Gé van Geldorp
81361062a2 Fix interaction between topmost and owner/owned windows
svn path=/trunk/; revision=8948
2004-04-01 23:16:21 +00:00
Martin Fuchs
f2bb2f6dcb remove useless if cases
svn path=/trunk/; revision=8947
2004-04-01 20:10:07 +00:00
Gé van Geldorp
fc8f381519 Implement 32bpp -> 32bpp copy with color translation
svn path=/trunk/; revision=8946
2004-04-01 19:31:05 +00:00
Martin Fuchs
cd8132e2d2 Merged Wine commit:
Kevin Koltzau <kevin@plop.org>
	Added support for CSIDL_RESOURCES path.

svn path=/trunk/; revision=8945
2004-04-01 19:14:14 +00:00
Martin Fuchs
59fbb63083 Merged Wine commit:
Do not strip stdcall decoration in spec files.

svn path=/trunk/; revision=8944
2004-04-01 19:13:19 +00:00
James Tabor
d945804c33 Added MediaChangeNoMedia on/off
svn path=/trunk/; revision=8943
2004-04-01 17:29:53 +00:00
James Tabor
2dabdb2ac1 Added MediaChangeCount
svn path=/trunk/; revision=8942
2004-04-01 17:24:47 +00:00
James Tabor
f8e193fbc6 Wrong to remove ExFreePool.
svn path=/trunk/; revision=8941
2004-04-01 15:01:35 +00:00
Eric Kohl
a7456eb968 Fix bugs in RegQueryValueExA() and RegQueryValueExW() that caused crashes or returned bogus
information if the caller wants to retrieve the value data length only.
This fixes some bugs with regedit.

svn path=/trunk/; revision=8940
2004-04-01 13:53:08 +00:00
Thomas Bluemel
a75dfe1a82 fixed DbgPrint line ending
svn path=/trunk/; revision=8939
2004-03-31 21:21:30 +00:00
Thomas Bluemel
96a21f824f fixed NtUserGetAncestor()
svn path=/trunk/; revision=8938
2004-03-31 19:44:34 +00:00
Gé van Geldorp
dfa957c310 IntGetParentObject() does it's own locking, prevent double lock
svn path=/trunk/; revision=8937
2004-03-31 19:20:18 +00:00
Gé van Geldorp
21beea176d Remove window timers when window is destroyed
svn path=/trunk/; revision=8936
2004-03-31 18:37:12 +00:00
Thomas Bluemel
9ea765e409 revert patch due to problems with image lists
svn path=/trunk/; revision=8935
2004-03-31 14:12:04 +00:00
James Tabor
22c413c3b4 Removed ExFreePool and Spell error.
svn path=/trunk/; revision=8934
2004-03-31 05:25:36 +00:00
James Tabor
450a15d61f More Oops!
svn path=/trunk/; revision=8933
2004-03-31 03:39:12 +00:00
James Tabor
1fb32b9534 Added removable mediachange support.
svn path=/trunk/; revision=8932
2004-03-31 03:34:55 +00:00
James Tabor
bc0cf4f9cf Oops!
svn path=/trunk/; revision=8931
2004-03-31 03:34:42 +00:00
James Tabor
3b1c2903f6 Added removable mediachange support.
svn path=/trunk/; revision=8930
2004-03-31 03:33:48 +00:00
Gé van Geldorp
942d7e47a7 Fix IntIsChildWindow for case where parent is a toplevel window
svn path=/trunk/; revision=8929
2004-03-30 22:49:38 +00:00
Gé van Geldorp
a8a999793f Implement TOPMOST windows
svn path=/trunk/; revision=8928
2004-03-30 20:50:16 +00:00
Gé van Geldorp
63c532f15c Disable pool validation since it slows down execution too much
svn path=/trunk/; revision=8927
2004-03-30 09:28:44 +00:00
Gé van Geldorp
3c8dee1caa Allow GDB 6 to backtrace over a syscall
svn path=/trunk/; revision=8926
2004-03-29 22:29:34 +00:00
Thomas Bluemel
bdf6b9b5b7 updated system colors
svn path=/trunk/; revision=8924
2004-03-29 19:50:21 +00:00
Filip Navara
69a9b488f2 - Fixed window-less timers.
svn path=/trunk/; revision=8923
2004-03-29 17:02:22 +00:00
Filip Navara
fdec2f548e - Declare NMTBGETINFOTIP[AW] and TB_MARKBUTTON.
svn path=/trunk/; revision=8922
2004-03-29 16:47:48 +00:00
Gé van Geldorp
1d7a5ffa0b Merge Wine change:
Dmitry Timoshkov <dmitry@codeweavers.com>
- Scrollbar should also react on WM_LBUTTONDBLCLK.

svn path=/trunk/; revision=8921
2004-03-29 12:49:07 +00:00
Filip Navara
d6c2152ba9 - Fixed handling of WM_GETICON message.
- Don't allow destroying icons of foreign processes.

svn path=/trunk/; revision=8917
2004-03-29 06:38:50 +00:00
Filip Navara
a1f1c3b257 - Fixed BitBlts from 4bpp surfaces.
svn path=/trunk/; revision=8916
2004-03-28 23:25:48 +00:00
Filip Navara
acc112d9d4 - Fixed non-SRCCOPY BitBlts to 1bpp surfaces.
svn path=/trunk/; revision=8915
2004-03-28 23:24:57 +00:00
Gé van Geldorp
cdaaa65096 Simple font substitution and matching
svn path=/trunk/; revision=8914
2004-03-28 22:39:59 +00:00
Martin Fuchs
77684eece7 compiler friendly access operator implemantation
svn path=/trunk/; revision=8913
2004-03-28 22:17:49 +00:00
Thomas Bluemel
4309d1082e Partly (not working) implementation of TransparentBlt()
svn path=/trunk/; revision=8912
2004-03-28 21:46:26 +00:00
Martin Fuchs
50c2bd5cc2 avoid GCC complaining about: "ISO C++ says that String XMLStorage::XMLNode::operator[](const char *) const' and String & XMLStorage::XMLNode::operator[](const String &)' are ambiguous even though the worst conversion for the former is better than the worst conversion for the latter
svn path=/trunk/; revision=8911
2004-03-28 21:04:00 +00:00
Filip Navara
741870b134 DbgPrint -> DPRINT
svn path=/trunk/; revision=8910
2004-03-28 20:44:09 +00:00
Martin Fuchs
9447d23bc1 option "display version on desktop background"
svn path=/trunk/; revision=8908
2004-03-28 20:32:23 +00:00
Martin Fuchs
f2d4a56a85 option "display version on desktop background"
svn path=/trunk/; revision=8907
2004-03-28 20:32:21 +00:00
Martin Fuchs
3bf2b751a9 UNICODE optimizations
svn path=/trunk/; revision=8906
2004-03-28 18:10:48 +00:00
Filip Navara
0831947d6c - I accidently ommited two '*' and caused a random crashes when DriverEntry didn't return STATUS_SUCCESS.
svn path=/trunk/; revision=8905
2004-03-28 17:08:55 +00:00
Filip Navara
c05238d39f - Fixed a dumb ExFreePool that I accidently left there.
svn path=/trunk/; revision=8904
2004-03-28 17:01:10 +00:00
Thomas Bluemel
352d841f3b fixed a crash caused by removing a message twice from the queue
svn path=/trunk/; revision=8903
2004-03-28 16:21:58 +00:00
Martin Fuchs
bdaa4495d0 more configuration options:
- show/hide clock
- disable automatic notification icon hiding

svn path=/trunk/; revision=8902
2004-03-28 14:55:18 +00:00
Thomas Bluemel
86d212c244 added basic sas window, some other modifications
svn path=/trunk/; revision=8901
2004-03-28 12:21:41 +00:00
Thomas Bluemel
fa00201ce1 basic implementation of WlxLoggedOutSAS()
svn path=/trunk/; revision=8900
2004-03-28 12:19:07 +00:00
Filip Navara
a24291f78a - Fixed a minor bug in IopLoadServiceModule that caused crashes for disabled drivers.
svn path=/trunk/; revision=8899
2004-03-28 12:03:25 +00:00
Martin Fuchs
bbc679d779 make config option "show-hidden notification icons" persistent
svn path=/trunk/; revision=8898
2004-03-28 12:00:46 +00:00
Filip Navara
6d1dae4a75 - Fixed line endings.
svn path=/trunk/; revision=8897
2004-03-28 09:52:18 +00:00
Filip Navara
c734759964 - Minor cleanup and fixed few memory leaks on driver unload.
svn path=/trunk/; revision=8896
2004-03-28 09:48:13 +00:00
Martin Fuchs
5c7330b4d4 smart XML formating
svn path=/trunk/; revision=8895
2004-03-28 09:34:43 +00:00
Thomas Bluemel
7d9ce02db4 implemented WlxDisplaySASNotice()
svn path=/trunk/; revision=8894
2004-03-27 23:24:51 +00:00
Martin Fuchs
25c77834ce Merge Wine commit:
Martin Fuchs <martin-fuchs@gmx.net>
	Call IShellExecuteHook interface for ShellExecute() calls with ID
	lists.

svn path=/trunk/; revision=8893
2004-03-27 21:19:27 +00:00
Gé van Geldorp
ac44e25672 Fix LOGFONT conversion in CreateFontIndirectA()
svn path=/trunk/; revision=8892
2004-03-27 21:07:33 +00:00
Filip Navara
014d8e9588 - Rewritten some driver loading functions to get higher control of the driver loading and initialization process (Fixes bug #263).
- Added support for lower level filter drivers.

svn path=/trunk/; revision=8891
2004-03-27 19:41:32 +00:00
Martin Fuchs
bf1b24c1fb - XMLChildrenFilter iterator
- correctly encode special characters while writing XML strings
- MIT license for XmlStorage classes

svn path=/trunk/; revision=8890
2004-03-27 18:08:42 +00:00
Gé van Geldorp
287b32c870 Return empty instead of NULL region for invisible windows
svn path=/trunk/; revision=8889
2004-03-27 15:16:05 +00:00
Martin Fuchs
0fa710246c rollback changes when cancelling notify icon configuration dialog
svn path=/trunk/; revision=8888
2004-03-27 14:02:28 +00:00
Gé van Geldorp
dd3a343e64 Implement scrollbar controls
svn path=/trunk/; revision=8887
2004-03-27 10:46:32 +00:00
Martin Fuchs
0529529902 readll ntdll lib for DbgPrint
svn path=/trunk/; revision=8886
2004-03-27 09:23:05 +00:00
Martin Fuchs
9b62efc1ca Merge of Wine commit:
Martin Fuchs <martin-fuchs@gmx.net>
	Implementation of IPersistFile::IsDirty().

svn path=/trunk/; revision=8885
2004-03-27 09:16:08 +00:00
Martin Fuchs
796ec35113 Merge of Wine commit:
Robert Shearman <R.J.Shearman@warwick.ac.uk>
	Allow passing NULL to ILFindLastID.

Patch: http://cvs.winehq.org/patch.py?id=11621

svn path=/trunk/; revision=8884
2004-03-27 09:12:05 +00:00
Martin Fuchs
9477018084 merge Wine commit:
Modified files:
	dlls/shell32   : shellole.c shell32_main.h pidl.h pidl.c
	                 folders.c enumidlist.c control.c Makefile.in
Added files:
	dlls/shell32   : cpanelfolder.c cpanel.h

Log message:
	Martin Fuchs <martin-fuchs@gmx.net>
	Implementation of the control panel folder in shell namespace.

Patch: http://cvs.winehq.org/patch.py?id=11721

svn path=/trunk/; revision=8883
2004-03-27 09:08:10 +00:00
Martin Fuchs
63c5fcc117 merge Wine commit:
Martin Fuchs <martin-fuchs@gmx.net>
	- Fix handling of %2, %3, ... and lower case format characters in
	SHELL_ArgifyW().
	- Move "%I" expansion from ShellExecuteEx() into common function
	SHELL_ArgifyW().
	- Pass buffer length to SHELL_FindExecutable().
	- FIXME comment for len paramater in SHELL_ArgifyW().

	Ge van Geldorp <ge@gse.nl>
	- Add double quotation marks unless we already have them (e.g.: "%1"
	%* for exefile).
	- Remove unnecessary double quotation marks and command line arguments.

Patch: http://cvs.winehq.org/patch.py?id=11706

svn path=/trunk/; revision=8882
2004-03-27 09:07:42 +00:00
Art Yerkes
2673c9cd5e Fixed make bootcd on windows and cross.
svn path=/trunk/; revision=8881
2004-03-27 06:23:37 +00:00
Art Yerkes
fa4663f158 Define TOPDIR to . if not defined (for make bootcd)
svn path=/trunk/; revision=8880
2004-03-27 04:33:15 +00:00
Thomas Bluemel
3868dbd0a0 a few more minor speed-up
svn path=/trunk/; revision=8879
2004-03-27 00:35:02 +00:00
Thomas Bluemel
bf9c49bb8b little speed-up
svn path=/trunk/; revision=8878
2004-03-26 23:48:47 +00:00
Gé van Geldorp
367dea79d9 Add riched32.dll
svn path=/trunk/; revision=8877
2004-03-26 23:13:58 +00:00
Gé van Geldorp
c84ea8d62e libexpat.dll was moved
svn path=/trunk/; revision=8876
2004-03-26 23:01:44 +00:00
Martin Fuchs
b2221ecb04 add original .cvsignore entries
svn path=/trunk/; revision=8875
2004-03-26 21:20:30 +00:00
Martin Fuchs
1589b3aa3a add original .cvsignore entries
svn path=/trunk/; revision=8874
2004-03-25 18:02:56 +00:00
Thomas Bluemel
fcc80b7588 added missing .cvsignore file
svn path=/trunk/; revision=8873
2004-03-25 15:16:42 +00:00
Gé van Geldorp
a4c2f8ebd3 Make sure submenus are marked as popups
svn path=/trunk/; revision=8872
2004-03-25 12:32:13 +00:00
Gé van Geldorp
95d5ae34d2 Don't reserve space for empty menubar
svn path=/trunk/; revision=8871
2004-03-25 11:40:41 +00:00
Eric Kohl
9e558fcc6a - Implement ImpersonateLoggedOnUser().
- Moved some security related functions to better places.

svn path=/trunk/; revision=8870
2004-03-25 11:30:07 +00:00
Gé van Geldorp
8a8167ab4d Set correct colors before calling owner-drawn handler
svn path=/trunk/; revision=8869
2004-03-25 08:51:44 +00:00
Gunnar Dalsnes
9d7050fddd add RtlCreateCriticalSectionSpinCount + fix
svn path=/trunk/; revision=8868
2004-03-24 23:43:52 +00:00
Gunnar Dalsnes
29a9d5c519 add RtlCreateCriticalSectionSpinCount
svn path=/trunk/; revision=8867
2004-03-24 23:42:39 +00:00
Emanuele Aliberti
458909a9c0 Initialize LPC-related fields in ETHREAD.
svn path=/trunk/; revision=8866
2004-03-24 22:00:39 +00:00
Emanuele Aliberti
bcbcab94ad Visible build timestamp.
svn path=/trunk/; revision=8865
2004-03-24 21:46:41 +00:00
Martin Fuchs
f977f1fd59 FIXME -> TRACE
svn path=/trunk/; revision=8864
2004-03-24 20:47:58 +00:00
Filip Navara
1bad49c3be * Always return STATUS_SUCCESS from ScsiPortInitialize if some device was found.
* Minor correction to setting of SrbExtension.
* Changed DPRINT1 to DPRINT on some places.

svn path=/trunk/; revision=8863
2004-03-24 16:21:59 +00:00
Eric Kohl
9915a75ce6 - Set user-specific environment variables.
- Append 'PATH' environment variable if it already exists.

svn path=/trunk/; revision=8862
2004-03-24 16:00:01 +00:00
Martin Fuchs
7bd2a160e6 use libexpat.a
svn path=/trunk/; revision=8861
2004-03-24 10:34:21 +00:00
Martin Fuchs
fdbc91f5b5 integration of expat with ROS build system
svn path=/trunk/; revision=8860
2004-03-24 09:39:37 +00:00
Gé van Geldorp
ac6bc94f0f Fix filling of MENUITEMINFO in InsertMenu()
svn path=/trunk/; revision=8859
2004-03-24 08:56:52 +00:00
Martin Fuchs
ea02300a6a use the new built expat library for explorer
svn path=/trunk/; revision=8858
2004-03-24 00:19:16 +00:00
Royce Mitchell III
9a854f33a4 implement SetPixelV
svn path=/trunk/; revision=8857
2004-03-24 00:13:31 +00:00
Martin Fuchs
7e4896289f checked in expat source code
svn path=/trunk/; revision=8856
2004-03-24 00:05:27 +00:00
Gé van Geldorp
45931d5f5d Prevent deletion of system-owned objects like brushes returned by
GetSysColorBrush()

svn path=/trunk/; revision=8855
2004-03-23 22:50:14 +00:00
Thomas Bluemel
68d825d0da fixed accessing memory that has already been freed
svn path=/trunk/; revision=8854
2004-03-23 22:24:27 +00:00
Thomas Bluemel
39c6756765 Implemented GetWindowRgn() and GetWindowRgnBox()
svn path=/trunk/; revision=8853
2004-03-23 21:47:37 +00:00
Gé van Geldorp
022bd7dd68 Check for valid ClientRect
svn path=/trunk/; revision=8852
2004-03-23 21:30:18 +00:00
Gé van Geldorp
82e886d635 Implement GetObjectA/W() for fonts
svn path=/trunk/; revision=8851
2004-03-23 19:46:50 +00:00
Thomas Bluemel
4a2de9a81c don't use the window region when minimized
svn path=/trunk/; revision=8850
2004-03-23 18:08:07 +00:00
Gé van Geldorp
4e955d6423 Fix incorrect pointer arithmetic in NtGdiPtInRegion()
svn path=/trunk/; revision=8849
2004-03-23 17:07:41 +00:00
Thomas Bluemel
e207cba272 Implemented SetWindowRgn() and added support for window regions
svn path=/trunk/; revision=8848
2004-03-23 16:32:20 +00:00
Eric Kohl
93f83462c0 Changes to make AHA-2940 detect devices:
- Set proper inquiry buffer size.
- Check inquiry buffer for valid LUN.

svn path=/trunk/; revision=8847
2004-03-23 12:30:15 +00:00
Gé van Geldorp
c4e75c424f Implement GetUpdateRect() and harden NtUserGetUpdateRect()
svn path=/trunk/; revision=8846
2004-03-23 11:20:58 +00:00
Gé van Geldorp
75543614da - Implement GetCharWidthA/W()
- Fix memory overwrite in NtGdiGetCharWidth32()
Fixes bug #258

svn path=/trunk/; revision=8845
2004-03-23 07:59:47 +00:00
Gé van Geldorp
c718f507e9 Implement EnumFontFamilies(Ex)A/W() and TranslateCharsetInfo()
svn path=/trunk/; revision=8844
2004-03-23 00:18:54 +00:00
Gé van Geldorp
4aae876500 Silence debug messages
svn path=/trunk/; revision=8843
2004-03-23 00:12:24 +00:00
Martin Fuchs
d26e06ebdf - Merged partial Wine commit:
Mike McCormack <mike@codeweavers.com>
  Update path from relative path on loading.

- moved GetFullPathName() from IShellLink_ConstructFromFile() into IShellLinkA/W_fnSetPath()

svn path=/trunk/; revision=8842
2004-03-22 22:56:04 +00:00
Martin Fuchs
e6bd3bc673 merge Wine commit:
- Mike McCormack <mike@codeweavers.com>
  Unicode-ify the icon cache and SHGetFileInfo.

- fix by M. Fuchs

svn path=/trunk/; revision=8841
2004-03-22 21:40:12 +00:00
Martin Fuchs
d52dd4c5cc implemented UTF-8 conversion
svn path=/trunk/; revision=8840
2004-03-22 20:58:16 +00:00
Royce Mitchell III
c6df043a61 Reformatting plus change to NtGdiGetPixel to handle device DCs in addition to DIB DCs. This fixes bug #264.
svn path=/trunk/; revision=8839
2004-03-22 20:46:33 +00:00
Thomas Bluemel
d8eb783e69 fixed a couple of dead-locks in the region code
svn path=/trunk/; revision=8838
2004-03-22 20:14:29 +00:00
Filip Navara
ccecaee56d - Added allocation of SrbExtension.
- Correctly set ConfigInfo->BusInterruptVector.
- Corrected the INQUIRY request.

svn path=/trunk/; revision=8837
2004-03-22 19:59:31 +00:00
Filip Navara
bcce3e20b1 - Compile the VGA driver using w32api.
svn path=/trunk/; revision=8836
2004-03-22 16:00:38 +00:00
Thomas Bluemel
cebfd88253 fixed wrong rendering of clipped characters
svn path=/trunk/; revision=8835
2004-03-22 14:58:56 +00:00
Filip Navara
a3695d5fcb - Make PCI a boot driver.
svn path=/trunk/; revision=8834
2004-03-22 09:06:16 +00:00
Filip Navara
c4c05052cb - Renamed TaggedQueueing to TaggedQueuing.
svn path=/trunk/; revision=8833
2004-03-22 09:05:19 +00:00
Martin Fuchs
10328e2c9e install expat library
svn path=/trunk/; revision=8832
2004-03-21 23:44:28 +00:00
Martin Fuchs
3b9f0dd221 storage of configuration settings in user specific XML file
svn path=/trunk/; revision=8831
2004-03-21 23:36:24 +00:00
Filip Navara
bb917ce975 - Support for upper level filter drivers.
NOTE: Although the support for lower level filter driver is very similar, it's practically impossible to incorporate it with the current design without avoiding bugs such as #262 or #263. I don't want to extend the current mess beyond it's borders, so I ommited the call for initializing lower level filter drivers. The code needs a major cleanup and simplification on some places to make this support possible while maintaining a reasonable stable system.

svn path=/trunk/; revision=8830
2004-03-21 18:58:53 +00:00
Filip Navara
722728fd5c - A message box with timeout informing about successful installation and restart.
svn path=/trunk/; revision=8829
2004-03-21 14:37:19 +00:00
Filip Navara
c4a7a3aa63 - Fixed language definition and line endings.
svn path=/trunk/; revision=8828
2004-03-21 14:35:19 +00:00
Gé van Geldorp
8f6061137a Fix calling convention of various callback function prototypes
svn path=/trunk/; revision=8827
2004-03-21 12:34:02 +00:00
Gé van Geldorp
d8f0a4b49f Silence debug messages
svn path=/trunk/; revision=8826
2004-03-21 12:31:19 +00:00
Thomas Bluemel
de1f68d590 fixed clipping issue
svn path=/trunk/; revision=8825
2004-03-21 10:18:33 +00:00
Royce Mitchell III
a8f59cffef 1000+% performance increase in 1bpp dib -> 1bpp dib blitting.
svn path=/trunk/; revision=8824
2004-03-21 04:17:33 +00:00
Martin Fuchs
6a7304ac01 configuration dialog for notification icons
svn path=/trunk/; revision=8823
2004-03-21 00:31:14 +00:00
Steven Edwards
a9f6fe5ffb Merge setupapi with Winehq.
This should give us a working InstallHInfSection for loading drivers
if not check the attic for Alex's implementation.

svn path=/trunk/; revision=8822
2004-03-20 21:55:24 +00:00
Steven Edwards
537dc19b03 Merge setupapi with Winehq.
svn path=/trunk/; revision=8821
2004-03-20 21:53:36 +00:00
Steven Edwards
50ec7d086b Merge Winehq commit:
Yoshiro Takeno <taro-x@justsystem.co.jp>
In Windows, the leading byte for multibyte characters are set to upper
byte. If single byte character is used, the upper byte is set to 0.

svn path=/trunk/; revision=8820
2004-03-20 21:21:03 +00:00
Steven Edwards
5a868930ca Fix the rendering of the GPL.
svn path=/trunk/; revision=8819
2004-03-20 18:16:23 +00:00
Steven Edwards
7675725511 Make install works. This closes out bug 221
svn path=/trunk/; revision=8818
2004-03-20 17:41:24 +00:00
Filip Navara
72bf171b1b - Minor correction to IopGetSystemPowerDeviceObject.
svn path=/trunk/; revision=8817
2004-03-20 17:34:25 +00:00
Filip Navara
9d3fa4fe4b - Unlock surface in error case of EngModifySurface.
svn path=/trunk/; revision=8816
2004-03-20 17:33:10 +00:00
Eric Kohl
bea41fd8f8 Run second stage setup at first boot after install.
svn path=/trunk/; revision=8815
2004-03-20 15:59:19 +00:00
Eric Kohl
8b50600e95 Load user profile and create user environment upon user logon.
svn path=/trunk/; revision=8814
2004-03-20 15:58:16 +00:00
Eric Kohl
baaf29305f Fully implement RtlFormatCurrentUserKeyPath().
svn path=/trunk/; revision=8813
2004-03-20 15:56:00 +00:00
Martin Fuchs
0f69a9471a - Copyright notices for 2004
- launch_cpanel() utility function

svn path=/trunk/; revision=8811
2004-03-20 13:49:13 +00:00
Martin Fuchs
9de0deb4cc adjust for windres
svn path=/trunk/; revision=8810
2004-03-20 13:31:09 +00:00
Martin Fuchs
f7b3421484 fix japanese resource script
svn path=/trunk/; revision=8809
2004-03-20 13:25:28 +00:00
Martin Fuchs
18e827f845 context menu for notification area
svn path=/trunk/; revision=8808
2004-03-20 13:13:40 +00:00
Martin Fuchs
f06e49faea auto-hiding of inactive notification icons
svn path=/trunk/; revision=8807
2004-03-20 11:42:22 +00:00
Martin Fuchs
5ac2148058 added notifyhook.dll
svn path=/trunk/; revision=8806
2004-03-20 09:16:17 +00:00
Martin Fuchs
347477b0e9 fix for installation target by James Tabor
svn path=/trunk/; revision=8805
2004-03-20 09:11:13 +00:00
Steven Edwards
05cd23fc5c Add notepad to the list of targets.
svn path=/trunk/; revision=8804
2004-03-20 04:36:16 +00:00
Steven Edwards
ffc7f0a6a8 Enable stub for ImpersonateLoggedOnUser. This gets taskmgr
to load again.

svn path=/trunk/; revision=8803
2004-03-20 04:32:06 +00:00
Gé van Geldorp
77eb2df0b2 Handle invalid Unicode strings for %S format like MS does
svn path=/trunk/; revision=8802
2004-03-19 23:00:35 +00:00
Gé van Geldorp
896376d3c1 Handle characters outside first page
svn path=/trunk/; revision=8801
2004-03-19 22:59:23 +00:00
Gé van Geldorp
c082e0250f Fix link warnings
svn path=/trunk/; revision=8800
2004-03-19 22:58:10 +00:00
David Welch
dd4a862112 - Removed local definition of NtCurrentProcess.
svn path=/trunk/; revision=8799
2004-03-19 21:34:49 +00:00
David Welch
45dbc2f5d1 - Added definitions for NtCurrentProcess and NtCurrentThread.
svn path=/trunk/; revision=8798
2004-03-19 21:33:48 +00:00
Filip Navara
d0dca2b24f - Load the PCI bus driver.
- Move the VGA driver from "Video" to "Video Save" group.

svn path=/trunk/; revision=8797
2004-03-19 21:02:55 +00:00
Filip Navara
d621be6ce6 Merged changes from videoport_pnp_14032004 branch:
- Better support for W2K+ video miniport driver incl. the basic implementation of PnP driver model.
- Return Win32 error codes instead of NT equivalents.
- Fixed a few bugs.

svn path=/trunk/; revision=8796
2004-03-19 20:58:32 +00:00
Filip Navara
91c3d64bf5 - Lower IRQL in error case of IoAllocateDriverObjectExtension.
svn path=/trunk/; revision=8794
2004-03-19 17:37:57 +00:00
Eric Kohl
be092c4712 Clean-up NtQueryInformationToken().
svn path=/trunk/; revision=8792
2004-03-19 12:47:17 +00:00
Eric Kohl
c89688b59d Fix NtOpenThreadToken() and NtSetInformationThread().
svn path=/trunk/; revision=8791
2004-03-19 12:45:07 +00:00
Eric Kohl
d037d068ff Implement CreateEnvironmentBlock() and DestroyEnvironmentBlock().
svn path=/trunk/; revision=8790
2004-03-19 12:40:49 +00:00
Eric Kohl
d3d3ab535d Enable environment inheritance.
svn path=/trunk/; revision=8789
2004-03-19 12:38:07 +00:00
Martin Fuchs
494bb081b9 merge WineHQ commit:
Rein Klazes <rklazes@xs4all.nl>
In SHELL_ExecuteW, if a new current directory is specified, change to
it before calling CreateProcess so that it will find the correct
executable.

Patch: http://cvs.winehq.org/patch.py?id=11578

svn path=/trunk/; revision=8788
2004-03-19 09:18:52 +00:00
Aleksey Bragin
f3eb637ea4 Committing my in-progress work with mmdrv, but it's still incomplete, and it still contains MS-specific things (in comments only!).
svn path=/trunk/; revision=8787
2004-03-19 06:11:28 +00:00
Royce Mitchell III
3398afcf63 simple hack to keep winzip from bugchecking us
svn path=/trunk/; revision=8786
2004-03-18 22:03:40 +00:00
David Welch
5ab4f36e65 - Fixed crash on reboot. Sorry.
svn path=/trunk/; revision=8784
2004-03-18 19:58:35 +00:00
Thomas Bluemel
177645b96c implemented SetFileShortName()
svn path=/trunk/; revision=8783
2004-03-18 18:29:19 +00:00
Royce Mitchell III
27f458a084 fixed several serious bugs in info.c and added a couple undocumented compatibilities based on analysis of ms's version.dll's behavior. Removed 16-bit exe support from info.c b/c it was very wrong in most cases, and MSDN says 16-bit exe isn't supported anyways. This gets winzip further towards working.
svn path=/trunk/; revision=8782
2004-03-18 18:15:28 +00:00
Filip Navara
280a5aa361 - Fixed return status of IoGetDeviceProperty.
svn path=/trunk/; revision=8781
2004-03-18 16:43:56 +00:00
Thomas Bluemel
7cda28d415 1. implemented SetFileValidData()
2. updated FILE_INFORMATION_CLASS

svn path=/trunk/; revision=8780
2004-03-18 16:19:26 +00:00
Martin Fuchs
810644856d first version of Explorer NotifyHook DLL
svn path=/trunk/; revision=8779
2004-03-18 00:28:45 +00:00
Thomas Bluemel
fd4ab47d69 minor speed-improvement
svn path=/trunk/; revision=8778
2004-03-17 20:57:06 +00:00
Filip Navara
ff055ed11b - Fixed few bugs related to SUROBJ initialization.
svn path=/trunk/; revision=8776
2004-03-17 16:05:29 +00:00
Gunnar Dalsnes
31ac5158a6 fix pipe create flags traslation
svn path=/trunk/; revision=8775
2004-03-17 15:00:39 +00:00
Eric Kohl
f396c8299f Simplify LoadUserProfileW() and check for loaded profile.
svn path=/trunk/; revision=8774
2004-03-17 14:46:23 +00:00
Steven Edwards
e816725be5 Moved the WINE notepad.
svn path=/trunk/; revision=8773
2004-03-17 01:28:14 +00:00
Steven Edwards
b17d04d3a2 Moved the WINE notepad to rosapps
svn path=/trunk/; revision=8772
2004-03-17 01:27:00 +00:00
Martin Fuchs
cdfa901068 simplify Shell_NotifyIcon implementation
svn path=/trunk/; revision=8771
2004-03-16 23:18:10 +00:00
Martin Fuchs
820df5cbe5 use alloca() to pass NOTIFYICONDATA structures of any size
svn path=/trunk/; revision=8770
2004-03-16 22:49:29 +00:00
David Welch
3db0cc5595 - Map only the vga frame buffer for the hal to write debug messages
and map it higher up in the kernel address space so more space is available
for the nonpaged and paged pools.

svn path=/trunk/; revision=8769
2004-03-16 22:45:56 +00:00
David Welch
d4bd6869fe - Removed useless define.
svn path=/trunk/; revision=8768
2004-03-16 21:13:15 +00:00
David Welch
9eb9832b02 - Use the miniport services to map the frame buffer.
svn path=/trunk/; revision=8767
2004-03-16 21:11:44 +00:00
David Welch
32a05a4377 - Implemented IOCTL_VIDEO_MAP_VIDEO_MEMORY/IOCTL_VIDEO_UNMAP_VIDEO_MEMORY.
svn path=/trunk/; revision=8766
2004-03-16 21:06:20 +00:00
Eric Kohl
bf87266d08 Flush the new user hive after copying.
svn path=/trunk/; revision=8764
2004-03-16 11:34:51 +00:00
Martin Fuchs
1a75a2261c add _ANONYMOUS_UNION to NOTIFYICONDATA struct
svn path=/trunk/; revision=8763
2004-03-16 10:08:16 +00:00
Martin Fuchs
5c6819aaae replace WINE specifiy system tray implementation by a WIN32 compatible implementation
svn path=/trunk/; revision=8762
2004-03-16 10:07:38 +00:00
Art Yerkes
c20093e554 Arty's summary:
drivers/fs/cdfs/fsctl: Allocate wide chars.  CD title was being truncated
drivers/fs/vfat/fsctl: Tolerate a zero bytes-per-sector
Patches by Herve Poussineau

svn path=/trunk/; revision=8761
2004-03-16 08:30:28 +00:00
Royce Mitchell III
7d726b9519 NtGdiGetPixel cleanup - fixed small bug with rect boundary checking, and cleaned up code to only unlock DC in one place.
svn path=/trunk/; revision=8760
2004-03-16 02:15:06 +00:00
Gé van Geldorp
ba96bd3821 - Add arrows for popup submenus
- Display bitmap menu items

svn path=/trunk/; revision=8759
2004-03-15 23:49:29 +00:00
David Welch
28f9bf0155 - Left whole page allocations on by accident.
svn path=/trunk/; revision=8758
2004-03-15 22:22:53 +00:00
Gé van Geldorp
aea7bd7615 - Handle 1bpp DIBs in NtGdiCreateDIBitmap
- Fix double lock of DC in routines called by NtGdiCreateDIBSection

svn path=/trunk/; revision=8757
2004-03-15 22:06:55 +00:00
Gé van Geldorp
52f0a740aa hSelf member contains the handle, not the pointer
svn path=/trunk/; revision=8756
2004-03-15 22:02:31 +00:00
Gé van Geldorp
ad8fa18342 Silence debug message
svn path=/trunk/; revision=8755
2004-03-15 22:01:17 +00:00
Hartmut Birr
8536591b9d - Reduced the size of the symbol files, as only necessary symbol informations are copied.
svn path=/trunk/; revision=8754
2004-03-15 21:31:45 +00:00
Hartmut Birr
6d7c68c262 - Fixed the loading of symbol files, if the base name contains the extension '.sym'.
svn path=/trunk/; revision=8753
2004-03-15 21:16:45 +00:00
Hartmut Birr
f983216b34 - Removed dirty loading of symbol files from ExpInitializeExecutive.
- Prevented moving of KiSystemStartup into _main, because the memory
  from _main is freed from within KiSystemStartup.

svn path=/trunk/; revision=8752
2004-03-15 21:10:34 +00:00
Martin Fuchs
dcb0a46bfe launch sound control panel applet
svn path=/trunk/; revision=8751
2004-03-15 20:59:06 +00:00
Martin Fuchs
fda8c77b11 implementation of volume control tray icon
svn path=/trunk/; revision=8750
2004-03-15 20:45:41 +00:00
Filip Navara
41562afcd3 - Minor corrections to emulated mouse pointer handling.
svn path=/trunk/; revision=8749
2004-03-15 20:21:51 +00:00
David Welch
60a43e438d - Fix reading past the end of the pool block.
svn path=/trunk/; revision=8747
2004-03-15 19:06:35 +00:00
Hartmut Birr
94683a5682 - Changed ctype.h from mingw to ntoskrnl its own.
svn path=/trunk/; revision=8746
2004-03-15 17:32:47 +00:00
Royce Mitchell III
b57b6bb796 mark GetPixel as @implemented and fix param names
svn path=/trunk/; revision=8744
2004-03-15 04:21:17 +00:00
David Welch
c6476093e1 - Fixed whole page allocations since the handle table code now relies on
allocations being eight byte aligned.

svn path=/trunk/; revision=8743
2004-03-15 00:03:31 +00:00
Gé van Geldorp
639ab68e9a Fix mask for true color images
svn path=/trunk/; revision=8742
2004-03-14 23:04:44 +00:00
Martin Fuchs
296ea7d293 handle large notification strings
svn path=/trunk/; revision=8741
2004-03-14 22:44:08 +00:00
Martin Fuchs
14f61e5720 UNICODE fix for Tooltips
svn path=/trunk/; revision=8739
2004-03-14 22:27:44 +00:00
Martin Fuchs
b95e68a45d handle WM_NOTIFYFORMAT
svn path=/trunk/; revision=8738
2004-03-14 22:20:10 +00:00
Martin Fuchs
c53a01dce1 - separate tooltip area for each notify icon
- handle non-null terminated tooltip strings

svn path=/trunk/; revision=8737
2004-03-14 21:02:55 +00:00
Gé van Geldorp
c88c8baba9 Return a valid (empty) visible region when the window is not visible
svn path=/trunk/; revision=8736
2004-03-14 20:31:55 +00:00
Filip Navara
800b2b0dcf - Set InitData.HwInitDataSize to proper value.
svn path=/trunk/; revision=8733
2004-03-14 19:44:02 +00:00
David Welch
ad8ba55cb3 - Complete the irp even on an error.
svn path=/trunk/; revision=8731
2004-03-14 19:25:34 +00:00
Martin Fuchs
254292d714 resize taskbar buttons on WM_SIZE
svn path=/trunk/; revision=8729
2004-03-14 18:51:35 +00:00
David Welch
38b3d10879 - Map ntstatus values to the win32 error code expected by the display driver.
svn path=/trunk/; revision=8728
2004-03-14 18:36:14 +00:00
David Welch
e52b5b410e - Map return codes from the miniport's device i/o control routine from
win32 error code to ntstatus values.

svn path=/trunk/; revision=8727
2004-03-14 18:35:02 +00:00
David Welch
7c4c3bfb0b - Fixed bug with recalling previous input.
- Switch back to text mode when entering the debugger.

svn path=/trunk/; revision=8726
2004-03-14 18:28:59 +00:00
David Welch
ff4f24bbb6 - Removed setting of STATUS_DATA_OVERRUN in IoStatusBlock.Status when
IoStatusBlock.Information is greater than the output buffer length passed
in by the caller.

svn path=/trunk/; revision=8725
2004-03-14 18:27:08 +00:00
Thomas Bluemel
9789932e02 implemented GetProcessIoCounters()
svn path=/trunk/; revision=8724
2004-03-14 18:16:40 +00:00
Eric Kohl
cc68c2e317 Implement GetUserProfileDirectoryW().
Open user key in LoadUserProfileW() and close it in UnloadUserProfile().

svn path=/trunk/; revision=8723
2004-03-14 18:15:59 +00:00
Eric Kohl
2ce08a79bb Fix some prototypes.
svn path=/trunk/; revision=8722
2004-03-14 18:13:19 +00:00
Thomas Bluemel
e040902fff implemented SetConsoleIcon()
svn path=/trunk/; revision=8721
2004-03-14 17:53:27 +00:00
Filip Navara
b6a8d006e3 - Added PnP enum entry for the VMware video driver.
svn path=/trunk/; revision=8720
2004-03-14 17:47:10 +00:00
Filip Navara
b4e4cd6676 - Don't load PnP drivers if they're disabled.
- Save pointer to PnP tree device node in device object's DeviceObjectExtension.
- Add function IopGetDeviceNode for getting device node from device object pointer.
- Rewritten IoGetDeviceProperty to use values that are in device node instead of sending Irps.

svn path=/trunk/; revision=8718
2004-03-14 17:10:48 +00:00
Filip Navara
c5058d5a3c - Fixed handling of IRP_MN_QUERY_BUS_INFORMATION.
- Add basic handling of IRP_MN_QUERY_CAPABILITIES for getting device specific bus address.

svn path=/trunk/; revision=8717
2004-03-14 17:10:43 +00:00
Gé van Geldorp
c72fe4771e Implement TrackPopupMenu. This fixes bug #131
svn path=/trunk/; revision=8716
2004-03-14 16:39:49 +00:00
Martin Fuchs
e8f56accc6 tool tip texts for notification icons
svn path=/trunk/; revision=8715
2004-03-14 16:39:28 +00:00
Martin Fuchs
b61431ec36 declare NOTIFYICON VERSION 3 constants
svn path=/trunk/; revision=8714
2004-03-14 15:54:27 +00:00
Martin Fuchs
b7c8fed978 declare V5 structure members and constants for notifications icons
svn path=/trunk/; revision=8713
2004-03-14 15:42:04 +00:00
Martin Fuchs
258d7cea79 hide clock from desktop bar if it's configured this way in registry
svn path=/trunk/; revision=8712
2004-03-14 14:44:23 +00:00
Thomas Bluemel
841b0b2958 implemented GetFileSizeEx()
svn path=/trunk/; revision=8711
2004-03-14 13:20:10 +00:00
Thomas Bluemel
2c9bca4a1a implemented SetFilePointerEx() and fixed SetFilePointer() to check if the calculated file position is negative
svn path=/trunk/; revision=8710
2004-03-14 13:11:55 +00:00
Martin Fuchs
3b338cc571 fixed imagelist handle leak
svn path=/trunk/; revision=8709
2004-03-14 12:43:27 +00:00
Thomas Bluemel
42798328cb count all gdi handles and serialize removing gdi handles from the table.
svn path=/trunk/; revision=8708
2004-03-14 12:16:50 +00:00
Martin Fuchs
5ca99eb505 disable context menu for non-file system objects
svn path=/trunk/; revision=8706
2004-03-14 12:06:25 +00:00
Gé van Geldorp
d13e1cf220 Match error tested against to the actual error returned by
NtUserGetWindowLong

svn path=/trunk/; revision=8705
2004-03-14 11:27:33 +00:00
Gé van Geldorp
57b26979cb You can't use NtCurrentTeb() in kernel mode
svn path=/trunk/; revision=8704
2004-03-14 11:25:33 +00:00
Thomas Bluemel
85f9fdf39f implemented GetProcessId()
svn path=/trunk/; revision=8703
2004-03-14 11:11:17 +00:00
Thomas Bluemel
04b43aab9e minor fix
svn path=/trunk/; revision=8702
2004-03-14 10:16:18 +00:00
Filip Navara
b0b55220e6 - Make IoGetDeviceInterfaces more compatible with the native version. Patch by Matthew Brace.
svn path=/trunk/; revision=8701
2004-03-14 09:43:12 +00:00
Thomas Bluemel
89265e0151 Implemented CreateHardLink()
svn path=/trunk/; revision=8700
2004-03-14 09:21:42 +00:00
Gé van Geldorp
8dc9f6bf9c Avoid ReactOS changes getting lost
svn path=/trunk/; revision=8699
2004-03-14 09:17:53 +00:00
Gé van Geldorp
ff837bae4a Explicitly include stddef.h for offsetof, needed for newer GCC versions
svn path=/trunk/; revision=8698
2004-03-14 08:51:16 +00:00
Gé van Geldorp
cd7fbb8e5c Translate pixel value from internal pixel format to RGB. Fixes bug #251.
svn path=/trunk/; revision=8697
2004-03-14 00:11:28 +00:00
Gé van Geldorp
e8cf99cda9 Delay unlinking of windows until after all messages have been sent.
This fixes bug #241.

svn path=/trunk/; revision=8696
2004-03-13 23:12:19 +00:00
Thomas Bluemel
ea0774aba3 RtlGetFullPathName_U() is supposed to check the parameter buf, it could be NULL
svn path=/trunk/; revision=8695
2004-03-13 22:23:14 +00:00
Filip Navara
1bc3d1b4ed - Fixed DPRINT.
svn path=/trunk/; revision=8694
2004-03-13 21:33:16 +00:00
Eric Kohl
3211fcf2d0 Implement LoadUserProfileW() and UnloadUserProfile().
svn path=/trunk/; revision=8693
2004-03-13 20:49:07 +00:00
Martin Fuchs
17d9fc0744 french translation for some start menu entries from Gge
svn path=/trunk/; revision=8691
2004-03-13 20:05:32 +00:00
Jason Filby
8552f80d82 Finish off NtDuplicateToken
svn path=/trunk/; revision=8690
2004-03-13 19:25:47 +00:00
David Welch
988f1d5968 - Checked in MmMapLockedPages patch from Anich Gregor.
svn path=/trunk/; revision=8689
2004-03-13 19:14:16 +00:00
David Welch
35f3e5b524 - Record feature information from cpuid. Not used at the moment.
svn path=/trunk/; revision=8688
2004-03-13 18:30:56 +00:00
David Welch
6cee07a9b2 - Fixed comment.
svn path=/trunk/; revision=8687
2004-03-13 18:28:33 +00:00
David Welch
6849e40ba7 - Added disassembler from gdb.
svn path=/trunk/; revision=8686
2004-03-13 18:26:13 +00:00
David Welch
ff3151887b - Added basic tracing, breakpoints and disassembly to the kernel debugger.
svn path=/trunk/; revision=8685
2004-03-13 18:21:57 +00:00
Hartmut Birr
c417fd21b1 - Split LdrpProcessImportDirectory into LdrpProcessImportDirectory and
LdrpProcessImportDirectoryEntry. Sometimes it is necessary to process
  a single entry from import directory and sometimes it is necessary
  to process all entries with the same name.

svn path=/trunk/; revision=8684
2004-03-13 18:14:04 +00:00
Gé van Geldorp
05825a6aab Mark update regions as global objects, to prevent their destruction when
the creating process exits

svn path=/trunk/; revision=8683
2004-03-13 17:33:53 +00:00
Eric Kohl
544d860114 Fix key name size calculation bugs.
Fill some allocated buffers with zeros.
Minor cleanup.

svn path=/trunk/; revision=8682
2004-03-13 12:14:44 +00:00
Eric Kohl
c9c372e34b Add missing EVENTLOG_SUCCESS.
svn path=/trunk/; revision=8681
2004-03-13 09:38:55 +00:00
Vizzini
35472661aa turn off skip bit to support VMWare FDC
svn path=/trunk/; revision=8680
2004-03-13 07:28:40 +00:00
Vizzini
007814383b fixed two race conditions with motor power-off; now handles disk change detection and no-disk-in-drive correctly
svn path=/trunk/; revision=8679
2004-03-13 07:04:54 +00:00
Vizzini
2207df1ae4 fixed a couple motor start/stop bugs; fixed a seek offset
svn path=/trunk/; revision=8678
2004-03-13 05:06:49 +00:00
David Welch
410da0d376 - Removed some debugging stuff I checked in by accident.
svn path=/trunk/; revision=8676
2004-03-13 00:41:40 +00:00
David Welch
e964a19eb2 - Fixed VPInterruptRoutine definition.
svn path=/trunk/; revision=8675
2004-03-12 23:03:21 +00:00
Gé van Geldorp
94c34aee80 Update status
svn path=/trunk/; revision=8674
2004-03-12 22:08:23 +00:00
Gé van Geldorp
ceabe25983 Sync to Wine-20040309:
Jason Edmeades <us@the-edmeades.demon.co.uk>
- Handle playing of files containing a '+' as part of the filename.
Robert Reif <reif@earthlink.net>
- Cleanup prepare/unprepare header parameter checking.
- Fix midiInGetDevCapsW.
Sean Young <sean@mess.org>
- Check uSize parameter in waveOutUnprepareHeader and
waveOutPrepareHeader.
Christian Costa <titan.costa@wanadoo.fr>
- Fixed waveInGetDevCapsW.

svn path=/trunk/; revision=8672
2004-03-12 21:20:53 +00:00
Martin Fuchs
5ceefba3a3 small 'Explorer' string adjustment for french
svn path=/trunk/; revision=8670
2004-03-12 21:20:02 +00:00
Martin Fuchs
82ed8b47d6 adjust start button to text size
svn path=/trunk/; revision=8668
2004-03-12 21:12:28 +00:00
Martin Fuchs
e40caec333 adjust start button to text size
svn path=/trunk/; revision=8667
2004-03-12 21:12:27 +00:00
Gé van Geldorp
a526783523 Sync to Wine-20040309:
Alexandre Julliard:
- Added version scripts for libwine and libwine_unicode.
Rein Klazes <rklazes@xs4all.nl>
- Fix MultiByteToWideChar and WideCharToMultiByte when called with code
page CP_SYMBOL.
- Remove the symbol font from the code page table, so it is not reported
as a valid/supported/installed code page.
- Remove workarounds for the badly behaved MultiByteToWideChar and co.
in a few places.

svn path=/trunk/; revision=8666
2004-03-12 21:04:04 +00:00
Gé van Geldorp
a990283857 Merge back commit from WineHQ
svn path=/trunk/; revision=8665
2004-03-12 20:30:44 +00:00
Filip Navara
7f1a2fa09f - Fixed declaration of DRIVER_OBJECT and friends.
svn path=/trunk/; revision=8664
2004-03-12 19:40:40 +00:00
Filip Navara
0e8946cb44 - Implemented IoGetDriverObjectExtension and IoAllocateDriverObjectExtension.
- Fixed the parts of IoGetDeviceProperty that were incorrectly sending IRP_MN_QUERY_BUS_INFORMATION.

svn path=/trunk/; revision=8663
2004-03-12 19:40:29 +00:00
Filip Navara
5c45ab6ac0 - Support for IRP_MN_QUERY_BUS_INFORMATION and devices on multiple PCI buses.
svn path=/trunk/; revision=8662
2004-03-12 19:40:05 +00:00
Art Yerkes
7b9bc747c8 Added bit counting and inverting functions to address.
Broke out some functions in info.c -- They still don't work properly but
are improving.
Added setting of netmask in datalink/lan.c from the registry, broke out
registry reading function.

svn path=/trunk/; revision=8661
2004-03-12 04:21:59 +00:00
Vizzini
29d063166b - Added arc path support
- Fixed disk change support
 - Fixed the priority boosts to be saner
 - Fixed some start/stop motor timing bugs
 - Figured out the Real Deal with Model 30 support (I hope...)
 - Cleaned up DMA init a bit
 - Improved return values, freed things on fail, etc
 - General code cleanup

svn path=/trunk/; revision=8660
2004-03-12 03:36:32 +00:00
David Welch
f12f44e036 - Actually I realised it isn't valid to touch the object at all after
decrementing the reference count unless the reference count was one. I
also removed the retention check in ObfReferenceObject since I couldn't
see how this would ever be needed.

svn path=/trunk/; revision=8659
2004-03-12 00:46:35 +00:00
David Welch
c61a3955d5 - Use the return value from calling InterlockedDecrement on the reference
count when checking whether the object should be retained. This fixes
a race whereby one thread decrements the value to one, another thread
come in and decrements the value to zero and starts the delete, the
first thread then comes back, does retention checks and finds the
reference count is now zero and then bugchecks because the object is
already being deleted.

svn path=/trunk/; revision=8658
2004-03-12 00:28:13 +00:00
Vizzini
abc17a4830 Lots of code clean-up; correctly copies files of any size to/from disk;
clean under prefast, lint, verifier, and checked win2k

svn path=/trunk/; revision=8657
2004-03-11 23:12:03 +00:00
David Welch
304ff0ba96 - Return any error code from the miniport device i/o control to the display
driver. Fixes crash when running with ati drivers.

svn path=/trunk/; revision=8656
2004-03-11 23:07:16 +00:00
Gé van Geldorp
162e4ee1f5 Sync to Wine-20040309:
Francois Gouget <fgouget@free.fr>
- Assorted spelling and case fixes.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Add SHMenuIndexFromID and SHCoCreateInstanceAC.
Patrik Stridvall <ps@leissner.se>
- Fixed some issues found by winapi_check.
Jon Griffiths <jon_p_griffiths@yahoo.com>
- Stub the stopwatch API.
- Implement DoesStringRoundTripW,@371-3,@392.
- Move a couple of string functions into string.c
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Add IntlStrEqWorkerA/W.
- StrCmp tests.
- Implement string functions in comctl32.
- Use CompareString in shlwapi wherever possible instead of ugly
  helpers.
Kevin Koltzau <kevin@plop.org>
- Fix UrlCanonicalize and add regression test.
- Prevent crash with invalid args in a few URL functions.

svn path=/trunk/; revision=8655
2004-03-11 22:30:40 +00:00
Gé van Geldorp
778b9378b6 Sync to Wine-20040309:
Marcelo Duarte <wine-devel@bol.com.br>
- Update of Portuguese resources.

svn path=/trunk/; revision=8654
2004-03-11 22:00:19 +00:00
David Welch
01d3124925 - Made KeBugCheckEx into a call to KeBugCheckExWithTf.
- If file logging is in use then dump the last messages from the ringbuffer
on a bugcheck so the user can see them if the system was in graphics mode
when it crashed.

svn path=/trunk/; revision=8653
2004-03-11 21:50:24 +00:00
Gé van Geldorp
14a834a699 Sync to Wine-20040309:
Mike Hearn <mh@codeweavers.com>
- To reduce debugging noise, make IMalloc32/IMallocSpy implementations
  output to the new olemalloc debug channel.
Patrik Stridvall <ps@leissner.se>
- Fixed some issues found by winapi_check.
Alexandre Julliard
- Sync some of the dll registrations with the contents of
  winedefault.reg.

svn path=/trunk/; revision=8652
2004-03-11 21:46:41 +00:00
David Welch
060aa03ca6 - Added KeSaveFloatingPoint and KeRestoreFloatingPointState to the old
ddk so win32k can use them.

svn path=/trunk/; revision=8651
2004-03-11 21:42:01 +00:00
David Welch
2f596c1ce8 - Implemented EngSaveFloatingPointState and EngRestoreFloatingState.
svn path=/trunk/; revision=8650
2004-03-11 21:38:58 +00:00
Gé van Geldorp
0581a7d1a6 Fix DocumentPropertiesW declaration
svn path=/trunk/; revision=8649
2004-03-11 21:16:56 +00:00
Gé van Geldorp
4798e9d2db Sync to Wine-20040309
svn path=/trunk/; revision=8648
2004-03-11 21:15:50 +00:00
Gé van Geldorp
dbdb5a1f76 Sync to Wine-20040309
svn path=/trunk/; revision=8647
2004-03-11 20:08:15 +00:00
Gé van Geldorp
63c72aa8a8 Move declaration of GetLastError() to match PSDK
svn path=/trunk/; revision=8646
2004-03-11 20:05:11 +00:00
Thomas Bluemel
c07e181b14 forgot this one, sorry
svn path=/trunk/; revision=8645
2004-03-11 19:22:21 +00:00
Thomas Bluemel
169c5abd20 simplified calls to MsqPostMessage()
svn path=/trunk/; revision=8644
2004-03-11 16:17:25 +00:00
Thomas Bluemel
1988a7b8ea first attempt to implement SendMessageTimeout()
svn path=/trunk/; revision=8643
2004-03-11 14:47:44 +00:00
Thomas Bluemel
241b66d3bd added buttons to test if a thread is hung
svn path=/trunk/; revision=8642
2004-03-11 14:44:48 +00:00
Gé van Geldorp
7bbe8a0aec New cursor
svn path=/trunk/; revision=8641
2004-03-11 11:34:51 +00:00
Gé van Geldorp
41f97f6862 Create image list for toolbar with same depth as display
svn path=/trunk/; revision=8640
2004-03-11 11:14:52 +00:00
Gé van Geldorp
6477510568 Sync to Wine-20040309:
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- Implement the drag list control.
- Fix tabs in LBItemFromPt.
- Move string functions to separate file.
- Implement string functions in comctl32.
- Use CompareString in shlwapi wherever possible instead of ugly
  helpers.
- Forward some wrapper functions since we don't care about compatibility
  with Win98 in this case.
- Documentation update.
- Update common control function documentation.
- Don't allocate space for text when nMaxTextRows = 0.
- Support custom check background.
- Reduce number of parameters needed for DrawString function.
- Fix some traces.
- The TBM_GET*HOTLIST functions take imagelist ID in wParam.
- Implement TBM_GETSTRING{A,W}.
- Implement undocumented 0x462 message.
Alexandre Julliard
- Removed a couple of unneeded helper functions.
Maxime BellengT <maxime.bellenge@laposte.net>
- Fix a regression in ImageList_Create when creating a dibsection.
Ulrich Czekalla <ulrich@codeweavers.com>
- Use dibsections for the images.
Dimitrie O. Paun <dpaun@rogers.com>
- LVN_BEGINRDRAG is implemented now. Fix typo.
Aric Stewart <aric@codeweavers.com>
- Implemented LISTVIEW_ApproximateViewRect for LVS_REPORT.
Fabian Cenedese <Cenedese@indel.ch>
- ListView should behave in OWNERDRAW as in FULLROWSELECT. This allows
  to select cells not in the first column in REPORT mode with OWNERDRAW
  style set.
Matt Chapman <matthewc@cse.unsw.edu.au>
- Fix a reentrancy issue in the property sheet implementation by not
  caching a pointer that can change.
- REBAR_Layout should respect the minimum size of bands even when
  RBBS_FIXEDSIZE is not set.
- REBAR_ShowBand needs to force layout of the rebar after a band is
  hidden/unhidden.
Vitaliy Margolen <wine-patch@kievinfo.com>
- Adjust all dimensions to match native.
- Invalidate whole tab area when multi-line.
- In vertical tab placement go from top to bottom.
- Fix annoying visual artifacts.
Huw Davies <huw@codeweavers.com>
- If TBSTYLE_EX_HIDECLIPPEDBUTTONS is set then invalidate the area that
  changes in a resize.
- Don't call SWP unless we're actually adjusting anything.
Christian Costa <titan.costa@wanadoo.fr>
- Accept null module instance, Loadstring can handle it.
Steve Lustbader <slustbader@verizon.net>
- Handle the firstVisible item being NULL in
Mike Hearn <mike@theoretic.com>
- Grow the treeview control expander button by 1px in each direction to
  match the native look.

svn path=/trunk/; revision=8639
2004-03-11 11:13:28 +00:00
Vizzini
8e37499a90 Fixed a length calculation bug introduced with transfer-splitting code
--> big file transfers work now

svn path=/trunk/; revision=8638
2004-03-11 07:01:58 +00:00
Vizzini
8438bc1293 fixed CHS computation bug
svn path=/trunk/; revision=8637
2004-03-11 06:48:22 +00:00
Vizzini
6ef65a3872 - Implement support for split DMA transfers
- Remove assert from CreateClose handler (still doesn't seem to get called
   consistently though)
 - Fixed an off-by-one bug for sector calculation

 --> Medium-sized files transfer to/from disk now

svn path=/trunk/; revision=8636
2004-03-11 06:24:44 +00:00
Andrew Greenwood
d5044130a8 - Updated the version number in README.TXT to 0.2.x (maybe I'm just being pedantic...)
svn path=/trunk/; revision=8635
2004-03-11 02:09:14 +00:00
James Tabor
64c32ff6f4 Turn off debug print out
svn path=/trunk/; revision=8634
2004-03-11 00:05:00 +00:00
Filip Navara
15989c99be - Support for SS_REALSIZEIMAGE and SS_CENTERIMAGE flags for bitmap static controls.
svn path=/trunk/; revision=8633
2004-03-10 23:21:56 +00:00
Filip Navara
cf41719321 - Include eventlog.c in the build.
svn path=/trunk/; revision=8632
2004-03-10 21:56:04 +00:00
Filip Navara
fe0b173e6e - Export the event log functions and LookupAccountSid[AW].
svn path=/trunk/; revision=8631
2004-03-10 21:37:18 +00:00
Aleksey Bragin
2b24e33ce7 LookupAccountSidA and W stubs added (FAR needs them). Hope it is the right place for them.
svn path=/trunk/; revision=8630
2004-03-10 21:34:42 +00:00
Andrew Greenwood
c9c497dc9f - Implemented ChangeMenuA and ChangeMenuW, as implemented in WINE.
svn path=/trunk/; revision=8629
2004-03-10 20:36:19 +00:00
Filip Navara
e080b835d0 - Fixed querying of thread locale.
svn path=/trunk/; revision=8628
2004-03-10 20:26:40 +00:00
Vizzini
ab9a6623a2 Properly set the length of the transfer so FastFat won't assert on us
svn path=/trunk/; revision=8627
2004-03-10 20:17:26 +00:00
Vizzini
1984d3c175 Disabled disk-change notification because it was breaking on Model 30 controllers; read/write is starting to work as a result
svn path=/trunk/; revision=8626
2004-03-10 19:35:04 +00:00
Steven Edwards
c29a4bda2e Add -Wall to the Makefle and fix a few compiler warrnings for
depreceated C++

svn path=/trunk/; revision=8625
2004-03-10 18:57:36 +00:00
Andrew Greenwood
b2a9c5d1de - Boot into GUI again (I'd disabled this as GUI stopped working in my local tree) - sorry about that!
svn path=/trunk/; revision=8624
2004-03-10 17:32:16 +00:00
Casper Hornstrup
fc8e6d987a 2004-03-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* subsys/system/usetup/bootsup.c (UpdateFreeLoaderIni): Use existing
	ReactOS entry if available.

svn path=/trunk/; revision=8623
2004-03-10 16:57:36 +00:00
Filip Navara
d72790226a - Fixed the Andrew's NtGdiCreateCompatibleBitmap fix, it was using a wrong Bits array.
svn path=/trunk/; revision=8622
2004-03-10 16:55:03 +00:00
Filip Navara
7f3f39dc20 - Fixed bug in VideoPortSetBusData.
svn path=/trunk/; revision=8621
2004-03-10 16:10:13 +00:00
Andrew Greenwood
a306af21c2 *Major soundcard support update*
ReactOS remains silent for now, but for anyone wishing to further work on the Sound Blaster driver and/or mmdrv.dll, this should help immensely :)

- Imported midimap from WINE
- Imported wavemap from WINE
- Imported msacm from WINE (32-bit only)
- Minor changes to mpu401
- Basic IRP_MJ_WRITE dispatch routine for sndblst.sys (receives buffers, does nothing else.)
- Added various WINE headers to include\wine

svn path=/trunk/; revision=8620
2004-03-10 15:22:45 +00:00
Gé van Geldorp
69208dc611 Tell apps we're NT4 SP6, VB runtime will fail if we report SP0
svn path=/trunk/; revision=8619
2004-03-10 09:14:29 +00:00
Andrew Greenwood
025e88cba9 - Implemented GetDCOrg(), which is officially obsolete, but I've included it for completeness' sake :)
svn path=/trunk/; revision=8618
2004-03-09 23:21:56 +00:00
Casper Hornstrup
e2b29d7f6c 2004-03-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
* regtests/Makefile: Make REGTEST_TARGETS depend on *.c.
	* regtests/kmregtests/driver.c: Update call to PerformTests().
	* regtests/kmrtint/kmrtint.c (RegTestMain): Update to match prototype.
	* regtests/kmrtint/kmrtint.def (RegTestMain): Ditto.
	* regtests/kmrtint/kmrtint.edf (RegTestMain): Ditto.
	* regtests/win32base/tests/ws2event.c: New file.
	* regtests/regtests/regtests.c (OUPUT_MODE_DbgPrint,
	OUPUT_MODE_OutputDebugString, OUPUT_MODE_printf): Define.
	(OutputMode): New variable.
	(OutputRoutine): New function.
	(RunTestDriver): Add TestName parameter.
	(main): Parse command line to find output routine and test name.
	* regtests/shared/regtests.c (PerformTest): Use specified output routine
	if specified. Run only specified test if specified.
	(PerformTests): Update call to PerformTest().
	* regtests/shared/regtests.h (TestOutputRoutine): Add prototype.
	(TestDriverMain): Add OutputRoutine and TestName parameter.
	(PerformTests): Ditto.
	* regtests/win32base/Makefile (TARGET_SDKLIBS): Add ws2_32.a.
	* regtests/win32base/driver.c (RegTestMain): Update to match prototype.
	* regtests/win32base/win32base.def (RegTestMain): Ditto.
	* regtests/win32base/win32base.edf (RegTestMain): Ditto.
	* tools/regtests.c (UMSTUB): Update call to PerformTests().

svn path=/trunk/; revision=8617
2004-03-09 22:08:04 +00:00
David Welch
6616abd532 - Forgot this one.
svn path=/trunk/; revision=8616
2004-03-09 22:04:47 +00:00
David Welch
1fbda72a7a - Replaced some common sequences of inline assembly with macros. Avoid
having compiler checks scattered all over the place.
- Added some disabled code to KiDumpTrapFrame that dumps every address
on the stack that could be a return address. This is quite handy for
debugging crashes in modules compiled with fpo.

svn path=/trunk/; revision=8615
2004-03-09 21:49:54 +00:00
David Welch
e04ce16d15 - Fixed check for an out of range index in {Get/Set}{Class/Window}Long
(signed vs. unsigned arithmetic). Fixes crash in 'user32_test win'.

svn path=/trunk/; revision=8614
2004-03-09 21:21:39 +00:00
David Welch
860bde3b68 - Disabled double lock message in NDEBUG builds since it is triggered
whenever there is contention for the same object.

svn path=/trunk/; revision=8613
2004-03-09 20:34:28 +00:00
Filip Navara
9c45d9475e - Uncomment NDEBUG.
svn path=/trunk/; revision=8612
2004-03-09 18:56:32 +00:00
Filip Navara
daae8270b7 - Implemented VideoPortQueryPerformanceCounter and all video port spinlock functions.
- Added more debug info to VideoPortGetAccessRanges.

svn path=/trunk/; revision=8611
2004-03-09 17:28:49 +00:00
Aleksey Bragin
e4ac5bf4f4 Added more (in case we run on PowerPC) processor ids returned by GetSystemInfo(), by Christoph von Wittich.
svn path=/trunk/; revision=8610
2004-03-09 16:35:15 +00:00
Aleksey Bragin
b6ead4d81a Added more processor defines to SYSINFO struct, by Christoph von Wittich.
svn path=/trunk/; revision=8609
2004-03-09 16:33:22 +00:00
Eric Kohl
282e78244f Create a logon token and use it to start the shell process.
svn path=/trunk/; revision=8608
2004-03-09 15:08:12 +00:00
Eric Kohl
e380640f44 LogonUserW(): Fix key name.
svn path=/trunk/; revision=8607
2004-03-09 15:04:28 +00:00
Filip Navara
bea52f9dbe - Minor correction to DMA routines.
svn path=/trunk/; revision=8606
2004-03-09 14:16:39 +00:00
Gé van Geldorp
1bb065b4f4 Correct menu bars for windows not originating at top-left of screen.
This fixes bug #234.

svn path=/trunk/; revision=8605
2004-03-09 14:03:18 +00:00
Gé van Geldorp
97ce8d58b4 Fix SPMajorVersion for Nt4SP5, spotted by Christoph_vW
svn path=/trunk/; revision=8604
2004-03-09 12:59:13 +00:00
Richard Campbell
442842230e noncopyrighted icon FIXED
svn path=/trunk/; revision=8603
2004-03-09 10:59:26 +00:00
Richard Campbell
462be9c136 noncopyrighted icon
svn path=/trunk/; revision=8602
2004-03-09 10:56:16 +00:00
Richard Campbell
847c530813 please don't commit copyrighted microsoft icons to cvs!
svn path=/trunk/; revision=8601
2004-03-09 10:55:44 +00:00
Filip Navara
1a34bfa768 - Added Event Log stubs copied from Wine. It seems it's needed for Visual Basic runtime.
svn path=/trunk/; revision=8600
2004-03-08 21:58:17 +00:00
Filip Navara
dbce1b766d - Do the real memory allocation in context of CSRSS process. Suggested by David Welch.
svn path=/trunk/; revision=8599
2004-03-08 21:45:39 +00:00
Filip Navara
70acaf22e8 - Added service pack numbers to application compatibility settings.
svn path=/trunk/; revision=8598
2004-03-08 21:21:28 +00:00
Filip Navara
03e7c82dd2 - Mask out VIDEO_MEMORY_SPACE_DENSE flag, because it's specific to ALPHA processors. This gets Matrox Mystique driver working.
svn path=/trunk/; revision=8597
2004-03-08 20:54:10 +00:00
David Welch
2b4fa805eb - Hacky implementation of some dma related functions.
svn path=/trunk/; revision=8596
2004-03-08 20:27:33 +00:00
Richard Campbell
5df0488416 one more change.
svn path=/trunk/; revision=8595
2004-03-08 20:19:54 +00:00
Richard Campbell
f350173836 fix corrupted GPL problem
svn path=/trunk/; revision=8594
2004-03-08 20:16:45 +00:00
Steven Edwards
41a3435039 Get MSYS and a few others working again....
svn path=/trunk/; revision=8593
2004-03-08 18:09:05 +00:00
Filip Navara
a8d7de6a74 - Fixed DPRINT.
svn path=/trunk/; revision=8592
2004-03-08 14:31:49 +00:00
Thomas Bluemel
e63f7f9cd0 added basic skeleton for the system control panel
svn path=/trunk/; revision=8591
2004-03-08 14:24:47 +00:00
Filip Navara
06f1206cf2 - Fixed DPRINT.
svn path=/trunk/; revision=8590
2004-03-08 14:22:30 +00:00
Thomas Bluemel
246677c52f little fixes
svn path=/trunk/; revision=8589
2004-03-08 14:20:14 +00:00
Art Yerkes
0c76856d9c More support for IOCTL_TCP_QUERY/SET_INFORMATION_EX
Connected ControlChannel handle type.
Allowed empty EaInfo in create -> ControlChannel.
Added TDI entity for interfaces.
Fixed IPSnmpInfo interface number report.
Fixed returned buffer size report in DispTdiQueryInformationExComplete
Added IPROUTE_ENTRY struct.

What works:
tcpquery lists three entities, two builtin and one IF_ENTITY
tcpquery -i reports 1 interface and 1 address for me (addr=127.0.0.1)

TODO:
Type information for each entity (only two builtin entities are supported now)
Interface info out (IFEntry)
Route info in/out (IPRouteEntry)

svn path=/trunk/; revision=8588
2004-03-08 10:20:18 +00:00
Martin Fuchs
9183e287b1 new bug reports in TODO list
svn path=/trunk/; revision=8587
2004-03-08 09:45:19 +00:00
Eric Kohl
11cc5733d3 Return unique IndexNumber.
Minor cleanup.

svn path=/trunk/; revision=8586
2004-03-08 08:51:26 +00:00
Filip Navara
17ad90f8d0 - Implement RtlGetVersion.
- Rewrite VideoPortGetVersion using RtlGetVersion.
- Added debugging messages to InternalMapMemory.
- Changed VideoPortAllocateBuffer back to PagedPool.

svn path=/trunk/; revision=8585
2004-03-08 08:05:27 +00:00
David Welch
6c8ead7315 - Added a definition for PEVENT.
svn path=/trunk/; revision=8584
2004-03-08 07:41:27 +00:00
David Welch
16473a5114 - Implemented event services.
svn path=/trunk/; revision=8583
2004-03-08 07:04:57 +00:00
James Tabor
8311b47fe4 Finish changes to VideoPortGetVersion
svn path=/trunk/; revision=8582
2004-03-08 04:41:20 +00:00
James Tabor
2f224f7360 Change NonPagedPool for AllocateBuffer and implemented GetVersion for David Welch.
svn path=/trunk/; revision=8581
2004-03-08 04:09:02 +00:00
Andrew Greenwood
0e200b6f99 * Fixed co-ordinate translation for windows that have been moved, adjusting the co-ordinates to take into account the window captions.
NOTE: Menu item tracking is still broken for windows that have been moved. Eg, if you move a window, click on a menu, then move the mouse pointer over another item, the new menu will NOT open unless you click.

svn path=/trunk/; revision=8580
2004-03-07 22:13:51 +00:00
Filip Navara
c0b4d77eb9 - Removed the spinlock I added in my last patch, it's wrong!
svn path=/trunk/; revision=8579
2004-03-07 21:09:08 +00:00
Hartmut Birr
11897d4d87 - Implemented double buffering for a console windows. Currently the second buffer
is a memory bitmap. All screen buffer updates does also write to the bitmap and
  the screen is updated by invalidating the update region. The previous version
  has released the screen buffer lock while scrolling up. It is not possible to
  release the lock while a write to the screen buffer is in progress. If the text
  output routines are faster, we should change the second buffer from a bitmap
  to character array.

svn path=/trunk/; revision=8578
2004-03-07 21:00:11 +00:00
Filip Navara
84269ab2d2 - Fixed MapWindowPoints for NULL window handles.
svn path=/trunk/; revision=8577
2004-03-07 20:38:17 +00:00
Filip Navara
8aad973151 - Changed DbgPrint to DPRINT in DriverEntry.
svn path=/trunk/; revision=8576
2004-03-07 20:33:25 +00:00
Filip Navara
877788b63b - Call create process notify routines from NtCreateProcess.
- Protect PiProcessNotifyRoutine by a spinlock.
- Started PsSetLoadImageNotifyRoutine implementation, it just registers the callback, but doesn't call it.

svn path=/trunk/; revision=8575
2004-03-07 20:31:53 +00:00
Hartmut Birr
fa397a0e33 - Added a disk speed test utility.
svn path=/trunk/; revision=8574
2004-03-07 20:12:13 +00:00
KJK::Hyperion
61ae1aa515 - Added comments to the fiber test, plus minor fixes
- Fixed NT_TIB structure to be compatible with w32api
 - Fixed fiber support in kernel32.dll. Now the correct argument is passed to fiber startup routines

svn path=/trunk/; revision=8573
2004-03-07 20:07:05 +00:00
Hartmut Birr
783cbe0718 - Fixed the handling for ctrl and alt keys.
svn path=/trunk/; revision=8572
2004-03-07 20:03:43 +00:00
Hartmut Birr
ef908e75fd - Initialized the object tag to prevent the tag 0xcccccccc.
svn path=/trunk/; revision=8571
2004-03-07 19:59:37 +00:00
Hartmut Birr
68ddb0bcdd - Pre initialized the resulting transfer length for requests which are split.
svn path=/trunk/; revision=8570
2004-03-07 19:53:08 +00:00
Hartmut Birr
ec2daabaf9 - Changed the dma capability detection code.
- Enabled DMA transfers by default.
- Implemented DMA transfer for atapi devices (CD rom drives).

svn path=/trunk/; revision=8569
2004-03-07 19:48:45 +00:00
Art Yerkes
ce4344ab2c Added waiting on console handles. We use a thread to poll for input
availability.

svn path=/trunk/; revision=8568
2004-03-07 18:06:29 +00:00
Art Yerkes
796f34f5ff David Welch turned me on to the right way to solve the cygwin fork section
map problem.  This fixes map_dup_inherit.

svn path=/trunk/; revision=8567
2004-03-07 17:48:41 +00:00
Filip Navara
39078ad027 - Correct base addresses.
svn path=/trunk/; revision=8566
2004-03-07 14:33:13 +00:00
David Welch
bd277c512b - Added stubs for EngAlphaBlend and EngControlSprites.
svn path=/trunk/; revision=8565
2004-03-07 12:49:27 +00:00
David Welch
27ea3725e5 - .cvsignore update.
svn path=/trunk/; revision=8564
2004-03-07 12:42:10 +00:00
Filip Navara
5c13959830 - Moved the loading of font names from user32.dll to win32k.sys.
- Moved the window metrics values from hivesys.inf to hivedef.inf.
- In case of failure of getting the font values from registry, use default values.
- Removed user32.dll dependency on advapi32.dll.
- Removed the "UGLY HACK" code, because it really isn't true that ReactOS doesn't handle fonts with negative height.

svn path=/trunk/; revision=8563
2004-03-07 11:59:43 +00:00
Filip Navara
fceb231b0e - Fixed RtlFormatCurrentUserKeyPath and it's use.
- Fill correctly all members of the returned device object in IoCreateDevice.
- Don't bug check in loader when export isn't found, only report it and don't load the module.
- If we know a module path while loading, use it for searching for the import modules.
- Modified LdrpBuildModuleBaseName to not strip the extension from file name, because the files 's3legacy.dll' and 's3legacy.sys' are otherwise treated as the same files and wrong module is loaded.

svn path=/trunk/; revision=8562
2004-03-07 11:59:10 +00:00
David Welch
4a88989b85 - Added an implementation of LdrFindImageProcAddress.
svn path=/trunk/; revision=8561
2004-03-07 04:44:41 +00:00
David Welch
75860969fe - Added an implemention of VideoPortGetProcAddress
- ati2mtag calls VideoPortGetAccessRanges with *DeviceId == 0 so treat
that as matching an device id.
- Return STATUS_SUCCESS from VideoPortSetTrappedEmulatorPorts even though
the data is ignored.

svn path=/trunk/; revision=8560
2004-03-07 04:43:55 +00:00
David Welch
ff81e5e1b0 - Use an event rather than a semaphore to wake up the thread that writes
debug output to disk. Avoids bugchecking if the number of debug prints
before the thread wakes up exceeds the semaphore limit.

svn path=/trunk/; revision=8559
2004-03-07 04:38:41 +00:00
KJK::Hyperion
7682e4ce80 Fiber switching code fixed
svn path=/trunk/; revision=8558
2004-03-07 04:00:39 +00:00
KJK::Hyperion
cdf117484b Added fiber test
svn path=/trunk/; revision=8557
2004-03-07 03:48:47 +00:00
KJK::Hyperion
75c1012851 Fiber test application. It's a simulation of the Windows NT scheduling algorithm, complete with priority levels, real-time priorities and starvation prevention. Lacks pre-emption, waiting and boosts
svn path=/trunk/; revision=8556
2004-03-07 03:15:20 +00:00
Hartmut Birr
a30e1be179 - Initialized the win32k timer as SynchronizationTimer.
A notification timer is always signaled after the first hit.
- Possible this does fix more timer related problems.

svn path=/trunk/; revision=8555
2004-03-06 23:09:23 +00:00
David Welch
de9089e707 - Added padding to align VIDEO_PORT_CONFIG_INFO.VdmPhysicalVideoMemoryAddress
and subsequent members the same as visualc.

svn path=/trunk/; revision=8554
2004-03-06 22:27:55 +00:00
David Welch
1f3378866b - Forgot this file.
svn path=/trunk/; revision=8553
2004-03-06 22:26:05 +00:00
David Welch
30aec6e5f7 - Added stubs for some of the new w2k/xp functions.
svn path=/trunk/; revision=8552
2004-03-06 22:25:22 +00:00
David Welch
b041530f2d - Removed some unnecessary DbgPrints from the fatal exception path; ignore
the breakpoint in the tail of KeBugCheckEx/KeBugCheckWithTf if no debugger
is connected.

svn path=/trunk/; revision=8551
2004-03-06 22:24:14 +00:00
David Welch
957b856245 - Added stub implementations of MmAllocatePagesForMdl, MmFreePagesFromMdl
and MmMapLockedPagesSpecifyCache.

svn path=/trunk/; revision=8550
2004-03-06 22:21:20 +00:00
Filip Navara
c3d3178f3e - Corrected processing import directories to handle case when executable imports the same DLL more times.
svn path=/trunk/; revision=8549
2004-03-06 20:32:06 +00:00
James Tabor
fa714393ca Started VideoPortGetAgpServices, Allocate and ReleaseBuffer.
svn path=/trunk/; revision=8548
2004-03-06 08:39:06 +00:00
Filip Navara
f1d20bbf54 2004-03-06 Filip Navara <xnavara@volny.cz>
* drivers/video/videoprt/int10.c (VideoPortInt10):
	Print more debug informations.
	* drivers/video/videoprt/videoprt.c (VideoPortInitialize):
	Prevent conflicts when more miniport drivers are loaded.
	(VideoPortGetDeviceBase, VideoPortMapMemory, InternalMapMemory):
	Change way of reporting error to prevent reporting error when
	the resources were successfully mapped.
	(VideoPortDDCMonitorHelper): Add stub.
	(VidDispatchDeviceControl): Allocate memory from NonPagedPool.
	Add debug messages.
	* drivers/video/videoprt/videoprt.def (VideoPortDDCMonitorHelper):
	Add export.
	* drivers/video/videoprt/videoprt.edf (VideoPortDDCMonitorHelper):
	Ditto.
	* include/ddk/winddi.h (ENG_SYSTEM_ATTRIBUTE): Declare.
	* include/win32k/driver.h (DRIVER_FindMPDriver): Change declaration.
	* subsys/win32k/eng/surface.c (EngModifySurface): Implement.
	* subsys/win32k/misc/driver.c (DRIVER_FindMPDriver):
	Modify to open specific miniport driver depending on parameter.
	* subsys/win32k/objects/dc.c (GetRegistryPath):
	Add parameter to specify display driver number.
	(FindDriverFileNames): Ditto.
	(SetupDevMode): Ditto.
	(IntCreateDC): Correct DPRINT.
	(IntCreatePrimarySurface): Change to try more miniport drivers
	before giving up.
	* subsys/win32k/stubs/stubs.c (HeapVidMemAllocAligned, VidMemFree,
	EngDitherColor, EngQuerySystemAttribute): Add stubs.
	* subsys/win32k/win32k.edf (EngDitherColor, EngQuerySystemAttribute,
	HeapVidMemAllocAligned, VidMemFree, EngModifySurface):
	Add exports.
	* subsys/win32k/win32k.def: Ditto.

svn path=/trunk/; revision=8547
2004-03-06 01:22:04 +00:00
Hartmut Birr
30264d875a - Made it possible to allocate a pageop only if no other pageop for the given address exist.
- Try to pageout a page only if no other access to the page exist.
- Gave a free page only to the next waiting request (in MmReleasePageMemoryConsumer),
  if sufficient free pages are available.

svn path=/trunk/; revision=8546
2004-03-05 11:31:59 +00:00
Hartmut Birr
35cd217de4 - Changed the check for determining if the drawing destination is the screen or not.
- Fixed the order of calls to MouseSafetyOnDrawEnd in some functions.

svn path=/trunk/; revision=8545
2004-03-05 09:02:42 +00:00
Art Yerkes
a57c52276e route add and route delete now work on real windows with our iphlpapi.
svn path=/trunk/; revision=8544
2004-03-05 04:50:01 +00:00
Filip Navara
1f2169eb29 2004-04-04 Filip Navara <xnavara@volny.cz>
* drivers/net/afd/afd/dispatch.c (AfdDispGetName): Implement.
	* drivers/net/afd/include/afd.h (TdiQueryInformation): Declare.
	* drivers/net/tcpip/tcpip/dispatch.c (DispTdiQueryInformation):
	Partially implement for TDI_QUERY_ADDRESS_INFO request.
	* drivers/net/tcpip/transport/tcp/tcp.c (TCPiBuildPacket):
	Don't use variable name NdisBuffer, because it causes conficts.

svn path=/trunk/; revision=8543
2004-03-05 00:48:11 +00:00
Filip Navara
7963bf3535 CVS maintaince
svn path=/trunk/; revision=8542
2004-03-04 23:26:36 +00:00
David Welch
876b2d6ed6 - Make the install depend on the targets to be installed (I don't know
how anyone could service without this).

svn path=/trunk/; revision=8541
2004-03-04 23:14:01 +00:00
David Welch
c77f9d0572 - Fix for crash on gui exit caused by trying to free an uninitialized
variable.

svn path=/trunk/; revision=8540
2004-03-04 23:11:43 +00:00
David Welch
45a3ee5da7 - Reenable the screen after setting the mode.
svn path=/trunk/; revision=8539
2004-03-04 23:01:19 +00:00
Martin Fuchs
72eafe1583 new result buffer length parameter for SHELL_FindExecutable()
svn path=/trunk/; revision=8538
2004-03-04 21:12:11 +00:00
Casper Hornstrup
318a90741d 2004-03-04 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/tcpip/tcpip/i386: New directory.
	* drivers/net/tcpip/tcpip/i386/checksum.S: New file.
	* drivers/net/tcpip/notes.txt: New file.
	* drivers/net/afd/afd/dispatch.c (AfdDispCompleteListen): Signal ACCEPT
	network event.
	(AfdDispEventSelect): Reference event handle.
	* drivers/net/afd/afd/tdi.c (TdiListen): Remove unused event.
	Move Iosb and RequestConnectionInfo to AFD_LISTEN_REQUEST structure.
	* drivers/net/afd/include/afd.h (AFDFCB): Replace EventObjects with
	EventObject of type PKEVENT.
	* drivers/net/tcpip/makefile (ARCH_OBJECTS): New variable.
	(TARGET_OBJECTS): Add ARCH_OBJECTS.
	* drivers/net/tcpip/include/address.h (AddrCloneAddress): New prototype.
	* drivers/net/tcpip/include/checksum.h (ChecksumFold, csum_partial): New
	prototype.
	(TCPv4Checksum): New macro.
	(CorrectChecksum): Rename to IPv4CorrectChecksum.
	(TCPv4CorrectChecksum): New macro.
	* drivers/net/tcpip/include/ip.h (IPv4_DF_MASK): New constant.
	* drivers/net/tcpip/include/tcp.h (TCP_XXX): Correct constants.
	(TCPCreateSegment, TCPFreeSegment, TCPAddSegment): Prototype.
	* drivers/net/tcpip/include/titypes.h (TCP_SEND_REQUEST): Add SequenceNumber
	and AckNumber.
	(TCP_SEGMENT): New structure.
	(CONNECTION_ENDPOINT): Add ListenRequest and ReceivedSegments.
	* drivers/net/tcpip/network/transmit.c (SendFragments): Release memory
	for Data on failure.
	* drivers/net/tcpip/tcpip/address.c (AddrCloneAddress): New function.
	* drivers/net/tcpip/tcpip/checksum.c (ChecksumFold): Factor out folding
	from ChecksumCompute.
	* drivers/net/tcpip/tcpip/dispatch.c (DispTdiListen): Support asynchronous
	operation.
	* drivers/net/tcpip/tcpip/fileobjs.c (FileOpenAddress): Don't cast to
	PTDI_ADDRESS_IP.
	Initialize ReceivedSegments.
	* drivers/net/tcpip/tcpip/routines.c (DisplayIPHeader): New function.
	(DisplayIPPacket): Call DisplayIPHeader().
	(DisplayTCPHeader): Change format strings.
	* drivers/net/tcpip/transport/tcp/tcp.c (IPIdentification,
	TCPSegmentList): Add.
	(TCPCreateSegment, TCPFreeSegment, TCPAddSegment,
	TCPBuildAndTransmitSendRequest2, TCPiSelectISS, TCPiReceiveListen,
	TCPiReceiveSynSent, TCPiReceiveSynReceived, TCPiReceiveData): New
	function.
	(TCPiBuildPacket): Build segment.
	(TCPStartup): Initialize TCPSegmentList.
	(TCPShutdown): Cleanup TCPSegmentList.

svn path=/trunk/; revision=8537
2004-03-04 20:45:39 +00:00
Steven Edwards
0d2b52fb76 Added .cvsignore I forgot about.
svn path=/trunk/; revision=8536
2004-03-04 19:00:44 +00:00
Steven Edwards
5bc9888562 Enable the rest of the stubs needed to get Hello-WinCE working.
No the hello world app still doesnt work. Only the messagebox app works.

svn path=/trunk/; revision=8535
2004-03-04 18:55:44 +00:00
Filip Navara
a2f24f38dc - Cleaned up the Boot Video driver.
- Replaced most of the magic numbers by defines.
- Changed the video mode setting to directly program the VGA registers instead of using Ke386CallBios.
- Properly map the video memory.

svn path=/trunk/; revision=8534
2004-03-04 18:55:09 +00:00
Steven Edwards
5c30d2cc66 Added a stub implementation of commctrl.dll for WinCE support
svn path=/trunk/; revision=8533
2004-03-04 18:54:21 +00:00
Filip Navara
499908b04f - Implemented VideoPortEnableInterrupt and VideoPortDisableInterrupt.
svn path=/trunk/; revision=8532
2004-03-04 18:51:58 +00:00
Filip Navara
eab00ba2a1 - Changed Video Mode setting routines to directly modify VGA registers instead on relying on Int 0x10 services.
- Removed unused code.

svn path=/trunk/; revision=8531
2004-03-04 18:49:58 +00:00
Filip Navara
1849adaa6b CVS maintaince
svn path=/trunk/; revision=8530
2004-03-04 18:45:16 +00:00
Steven Edwards
b6c0920b60 Get a simple WinCE x86 MessageBox program to load.
svn path=/trunk/; revision=8529
2004-03-04 18:24:29 +00:00
Royce Mitchell III
856035ab09 NtGdiPolygon simplification
svn path=/trunk/; revision=8528
2004-03-04 01:50:26 +00:00
Gunnar Dalsnes
cdd8158e28 cleanup
svn path=/trunk/; revision=8527
2004-03-04 01:30:00 +00:00
Gunnar Dalsnes
3c737e0e68 disable apc's for work items
svn path=/trunk/; revision=8526
2004-03-04 01:29:24 +00:00
Filip Navara
07892f4f36 - Don't zero memory allocated by ExAllocatePool.
- Fix font enumeration algorithm to not depend on zeroed memory. (Harmut Birr)

svn path=/trunk/; revision=8525
2004-03-04 00:07:03 +00:00
Steven Edwards
2bb6230071 Created a Edf file.
Commented the rest of the functions out pending my testing
of the WinCE MessageBox app tonight.

svn path=/trunk/; revision=8524
2004-03-03 23:27:27 +00:00
Martin Fuchs
f4ce2a5433 correct jump_to() functions
svn path=/trunk/; revision=8523
2004-03-03 20:33:21 +00:00
Martin Fuchs
30f3bfac23 add opened files to the "recent documents" list
svn path=/trunk/; revision=8522
2004-03-03 20:29:52 +00:00
Martin Fuchs
d39b5e77aa add opened files to the "recent documents" list
svn path=/trunk/; revision=8520
2004-03-03 20:29:51 +00:00
Martin Fuchs
556bf3a4ef new cmdlen parameter for SHELL_FindExecutablebyOperation()
svn path=/trunk/; revision=8519
2004-03-03 20:11:31 +00:00
Martin Fuchs
18f3babce6 merge Wine commit about:
Modified files:
	dlls/shell32   : shlexec.c

Log message:
	Martin Fuchs <martin-fuchs@gmx.net>
	Fix buffer length usage for RegQueryValueW() calls at various places.

Patch: http://cvs.winehq.org/patch.py?id=11331

svn path=/trunk/; revision=8518
2004-03-03 19:26:58 +00:00
Steven Edwards
8a70e9b5a5 Working on Making ReactOS run Windows CE apps........
Dont expect much yet. this is a work in progress.

svn path=/trunk/; revision=8517
2004-03-03 19:11:20 +00:00
Royce Mitchell III
c2923708cd patch by m-t and myself: fixes RoundRect compatibility issue.
svn path=/trunk/; revision=8515
2004-03-03 06:33:58 +00:00
Royce Mitchell III
2a6974f355 patch by m-t: small patch to improve compatibility.
svn path=/trunk/; revision=8514
2004-03-03 04:09:20 +00:00
Steven Edwards
287ae57914 Removed paint and wordpad dummy files
svn path=/trunk/; revision=8513
2004-03-03 03:43:40 +00:00
David Welch
12090241ff - Make dependency files depend on generated headers.
svn path=/trunk/; revision=8512
2004-03-02 22:36:18 +00:00
David Welch
018e7a5fe7 Oops.
svn path=/trunk/; revision=8511
2004-03-02 21:07:35 +00:00
David Welch
3ee20ff277 - Be a bit more specific in the dependencies for the regression tests.
svn path=/trunk/; revision=8510
2004-03-02 20:29:16 +00:00
Filip Navara
7885dac181 netevent.h -> ddk/netevent.h
svn path=/trunk/; revision=8509
2004-03-02 20:06:49 +00:00
Filip Navara
daaf2a72b8 - Build AFD, TCPIP and TDI with w32api headers.
- Removed the old TDI headers from include/net.

svn path=/trunk/; revision=8508
2004-03-02 18:18:15 +00:00
Filip Navara
5eed2db5ae Added import definitions for KefAcquireSpinLockAtDpcLevel and KefReleaseSpinLockFromDpcLevel.
svn path=/trunk/; revision=8507
2004-03-02 17:20:36 +00:00
Filip Navara
7d8bd23d04 assert -> ASSERT
svn path=/trunk/; revision=8506
2004-03-02 17:16:04 +00:00
Filip Navara
71853e115b 2004-03-02 Filip Navara <xnavara@volny.cz>
* include/ddk/scsi.h: Replace ASSERT with assert.
	* include/ddk/video.h: Ditto.
	* include/ddk/winddk.h: Ditto. Remove the lower case assert macro.
	* include/ddk/tdi.h: Correct packing.

svn path=/trunk/; revision=8505
2004-03-02 16:49:22 +00:00
Martin Fuchs
d6e2c152dd merge WineHQ commit
svn path=/trunk/; revision=8504
2004-03-02 10:30:38 +00:00
Martin Fuchs
9cd5e17f9f fix NAMELESSUNION support for struct DECIMAL
svn path=/trunk/; revision=8503
2004-03-02 10:25:59 +00:00
Steven Edwards
636e39eb03 Imported WineCalc by James Briggs.
svn path=/trunk/; revision=8502
2004-03-01 23:27:02 +00:00
Martin Fuchs
43a529f49b - declare IPicture OBJC macros
- enable olepicture.c

svn path=/trunk/; revision=8501
2004-03-01 22:57:20 +00:00
Martin Fuchs
897ccf0b08 resolve SysStringLen FIXME
svn path=/trunk/; revision=8500
2004-03-01 22:45:23 +00:00
Martin Fuchs
7be7923e1a remove superflous dllmain.c file
svn path=/trunk/; revision=8499
2004-03-01 22:41:52 +00:00
Martin Fuchs
93a1911cc6 correct SafeArrayCreateVector[Ex]() parameter types
svn path=/trunk/; revision=8498
2004-03-01 22:12:57 +00:00
Filip Navara
a7c8c741c3 - OpenGL bug fixes and cleanup. Patch by Anich Gregor.
svn path=/trunk/; revision=8497
2004-03-01 19:36:21 +00:00
Filip Navara
279a889834 - Fixed IntGdiExtEscape. Patch by Anich Gregor.
svn path=/trunk/; revision=8496
2004-03-01 19:25:33 +00:00
Vizzini
b5647b11fd First import of in-progress floppy driver replacement. Still needs some
debugging and feature improvements, and the kernel needs a bit of work to
get this driver loading on ReactOS.

svn path=/trunk/; revision=8495
2004-03-01 06:37:26 +00:00
Gunnar Dalsnes
92215102c2 fix root keys sort order
svn path=/trunk/; revision=8494
2004-03-01 01:07:37 +00:00
Gunnar Dalsnes
f4ae5098cc speedup listing items in the treeview
svn path=/trunk/; revision=8493
2004-03-01 00:50:56 +00:00
Hartmut Birr
772d5765b7 - Fixed the returned values for a data underrun.
- Fixed the write count in packet interrupts.

svn path=/trunk/; revision=8492
2004-02-29 22:01:21 +00:00
Filip Navara
7bb59c906f - Fix for race condition that should never happen.
svn path=/trunk/; revision=8491
2004-02-29 17:43:41 +00:00
Martin Fuchs
bc297296d2 fix SafeArrayCreateVectorEx()
svn path=/trunk/; revision=8490
2004-02-29 16:48:02 +00:00
Martin Fuchs
8a5a082170 merge WineHQ commits
svn path=/trunk/; revision=8489
2004-02-29 16:37:23 +00:00
Martin Fuchs
146314a91a fix DECIMAL macros and enable DECIMAL processing functions
svn path=/trunk/; revision=8488
2004-02-29 16:24:54 +00:00
Martin Fuchs
ed3857e1b1 enable SafeArray...() functions
svn path=/trunk/; revision=8487
2004-02-29 15:36:10 +00:00
Martin Fuchs
3834b079e5 remove more FIXMEs
svn path=/trunk/; revision=8486
2004-02-29 15:27:51 +00:00
Martin Fuchs
e6d1d24014 remove LOG output
svn path=/trunk/; revision=8485
2004-02-29 15:06:34 +00:00
Martin Fuchs
f685bba74e enable dispatch.c and varformat.c
svn path=/trunk/; revision=8484
2004-02-29 14:48:12 +00:00
Martin Fuchs
4f35ba6289 declare ITypeInfo_... COBJ macros
svn path=/trunk/; revision=8483
2004-02-29 14:22:52 +00:00
Martin Fuchs
efa31a77fb remove FIXMEs and enable now compiling functions
svn path=/trunk/; revision=8482
2004-02-29 14:19:05 +00:00
Martin Fuchs
bb2bc91e3c declare VARIANT manipulation functions
svn path=/trunk/; revision=8481
2004-02-29 14:16:27 +00:00
Martin Fuchs
6ac5583cf1 - define struct UDATE
- define VTBIT_... constants
- define missing VAR_... constants
- declare functions VarDateFromUdate, VarDateFromUdateEx, VarUdateFromDate

svn path=/trunk/; revision=8480
2004-02-29 14:12:38 +00:00
Martin Fuchs
3b61103945 define DISP_E_DIVBYZERO
svn path=/trunk/; revision=8479
2004-02-29 14:11:02 +00:00
Martin Fuchs
01e0ab2caf * include/oleauto.h (struct NUMPARSE, NUMPRS_...): add declarations for struct NUMPARSE
* include/oleauto.h (VarParseNumFromStr, VarNumFromParseNum): add function declarations

svn path=/trunk/; revision=8478
2004-02-29 13:52:18 +00:00
Martin Fuchs
099d7698c3 remove FIXMEs and re-enable disabled code
svn path=/trunk/; revision=8477
2004-02-29 13:30:08 +00:00
Martin Fuchs
a836674b95 added VARAINT union members llVal and ullVal
svn path=/trunk/; revision=8476
2004-02-29 13:23:45 +00:00
Martin Fuchs
5666895041 move missing oleaut32 declarations from ros-mingw-fixes.h into W32API headers
svn path=/trunk/; revision=8475
2004-02-29 12:53:39 +00:00
Hartmut Birr
b859b0b5db - Started implementation of busmaster dma.
- Splited the interrupt handlers.
- Don't handle 6 byte mode sense requests.

svn path=/trunk/; revision=8474
2004-02-29 12:27:52 +00:00
Hartmut Birr
72986b727d - Rewrote parts of the capability detection code.
svn path=/trunk/; revision=8473
2004-02-29 12:26:09 +00:00
Martin Fuchs
a4a8e435ed remove FIXMEs using corrected W32API headers
svn path=/trunk/; revision=8472
2004-02-29 12:12:18 +00:00
Martin Fuchs
035924f082 declare missing COLOR_... constants
svn path=/trunk/; revision=8471
2004-02-29 12:11:43 +00:00
Martin Fuchs
655457493c remove FIXMEs using corrected W32API headers
svn path=/trunk/; revision=8470
2004-02-29 12:05:33 +00:00
Martin Fuchs
e38d6f00f7 - correct definition of VT_INT_PTR and VT_UINT_PTR
svn path=/trunk/; revision=8469
2004-02-29 12:03:30 +00:00
Martin Fuchs
9adec1e712 - correct parameter type from LPDISPATCH* to LPDISPATCH
- define V_U... macros

svn path=/trunk/; revision=8468
2004-02-29 12:03:23 +00:00
Hartmut Birr
ad9ce1d94e - Protected the callback stack list with a spinlock.
svn path=/trunk/; revision=8467
2004-02-29 11:51:49 +00:00
Filip Navara
e7a65678bd - Fixed GDI handle leak.
svn path=/trunk/; revision=8466
2004-02-29 11:34:42 +00:00
Filip Navara
e5185d34b3 - Removed the incorrect implementations of Device Interface functions.
- Added verified implementation of IoGetDeviceInterfaces written by Matthew Brace and fixed by me.

svn path=/trunk/; revision=8465
2004-02-29 11:34:40 +00:00
Hartmut Birr
9a5bc1ce43 - Don't retry, if the request fails with SRB_STATUS_INVALID_REQUEST.
svn path=/trunk/; revision=8464
2004-02-29 11:21:58 +00:00
Hartmut Birr
fc1748325f - Implemented ScsiPortGetPhysicalAddress for Srb buffers.
svn path=/trunk/; revision=8463
2004-02-29 11:19:21 +00:00
Martin Fuchs
56aef8d72d preparations for SDI code merge
svn path=/trunk/; revision=8462
2004-02-28 23:33:15 +00:00
Filip Navara
504a0756cf - Fixed the definition of IsTextUnicode.
svn path=/trunk/; revision=8460
2004-02-28 22:26:34 +00:00
Thomas Bluemel
f54363658f added ability to cache gdi objects so they don't have to be allocated and deallocated all the time. it is disabled by default but could perhaps speed up the gui a bit.
svn path=/trunk/; revision=8459
2004-02-28 21:16:55 +00:00
Martin Fuchs
d7b74d7460 move '#undef UNTERFACE' behind interface definitions
svn path=/trunk/; revision=8458
2004-02-28 20:14:33 +00:00
Martin Fuchs
6f1017c15b merge WineHQ commits
svn path=/trunk/; revision=8457
2004-02-28 19:16:54 +00:00
Martin Fuchs
f7a2461d14 - "up" button (no functionality yet)
- moved extra functions into new "special" toolbar

svn path=/trunk/; revision=8456
2004-02-28 18:10:03 +00:00
Filip Navara
6332ecc1cd - Fixed the MSVCRT compiling error.
svn path=/trunk/; revision=8453
2004-02-28 16:54:22 +00:00
Martin Fuchs
c3d638c3a8 - fix for restoring applications using task bar buttons
- project file maintainancement
- docu update

svn path=/trunk/; revision=8452
2004-02-28 16:41:55 +00:00
Martin Fuchs
d0cec9c1cd - fix for restoring applications using task bar buttons
- project file maintainancement
- docu update

svn path=/trunk/; revision=8451
2004-02-28 16:41:55 +00:00
Martin Fuchs
6a84f09c2e compatibility fix for "Sleipnir" web browser: minimizing by clicks on taskbar
svn path=/trunk/; revision=8448
2004-02-28 16:05:33 +00:00
Martin Fuchs
a5248aa7bc desktop switching: allow applications to be visible only on one desktop
svn path=/trunk/; revision=8446
2004-02-28 15:14:38 +00:00
Filip Navara
44cb45b570 - Fixed RtlNtStatusToDosErrorNoTeb problems caused by mixing signed and unsigned integers.
svn path=/trunk/; revision=8445
2004-02-28 15:12:49 +00:00
Filip Navara
9b3df405d1 - NtQueryKey should return STATUS_BUFFER_TOO_SMALL and not STATUS_BUFFER_OVERFLOW.
svn path=/trunk/; revision=8444
2004-02-28 15:12:37 +00:00
Filip Navara
d6fd3dcb34 - Add a notice about import library order.
svn path=/trunk/; revision=8443
2004-02-28 15:12:28 +00:00
Martin Fuchs
0f584fd410 new TODO entries
svn path=/trunk/; revision=8442
2004-02-28 14:47:12 +00:00
Martin Fuchs
3d260251a8 Command line option "-install" to replace previously installed shell application
svn path=/trunk/; revision=8441
2004-02-28 14:26:40 +00:00
Martin Fuchs
44f3f0d4a0 remember last foreground window when switching desktops
svn path=/trunk/; revision=8440
2004-02-28 13:49:53 +00:00
Martin Fuchs
fd2602afbb remember last foreground window when switching desktops
svn path=/trunk/; revision=8439
2004-02-28 13:45:33 +00:00
Martin Fuchs
9399bfa9f2 remember last foreground window when switching desktops
svn path=/trunk/; revision=8438
2004-02-28 13:45:33 +00:00
Eric Kohl
bba7724b2d Complete user profile creation.
Add LoadUserProfileW() stub.

svn path=/trunk/; revision=8436
2004-02-28 11:30:59 +00:00
Martin Fuchs
0b2f62bcf5 another foreground window fix for clicks on notification icons
svn path=/trunk/; revision=8434
2004-02-28 10:57:01 +00:00
Martin Fuchs
ae26b09eb5 implemented 'minimize all' feature
svn path=/trunk/; revision=8433
2004-02-28 10:28:09 +00:00
Richard Campbell
44c383eeef temporary workaround for a font issue in win32k...negative font heights aren't handled properly.
svn path=/trunk/; revision=8431
2004-02-28 03:02:08 +00:00
Thomas Bluemel
9ece8f9451 don't hold more than one WM_MOUSEMOVE message at the same time in the message queue
svn path=/trunk/; revision=8430
2004-02-28 00:44:28 +00:00
Gé van Geldorp
82cff84c9a Use *NameLength before overwriting it
svn path=/trunk/; revision=8429
2004-02-27 23:11:32 +00:00
Steven Edwards
9187c6f654 Removed and moved some internal headers for the WINE CxxFrameHandler
Adapted the WINE implemenetation of __UnDName[Ex]
Enabled all of the stubs needed for MFC.

svn path=/trunk/; revision=8428
2004-02-27 22:39:39 +00:00
Thomas Bluemel
b48c6953d0 minor fix to SetParent()
svn path=/trunk/; revision=8427
2004-02-27 22:21:32 +00:00
Hartmut Birr
8219d9801e - Initialize/delete the lock of a console.
- Count the correct number of input events in CsrGetNumberOfConsoleInputEvents.

svn path=/trunk/; revision=8426
2004-02-27 17:35:42 +00:00
Thomas Bluemel
b1acedcbee don't lock the screen dc if it's NULL
svn path=/trunk/; revision=8425
2004-02-27 10:08:21 +00:00
Thomas Bluemel
dc750f77e5 fixed a few gdi leaks
svn path=/trunk/; revision=8424
2004-02-27 10:01:49 +00:00
Filip Navara
a9ecd3580c - Fixed RtlNtStatusToDosErrorNoTeb.
svn path=/trunk/; revision=8423
2004-02-27 05:50:56 +00:00
Thomas Bluemel
f917dbbe8c fixed missing window dereference
svn path=/trunk/; revision=8422
2004-02-27 01:05:45 +00:00
Thomas Bluemel
49d24c174d fixed missing window dereference
svn path=/trunk/; revision=8421
2004-02-27 00:11:58 +00:00
Thomas Bluemel
02708b9017 minor fixes
svn path=/trunk/; revision=8420
2004-02-26 22:52:05 +00:00
Martin Fuchs
326e514891 rebar control for cabinet windows
svn path=/trunk/; revision=8419
2004-02-26 22:45:50 +00:00
Thomas Bluemel
5469cad926 fixed crashes that could be caused by the thread cleanup routine when destroying windows from different threads
svn path=/trunk/; revision=8418
2004-02-26 22:23:55 +00:00
Martin Fuchs
11562074f2 disable start menu entries for non-existing folders
svn path=/trunk/; revision=8416
2004-02-26 21:52:26 +00:00
Martin Fuchs
9bcc74655c include explorer windows in desktop switching
svn path=/trunk/; revision=8413
2004-02-26 21:20:50 +00:00
Martin Fuchs
907d42478e avoid displaying context menu for application button _and_ desktop bar at the same time
svn path=/trunk/; revision=8411
2004-02-26 20:38:32 +00:00
Martin Fuchs
2e8d0a55b2 docu update
svn path=/trunk/; revision=8410
2004-02-26 20:26:11 +00:00
Martin Fuchs
75f575e7dd fix foreground window handling when clicking on notification area icons
svn path=/trunk/; revision=8408
2004-02-26 20:20:44 +00:00
Martin Fuchs
8fe7e083b3 fix foreground window handling when clicking on notification area icons
svn path=/trunk/; revision=8407
2004-02-26 20:20:44 +00:00
Martin Fuchs
15eee1ef26 resize taskbar buttons according to number of running applications
svn path=/trunk/; revision=8406
2004-02-26 19:47:39 +00:00
Martin Fuchs
fbd78a5a3a resize taskbar buttons according to number of running applications
svn path=/trunk/; revision=8405
2004-02-26 19:47:39 +00:00
Martin Fuchs
c22f36b23a resize taskbar buttons according to number of running applications
svn path=/trunk/; revision=8404
2004-02-26 19:47:39 +00:00
Hartmut Birr
d96346dede - Marked a cache segment as page out in progress to prevent from
recursive calls to MmPageOutPhysicalAddress.
- This fixes bug #220.

svn path=/trunk/; revision=8403
2004-02-26 19:29:55 +00:00
Filip Navara
8098620a78 - Corrected EiAllocatePool prototype.
- Corrected debug message in MmIsUsablePage.

svn path=/trunk/; revision=8402
2004-02-26 18:54:52 +00:00
Filip Navara
86275a897f - Modified import library order to link to snprintf from MSVCRT and not NTDLL. The one in NTDLL doesn't support '%f' parsing and so it caused the "%f KB" texts in Explorer instead of real file size.
svn path=/trunk/; revision=8401
2004-02-26 16:19:17 +00:00
Filip Navara
803e8a4b0f - Removed IsTextUnicode stub and replaced it with forwarding to NTDLL.RtlIsTextUnicode.
svn path=/trunk/; revision=8400
2004-02-26 16:16:18 +00:00
Filip Navara
30830340a8 - Support for RBBS_HIDETITLE style.
svn path=/trunk/; revision=8399
2004-02-26 13:45:44 +00:00
Eric Kohl
3c84f18b66 Remove obsolete files.
svn path=/trunk/; revision=8397
2004-02-26 12:29:15 +00:00
Eric Kohl
b35af5f50f Removed all forwarded exports to MSVCRT because a process must not load MSVCRT and CRTDLL at the same time.
svn path=/trunk/; revision=8396
2004-02-26 12:23:29 +00:00
Steven Edwards
cf035ffc03 Imported Olepro32 from WINE CVS-20040225.......
...I really want to get MFC working.

svn path=/trunk/; revision=8395
2004-02-26 02:01:13 +00:00
Steven Edwards
d36d4e1f21 Updated for Winmm changes.
svn path=/trunk/; revision=8394
2004-02-26 01:42:21 +00:00
Steven Edwards
8e76a54705 Added stub of IsTextUnicode to get notepad working again......
.....The next time someone submits copyrighted code and it makes it in to CVS
the contributor and the person that committed it are going to get a visit from me.

svn path=/trunk/; revision=8393
2004-02-26 00:33:09 +00:00
Steven Edwards
23cc7e88c1 Added stubs for GetFileSecurityA, SetFileSecurityA and
GetUserName based on Winehq sources to get Dependancy
Walker working again.

svn path=/trunk/; revision=8392
2004-02-25 23:54:13 +00:00
Steven Edwards
6645e904c7 Added Winehq2ros.patch for winmm
svn path=/trunk/; revision=8391
2004-02-25 23:50:28 +00:00
Hartmut Birr
8a3a4af533 - Initialize/delete the lock of a screen buffer.
svn path=/trunk/; revision=8390
2004-02-25 23:33:42 +00:00
Steven Edwards
22d250a711 Forgot to commit this.
svn path=/trunk/; revision=8389
2004-02-25 23:13:37 +00:00
Steven Edwards
2ef4c4f1ad Fixed error introduced by removing the stubs.
Created new file hwprofiles.c for GetCurrentHwProfileA

svn path=/trunk/; revision=8388
2004-02-25 23:12:39 +00:00
Martin Fuchs
427c8aeb8f rebar control for desktop bar
svn path=/trunk/; revision=8387
2004-02-25 22:56:49 +00:00
Steven Edwards
1816da4b7a Fix building Lsass
svn path=/trunk/; revision=8386
2004-02-25 22:36:53 +00:00
Steven Edwards
4f12cc2e75 Removed Makefile.ros as it is autogenerated.
svn path=/trunk/; revision=8385
2004-02-25 22:34:57 +00:00
Art Yerkes
6811934f2a For now, I changed the _WIN32_WINNT level in iphlpapi_private.h. This will
probably need to be changed.

svn path=/trunk/; revision=8384
2004-02-25 21:41:31 +00:00
Art Yerkes
4903d69f54 Added iphlpapi_private, which used to be ipprivate. Renamed to better go with
wine scheme.

svn path=/trunk/; revision=8383
2004-02-25 20:35:31 +00:00
Art Yerkes
3fa6583180 No more ick tabs.
svn path=/trunk/; revision=8382
2004-02-25 20:29:15 +00:00
Casper Hornstrup
47306399fd 2004-02-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
* drivers/net/tcpip/datalink/loopback.c: Reformat.
	* drivers/net/tcpip/network/neighbor.c: Ditto.
	* drivers/net/tcpip/tcpip/info.c: Ditto.
	* drivers/net/tcpip/transport/datagram/datagram.c: Cleanup.
	If there is an out-of-resources situation, don't transmit the
	datagram out of order.

svn path=/trunk/; revision=8381
2004-02-25 20:27:56 +00:00
Martin Fuchs
de2e13a185 fix taksbar icons after closing previous applications
svn path=/trunk/; revision=8379
2004-02-25 20:21:29 +00:00
Steven Edwards
07405fb464 Added a stub odbc32.dll as MFC depends on it.
svn path=/trunk/; revision=8378
2004-02-25 20:09:39 +00:00
Art Yerkes
5eea69af20 Removed stubs in icmp, iphlpv6. These are documented as being linked from
iphlpapi.lib, but I made the incorrect assumption that this meant that
they came from iphlpapi.dll

svn path=/trunk/; revision=8377
2004-02-25 20:06:40 +00:00
Steven Edwards
99866ef3a0 Sync Winmm with Wine-20040215 and silence some non-error messages.
svn path=/trunk/; revision=8376
2004-02-25 20:00:42 +00:00
Eric Kohl
9744443ac8 Remove ALL stubs which might be of questionable origin.
svn path=/trunk/; revision=8375
2004-02-25 19:34:33 +00:00
Martin Fuchs
8932a19cd6 set background brush for the short moment of displaying the background color while moving foreground windows
svn path=/trunk/; revision=8373
2004-02-25 19:29:12 +00:00
Martin Fuchs
fcf0872f58 fixed bug #224
svn path=/trunk/; revision=8371
2004-02-25 18:58:26 +00:00
Hartmut Birr
2d27f8a140 - Made again usable the cursor and F1-12 keys.
svn path=/trunk/; revision=8370
2004-02-25 18:12:52 +00:00
Eric Kohl
8b99b4ec5e Remove ALL stubs which might be of questionable origin.
svn path=/trunk/; revision=8369
2004-02-25 14:25:11 +00:00
Gé van Geldorp
5ed2e7cef1 Silence debug messages
svn path=/trunk/; revision=8368
2004-02-25 09:55:30 +00:00
Art Yerkes
5c85402724 Iphlpapi is now fully merged. Further changes should be synced with wine.
svn path=/trunk/; revision=8367
2004-02-25 07:41:50 +00:00
James Tabor
5e2693380d Partial implementation of VideoPortGetVgaStatus, needs testing
svn path=/trunk/; revision=8366
2004-02-25 05:38:33 +00:00
James Tabor
11f62ff83b Started implementation of VideoPortGetVgaStatus
svn path=/trunk/; revision=8365
2004-02-25 03:05:27 +00:00
James Tabor
f687066559 Started implementation of VideoPortGetVgaStatus
svn path=/trunk/; revision=8364
2004-02-25 02:59:55 +00:00
Steven Edwards
2b83ae3b64 Change a UNIMPLEMENTED to a DPRINT so we dont hang
After doing Help -> About -> About OS in Explorer.

svn path=/trunk/; revision=8363
2004-02-25 01:25:51 +00:00
David Welch
5fd0390001 - Make the install target depend on the files to be installed.
svn path=/trunk/; revision=8362
2004-02-24 23:51:38 +00:00
David Welch
7eeed46004 - Avoid a crashing when trying to process an exception early in the boot process.
svn path=/trunk/; revision=8361
2004-02-24 23:51:04 +00:00
David Welch
446f263ed3 - Try to avoid crashing when dumping out a corrupted stack.
svn path=/trunk/; revision=8360
2004-02-24 23:50:26 +00:00
Steven Edwards
f8a6374074 Get most of PICE to build again.
svn path=/trunk/; revision=8359
2004-02-24 23:30:20 +00:00
Martin Fuchs
e105a06719 docu update
svn path=/trunk/; revision=8358
2004-02-24 22:20:18 +00:00
Martin Fuchs
4438a2a27c fixed more GDI handle leaks
svn path=/trunk/; revision=8357
2004-02-24 22:15:43 +00:00
Thomas Bluemel
7db5e43a17 added /KDNOECHO parameter to disable serial echo by default in kdgb
svn path=/trunk/; revision=8355
2004-02-24 21:25:41 +00:00
Martin Fuchs
f276f1c016 - launch task manager
- set foregroundwindow when opening start menu (CTRL-ESC shortcut)

svn path=/trunk/; revision=8354
2004-02-24 20:00:16 +00:00
Thomas Bluemel
aec334c343 fixed WindowFromPoint() to send WM_NCHITTEST messages to windows that belong to the current process.
svn path=/trunk/; revision=8352
2004-02-24 15:56:53 +00:00
Vizzini
e7282af976 patch by Michael Fritscher to get Mspaint closer to working
svn path=/trunk/; revision=8351
2004-02-24 15:42:06 +00:00
Thomas Bluemel
5299e2afd5 cleanup
svn path=/trunk/; revision=8350
2004-02-24 13:27:03 +00:00
Gé van Geldorp
e3ead6ead5 Add more icon images
svn path=/trunk/; revision=8349
2004-02-24 09:16:32 +00:00
Aleksey Bragin
3613632618 InstallHinfSection has had a good progress at last - now it supports (at least _should_ - I didn't have time to test it thoroughly) file operations via file queues. There maybe a mess with paths, and I'm committing this now to have this code lying in CVS rather than on my HDD, since it isn't fully finished yet. But it's really close to the final stage.
svn path=/trunk/; revision=8348
2004-02-24 08:17:37 +00:00
Aleksey Bragin
dcbe451792 I modified this StretchBlt sample to provide non-uniform scaling of image, plus two ways to scale it - via stretchblt() and via stretchdibits() -- to test both functions in ReactOS.
If anyone is strictly against me modifiying this sample from the book -- tell me, and I will create stretchblt2 then. But I think this is unncessary.

svn path=/trunk/; revision=8347
2004-02-24 08:05:13 +00:00
Thomas Bluemel
b13d239f87 1. get rid of winlock.c
2. changed the Parent and Object field of the WINDOW_OBJECT structure to HANDLE for easier maintainance and serialize any access to them

svn path=/trunk/; revision=8346
2004-02-24 01:30:58 +00:00
Gé van Geldorp
d8b7c0ee97 Fix mono -> color bitblts
svn path=/trunk/; revision=8345
2004-02-23 22:44:52 +00:00
Martin Fuchs
60f5689a70 keyboard navigation in start menu using first character of display names
svn path=/trunk/; revision=8344
2004-02-23 22:17:01 +00:00
Filip Navara
47d8d8ba89 - As CURSORICON_FindBestIcon now takes color *bits* count and not color count, fixed the color calculation in LookupIconIdFromDirectoryEx.
svn path=/trunk/; revision=8342
2004-02-23 22:04:38 +00:00
Casper Hornstrup
46d0e1a57c 2004-02-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
* tools/regtests.c (KMSTUB): Correct device name.

svn path=/trunk/; revision=8341
2004-02-23 21:46:54 +00:00
Gé van Geldorp
1092faa446 Recursively search sub menus when a command id is specified
svn path=/trunk/; revision=8340
2004-02-23 21:18:45 +00:00
Filip Navara
b320e099ed - Compilation fixes.
svn path=/trunk/; revision=8339
2004-02-23 20:56:50 +00:00
Martin Fuchs
8c1f187f6e fixed icon handle leak in notification area
svn path=/trunk/; revision=8337
2004-02-23 20:36:21 +00:00
Gé van Geldorp
717ccf2aa4 Fix key left at begin and key right at end of menu
svn path=/trunk/; revision=8336
2004-02-23 20:10:01 +00:00
Gé van Geldorp
405c0e0d5a Fix race condition
svn path=/trunk/; revision=8335
2004-02-23 20:08:35 +00:00
Filip Navara
7a4c78bd4d - Fixed icon lookup so that in high color video modes colorfull icons are used.
svn path=/trunk/; revision=8334
2004-02-23 18:16:37 +00:00
Gé van Geldorp
f493ab9cc7 Release the correct lock
svn path=/trunk/; revision=8333
2004-02-23 12:39:37 +00:00
Eric Kohl
95033dafab Update to new fmifs types.
Implement partition format progress bar.

svn path=/trunk/; revision=8332
2004-02-23 11:58:27 +00:00
Eric Kohl
951f5f360f Update to new fmifs types.
svn path=/trunk/; revision=8331
2004-02-23 11:57:00 +00:00
Eric Kohl
574b42db31 * lib/fmifs
* lib/fslib/fvatlib
  Convert Win32 types to native
  Add PROGRESS and DONE callbacks.

svn path=/trunk/; revision=8330
2004-02-23 11:56:10 +00:00
Eric Kohl
2b197a92e6 * lib/fmifs
* lib/fslib/fvatlib
  Convert Win32 types to native
  InitializeFmIfs() is the DLL entry point

svn path=/trunk/; revision=8329
2004-02-23 11:55:12 +00:00
Eric Kohl
2beb8b39ac * lib/fmifs
* lib/fslib/fvatlib
  Convert Win32 types to native

svn path=/trunk/; revision=8328
2004-02-23 11:53:00 +00:00
Jason Filby
8265b68f51 Add Everaldo to credits
svn path=/trunk/; revision=8326
2004-02-23 04:29:39 +00:00
Gé van Geldorp
0970df8771 Implement system menus
svn path=/trunk/; revision=8325
2004-02-22 23:40:58 +00:00
Filip Navara
50103fff09 - Added missing members of GDIINFO structure.
svn path=/trunk/; revision=8324
2004-02-22 22:19:49 +00:00
Filip Navara
576e14972b - Advancing pointer inside loop makes more sense than checking the same structure ModeCount times.
svn path=/trunk/; revision=8323
2004-02-22 22:19:48 +00:00
Filip Navara
cc1c862dae - Added more debugging messages for video port driver Int 10 services.
svn path=/trunk/; revision=8322
2004-02-22 22:19:42 +00:00
Filip Navara
63aeee7369 Corrected packing!
svn path=/trunk/; revision=8321
2004-02-22 20:21:05 +00:00
David Welch
77c1718844 - Make the targets for regression test files the files themselves to avoid
unnecessary recompilation.

svn path=/trunk/; revision=8319
2004-02-22 18:53:39 +00:00
David Welch
0679c1f91e - Inherit any PREFIX setting for cross-compilation from the environment.
svn path=/trunk/; revision=8318
2004-02-22 18:46:45 +00:00
Gé van Geldorp
dc9250b384 Implement keyboard navigation for menus
svn path=/trunk/; revision=8317
2004-02-22 18:04:52 +00:00
Casper Hornstrup
af770309fc 2004-02-22 Casper S. Hornstrup <chorns@users.sourceforge.net>
* Makefile (all): Put REGTESTS dependency earlier in the list.
	* lib/kernel32/makefile: Support regression tests.
	* lib/kernel32/misc/dllmain.c: Prepare regression tests.
	* regtests/win32base/driver.c: (DummyThreadMain,
	RunPrivateTests): Add.
	(RegTestMain): Run private module regression tests.
	* tools/helper.mk: Add rtshared.a to MK_LIBS if building
	user-mode regression tests.
	* tools/regtests.c (UMSTUB): Add.
	(main): Output user-mode stub.
	* lib/kernel32/tests: New directory.
	* lib/kernel32/tests/.cvsignore: New file.
	* lib/kernel32/tests/Makefile: New file.
	* lib/kernel32/tests/tests: New directory.
	* lib/kernel32/tests/tests/.cvsignore: New file.
	* regtests/win32base/tests/file-1.c: move...
	* lib/kernel32/tests/tests/file-1.c: ...here.

svn path=/trunk/; revision=8316
2004-02-22 17:30:33 +00:00
Filip Navara
e8cc37fcec - Added some strange behaviour to VIS_ComputeVisibleRegion.
- Draw windows from foreground to background in IntFindWindowToRepaint, because it causes problems otherwise.

svn path=/trunk/; revision=8315
2004-02-22 16:56:14 +00:00
Filip Navara
b716aa0265 - Prevent double unlinking of window.
svn path=/trunk/; revision=8313
2004-02-22 15:14:27 +00:00
Filip Navara
1dc0c10491 - Fixed couple of mutex locking issues.
- Removed IntInitDesktopWindow function, because it's no longer used.

svn path=/trunk/; revision=8312
2004-02-22 14:26:35 +00:00
Eric Kohl
a1eebee733 Minor cleanup.
Implement RegRestoreKeyW().

svn path=/trunk/; revision=8311
2004-02-22 14:26:07 +00:00
Thomas Bluemel
2d6b7b1255 minor fix
svn path=/trunk/; revision=8310
2004-02-22 14:09:51 +00:00
Martin Fuchs
765c5f4797 display 'not yet implemented' messages for printers, network and RAS; disable address&command bar
svn path=/trunk/; revision=8306
2004-02-22 12:26:06 +00:00
Filip Navara
9dacfa1b68 - Modifed DceUpdateVisRgn to correctly handle situations when DceGetVisRgn returns NULL.
- Fixed the alternative version of VIS_ComputeVisibleRegion and made it the one and only, because it's smaller and faster than the original one.

svn path=/trunk/; revision=8305
2004-02-22 12:25:35 +00:00
Filip Navara
936dffea06 - Don't call IntSendMessage in MsqTranslateMouseMessage with uninitialized variable as window handle.
svn path=/trunk/; revision=8304
2004-02-22 12:25:02 +00:00
Martin Fuchs
2ae57f1248 disable stubs for SHFindFiles() and SHFindComputer()
svn path=/trunk/; revision=8303
2004-02-22 12:18:58 +00:00
Thomas Bluemel
80c553b4b5 minor cleanup
svn path=/trunk/; revision=8301
2004-02-22 12:06:43 +00:00
Martin Fuchs
b45d1b24ec - handle case, when having problems to open image file
- disable FAT-button since it's not yet ready

svn path=/trunk/; revision=8299
2004-02-22 10:20:30 +00:00
Casper Hornstrup
cc3221be2c 2004-02-22 Casper S. Hornstrup <chorns@users.sourceforge.net>
* config (REGRESSIONTESTS): Add.
	* rules.mak (REGTESTS_PATH_INC): Add.
	* drivers/net/tcpip/makefile: Support regression tests.
	* drivers/net/tcpip/tcpip/main.c: Prepare regression tests.
	* hal/halx86/Makefile: Rename TARGET_LIBPATH to TARGET_IMPLIBPATH.
	* regtests/kmregtests/driver.c (KMRegTestsRegister): Add.
	(KMRegTestsRun): Move call to InitializeTests() and RegisterTests() to
	DriverEntry().
	(KMRegTestsDispatch): Support IOCTL_KMREGTESTS_REGISTER.
	* regtests/kmregtests/kmregtests.h (IOCTL_KMREGTESTS_REGISTER): Define.
	* tools/config.mk: Define REGTESTS if REGRESSIONTESTS = 1.
	* tools/helper.mk: Support module private regression tests.
	(TARGET_LIBPATH): Rename to TARGET_IMPLIBPATH.
	(TARGET_LIBPATH, TARGET_REGTESTS): Add.
	* tools/mkconfig.c: Support REGTESTS.
	* tools/regtests.c (umstubfile, kmstubfile): Add.
	(is_file_changed, write_file_if_changed): Add.
	(KMSTUB): Add.
	(HELP): Mention -u and -k switches.
	(main): Parse -u and -k switches.
	* drivers/net/tcpip/tests: New directory.
	* drivers/net/tcpip/tests/.cvsignore: New file.
	* drivers/net/tcpip/tests/Makefile: Makefile.
	* drivers/net/tcpip/tests/tests: New directory.
	* drivers/net/tcpip/tests/tests/.cvsignore: New file.

svn path=/trunk/; revision=8298
2004-02-22 09:59:17 +00:00
Filip Navara
a7b989769f - Unified indenting style in NtGdiExtTextOut and implemented support for right and centered text alignment.
- Don't render glyphs in TextIntGetTextExtentPoint.

svn path=/trunk/; revision=8297
2004-02-22 08:35:21 +00:00
Filip Navara
e6ad1bc2c0 - Fixed deadlock in IntFindWindowToRepaint.
svn path=/trunk/; revision=8296
2004-02-21 23:30:18 +00:00
Filip Navara
f38fdd47c3 - Fixed releasing of window object in IntValidateParent and NtUserRedrawWindow. Spotted by Thomas Weidenmuller.
- Fixed potencial deadlock in IntPaintWindows. Spotted by Thomas Weidenmuller.

svn path=/trunk/; revision=8295
2004-02-21 22:22:26 +00:00
Filip Navara
d83db81881 - Minor correction of NtGdiExtTextOut.
svn path=/trunk/; revision=8294
2004-02-21 21:15:22 +00:00
Filip Navara
232ffaff28 - Moved code from NtGdiTextOut to NtGdiExtTextOut and added basic support for ETO_OPAQUE flag.
svn path=/trunk/; revision=8293
2004-02-21 20:26:54 +00:00
Jason Filby
63eaa13a61 Null terminator fixes
svn path=/trunk/; revision=8292
2004-02-21 16:36:02 +00:00
Emanuele Aliberti
3cb945ba08 KERNEL_VERSION_BUILD_RC added in buildno.h.
svn path=/trunk/; revision=8291
2004-02-21 15:34:51 +00:00
Filip Navara
5aaaf34334 - Fixed my use of IntIsWindowVisible, it takes HWND as parameter and not PWINDOW_OBJECT.
svn path=/trunk/; revision=8290
2004-02-21 14:00:30 +00:00
Filip Navara
445eb5362d - Minor correction (again)
svn path=/trunk/; revision=8289
2004-02-21 13:57:31 +00:00
Filip Navara
c2458a1a4c CVS maintenance
svn path=/trunk/; revision=8288
2004-02-21 13:56:36 +00:00
Filip Navara
391292e419 - Minor correction
svn path=/trunk/; revision=8287
2004-02-21 13:51:13 +00:00
Gé van Geldorp
717c7d0333 Fix double release of fast mutex
svn path=/trunk/; revision=8286
2004-02-21 13:37:26 +00:00
Filip Navara
409eab1805 - Fixed some nonsense code in NtGdiGetDCEx.
- Fixed few race conditions in painting code.
- Removed function IntGetNCUpdateRegion and inlined it's code into IntInvalidateWindows.
- Removed function IsHidden and replaced it's usage by IntIsWindowVisible.

svn path=/trunk/; revision=8285
2004-02-21 13:13:27 +00:00
Hartmut Birr
5b5028fcb9 - Fixed a wrong index, which resulted in writing over the end of an allocated buffer.
svn path=/trunk/; revision=8284
2004-02-21 12:58:49 +00:00
Gé van Geldorp
1f1b824d08 Import w32api version 2.5 include files
svn path=/trunk/; revision=8283
2004-02-21 09:20:39 +00:00
Filip Navara
30e8e2d0b0 - Minor correction to NtConnectPort to avoid freeing NULL pointer. Based on patch by Waldo Alvarez Ca�izares.
svn path=/trunk/; revision=8282
2004-02-21 09:06:27 +00:00
Filip Navara
6659cc3181 - Fix by Waldo Alvarez Ca�izares for 8 <-> 8 bpp and 32 <-> 32 bpp StretchBlt
svn path=/trunk/; revision=8281
2004-02-21 09:06:25 +00:00
Mike Nordell
b3e3acc784 Fix environment variable handling. The (optional) envp argument to main() shall not contain strings of the form "=C:=C:\directory\".
svn path=/trunk/; revision=8280
2004-02-21 08:02:49 +00:00
Gé van Geldorp
184c8d2fba Bump version number on HEAD
svn path=/trunk/; revision=8279
2004-02-20 23:24:30 +00:00
Filip Navara
fd26a9a27b - Fixed line endings
svn path=/trunk/; revision=8278
2004-02-20 15:05:36 +00:00
Gé van Geldorp
4009a9e979 Kill another --include-dir
svn path=/trunk/; revision=8277
2004-02-20 08:33:37 +00:00
Royce Mitchell III
a7e30599ea If nWidth or nHeight is zero, CreateBitmap returns the handle to a 1- by 1-pixel, monochrome bitmap.
svn path=/trunk/; revision=8276
2004-02-20 07:45:58 +00:00
Gé van Geldorp
1355d672b4 Move --include-dir from helper.mk to rules.mak
svn path=/trunk/; revision=8275
2004-02-19 22:24:59 +00:00
Gé van Geldorp
59e447fc8f Also zero out first sector of root dir when formatting FAT12 and FAT16
volumes

svn path=/trunk/; revision=8274
2004-02-19 21:24:54 +00:00
Gé van Geldorp
6bd07e5854 Sync to Wine-20040213
* Jon Griffiths <jon_p_griffiths@yahoo.com>
  Add some missing prototypes, fix AssocIsDangerous.
  Implement StrRetToBSTR, delay-import oleaut32.
* Alexandre Julliard
  Only link against libdxguid where necessary.
* Juan Lang <juan_lang@yahoo.com>
  Stub for MLIsMLHInstance.
* Francois Gouget <fgouget@free.fr>
  Add missing '\n's to debug traces.

svn path=/trunk/; revision=8272
2004-02-19 21:19:27 +00:00
Thomas Bluemel
90fb2c7def added pool tags for better debugging
svn path=/trunk/; revision=8271
2004-02-19 21:12:11 +00:00
Martin Fuchs
8c80ebb0d1 remove duplicate windres include directory to get notepad build
svn path=/trunk/; revision=8269
2004-02-19 20:24:22 +00:00
Gé van Geldorp
c0b75c3e30 samlib is needed for 2nd stage setup
svn path=/trunk/; revision=8268
2004-02-19 19:45:52 +00:00
Thomas Bluemel
4e2ccf1842 added pool tags for better debugging
svn path=/trunk/; revision=8266
2004-02-19 19:44:39 +00:00
Filip Navara
e4340278d7 - Fixed line endings
- Updated regsvr32 to latest version by ShadowFlare.

svn path=/trunk/; revision=8265
2004-02-19 19:26:52 +00:00
Filip Navara
bb25722258 - Revert the last change, because it really doesn't help.
- Don't detect mouse on COM2 by default.

svn path=/trunk/; revision=8264
2004-02-19 17:54:05 +00:00
Gé van Geldorp
ecfd9db944 Patch by H�seyin Uslu <20194562@mail.baskent.edu.tr>
Check color passed on command line, make sure foreground and background
are not the same.

svn path=/trunk/; revision=8263
2004-02-19 17:04:11 +00:00
Thomas Bluemel
3ea2262879 fixed WinPosWindowFromPoint(), now it should work properly.
svn path=/trunk/; revision=8262
2004-02-19 15:27:55 +00:00
Aleksey Bragin
98efb8ab35 Fix by Waldo Alvarez Cacizares, fixes 16<->16 bpp stretchblitting (AbiWord splashscreen will look good)
svn path=/trunk/; revision=8260
2004-02-19 09:31:30 +00:00
Art Yerkes
82bad008ac Commits for bug 193, merged from release branch.
svn path=/trunk/; revision=8259
2004-02-19 06:59:50 +00:00
Art Yerkes
a884236737 Added VK_DECIMAL in numberpad chars.
svn path=/trunk/; revision=8257
2004-02-19 03:51:29 +00:00
Art Yerkes
aa83ce6cde Fixed bug 167.
svn path=/trunk/; revision=8254
2004-02-19 03:45:44 +00:00
Art Yerkes
839f724098 Import from the release branch.
svn path=/trunk/; revision=8252
2004-02-19 03:33:33 +00:00
Gé van Geldorp
e5d1ab1c06 CVS maintenance
svn path=/trunk/; revision=8250
2004-02-18 23:29:12 +00:00
Gé van Geldorp
0e77dd5903 Patch by Mark Tempel and Ge van Geldorp
Check RtlAllocateHeap() return value for 8-byte alignment.

svn path=/trunk/; revision=8249
2004-02-18 23:20:14 +00:00
Casper Hornstrup
0a2bff78f8 2004-02-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apistatus.lst: Correct path of videoprt.dll.

svn path=/trunk/; revision=8248
2004-02-18 21:29:20 +00:00
Filip Navara
d3753b2d2f - Attempt to avoid interaction with kernel debugging over serial port.
svn path=/trunk/; revision=8246
2004-02-18 16:00:56 +00:00
Thomas Bluemel
d0a5ab9948 Patch by Sylvain Petreolle:
'No newline at EOF' warning fix.

svn path=/trunk/; revision=8245
2004-02-18 13:46:15 +00:00
Richard Campbell
9cff9f7701 roll back thomas's change, apparently it IS causing the problems, my build system is just being stupid.
svn path=/trunk/; revision=8244
2004-02-18 12:21:57 +00:00
Royce Mitchell III
14f2cc4e3b fix bug in NtGdiExtEscape - not checking for NULL == DriverFunctions.Escape.
also added buffer copying.

svn path=/trunk/; revision=8243
2004-02-18 02:37:18 +00:00
Martin Fuchs
d406d24f29 correct comments
svn path=/trunk/; revision=8242
2004-02-18 00:01:59 +00:00
Mike Nordell
faf755d78e Remove not needed specific-compiler compile-time warning.
svn path=/trunk/; revision=8239
2004-02-17 23:58:54 +00:00
Gé van Geldorp
b7ee835601 Sync with Wine-20040213
svn path=/trunk/; revision=8238
2004-02-17 23:09:05 +00:00
Gé van Geldorp
503a4764b1 Sync with Wine-20040213:
Troy Rollo <wine@troy.rollo.name>
Added documentation for DocFiles, based on the CorVu implementation of
DocFiles.

svn path=/trunk/; revision=8237
2004-02-17 23:01:19 +00:00
Gé van Geldorp
9b03fed40e Sync with Wine-20040213:
Robert Shearman <R.J.Shearman@warwick.ac.uk>
- CoSetState info should be thread local.
- SetErrorInfo should allocate an apartment when no apartment present.
Alexandre Julliard
Moved a few remaining 16-bit definitions out of the standard headers.

svn path=/trunk/; revision=8236
2004-02-17 23:00:01 +00:00
Gé van Geldorp
a8d545f53b Sync with Wine-20040213:
Huw Davies <huw@codeweavers.com>
Fix a TRACE.

svn path=/trunk/; revision=8235
2004-02-17 22:40:47 +00:00
Gé van Geldorp
f3b3a68770 Sync with Wine-20040213:
Huw Davies <huw@codeweavers.com>
Only redraw button in PressButton and Indeterminate if its state has
changed.
Huw Davies <huw@codeweavers.com>
Honour TB_SETMAXTEXTROWS.
Ulrich Czekalla <ulrich@codeweavers.com>
Add support for BTNS_WHOLEDROPDOWN.
Populate button rect when sending TBN_DROPDOWN.
Dmitry Timoshkov <dmitry@codeweavers.com>
Add partial support for some undocumented toolbar messages.
Huw Davies <huw@codeweavers.com>
TB_ADDBUTTONS can pass a string ptr instead of an index.
TB_GETBUTTONINFO only returns a string if it's not in the internal
string list.
Huw Davies <huw@codeweavers.com>
Use the BTNS_* toolbar button style defines rather than the outdated
TBSTYLE_*.
Huw Davies <huw@codeweavers.com>
Add a missing return.
Jon Griffiths <jon_p_griffiths@yahoo.com>
Draw disabled toolbar buttons correctly.

svn path=/trunk/; revision=8234
2004-02-17 22:39:49 +00:00
Gé van Geldorp
df3569b50b Sync with Wine-20040213:
Vitaliy Margolen <wine-patch@kievinfo.com>
- Fix handling of TCS_RAGGEDRIGHT style.
- Clip UpDown control only if it is present.
- Add ToDos.

svn path=/trunk/; revision=8233
2004-02-17 22:38:03 +00:00
Gé van Geldorp
d8aa2b9e91 Sync with Wine-20040213:
Francois Gouget <fgouget@free.fr>
Assorted spelling and case fixes.
Alexandre Julliard:
Moved a few remaining 16-bit definitions out of the standard headers.

svn path=/trunk/; revision=8232
2004-02-17 22:35:27 +00:00
Gé van Geldorp
fe941591fe Sync with Wine-20040213:
Aric Stewart <aric@codeweavers.com>
Work toward properly updating the SelectionMark when the selected
state changed inside a listbox.

svn path=/trunk/; revision=8231
2004-02-17 22:33:55 +00:00
Gé van Geldorp
1a0c848456 Sync with Wine-20040213:
Robert Shearman <R.J.Shearman@warwick.ac.uk>
Fix nGrow initialization in DPA_CreateEx.

svn path=/trunk/; revision=8230
2004-02-17 22:32:53 +00:00
Martin Fuchs
6cecd7c5a3 inserted _NO_MDI questions
svn path=/trunk/; revision=8229
2004-02-17 21:50:44 +00:00
Martin Fuchs
0d03cadfe1 corrected comment
svn path=/trunk/; revision=8228
2004-02-17 21:50:07 +00:00
Gé van Geldorp
d842500eb1 Always return 8-byte aligned blocks
svn path=/trunk/; revision=8226
2004-02-17 21:11:17 +00:00
Martin Fuchs
a57cc3b82a disable autostart if the SHIFT key is pressed
svn path=/trunk/; revision=8223
2004-02-17 20:20:01 +00:00
Filip Navara
7595e479e5 - Work on serial mouse detection to fix bug #198.
svn path=/trunk/; revision=8221
2004-02-17 18:01:59 +00:00
Thomas Bluemel
f3a0075137 fixed WindowFromPoint() to search backwards
svn path=/trunk/; revision=8220
2004-02-17 17:43:09 +00:00
Thomas Bluemel
d3a4b4244c Added test app for AlphaBlend()
svn path=/trunk/; revision=8219
2004-02-17 14:55:59 +00:00
Mike Nordell
b84451d1c3 Changed timeout from 2000 to 2001 ms, to be able to find it easier in kmode.
svn path=/trunk/; revision=8218
2004-02-17 10:52:03 +00:00
Martin Fuchs
ec74cd68bc cleanup in project file
svn path=/trunk/; revision=8215
2004-02-16 22:54:53 +00:00
Martin Fuchs
3b0926761a added .cvsignore
svn path=/trunk/; revision=8212
2004-02-16 22:01:02 +00:00
Martin Fuchs
596a4b878e merged Wine commits to shell32
svn path=/trunk/; revision=8211
2004-02-16 21:46:12 +00:00
Richard Campbell
583ae62ff8 NtUserSystemParametersInfo:
- removed a case statement, it is now handled in USER32

svn path=/trunk/; revision=8210
2004-02-16 11:16:06 +00:00
Richard Campbell
2af64c0186 NtUserSystemParametersInfo:
- Removed static font variables.

svn path=/trunk/; revision=8207
2004-02-16 07:26:25 +00:00
Richard Campbell
fcb45adac8 SystemParametersInfo:
- SPI_GETNONCLIENTMETRICS and SPI_GETICONTITLELOGFONT
   now load their settings from the registry.
 - SPI_SET* aren't yet implemented, because i'd like to test my
   implementation before i commit them.

svn path=/trunk/; revision=8206
2004-02-16 07:25:01 +00:00
Richard Campbell
02f6c6d6ee advapi dependency.
svn path=/trunk/; revision=8204
2004-02-16 01:30:38 +00:00
Gé van Geldorp
e410002732 Don't build kernel32 test because of build failure
svn path=/trunk/; revision=8203
2004-02-15 21:57:34 +00:00
Gé van Geldorp
fec177ccee Rollback hinter enabling since font output looks worse with the auto
hinter enabled

svn path=/trunk/; revision=8202
2004-02-15 21:45:37 +00:00
Gé van Geldorp
a9f2364436 Top level windows have menus, child windows have IDs
svn path=/trunk/; revision=8201
2004-02-15 20:50:56 +00:00
Hartmut Birr
f273240d3f - Used a different buffer to get the mode informations.
svn path=/trunk/; revision=8200
2004-02-15 19:27:36 +00:00
Hartmut Birr
48632d6399 - Locked the pages in MmCommitPagedPoolAddress, if it is necessary.
svn path=/trunk/; revision=8199
2004-02-15 19:03:29 +00:00
Royce Mitchell III
f12e3bf622 removed unnecessary explicit define of _M_IX86
svn path=/trunk/; revision=8198
2004-02-15 18:37:35 +00:00
Hartmut Birr
d3e729a8c7 - Canceled my last changes.
svn path=/trunk/; revision=8197
2004-02-15 17:04:52 +00:00
Art Yerkes
353cf5eb06 Added registry functions header.
svn path=/trunk/; revision=8196
2004-02-15 07:52:18 +00:00
Gé van Geldorp
6fc29ccca7 Implement menu handling
svn path=/trunk/; revision=8195
2004-02-15 07:39:12 +00:00
Art Yerkes
a3ac53db3d Big merge in wine code. This merged version is far more complete than
the previous one.   See notes and comments by me and the original author
of iphlpapi_main.c, Juan Lang.

svn path=/trunk/; revision=8194
2004-02-15 07:17:00 +00:00
Art Yerkes
d3a56d75eb Removed dbgprints.
svn path=/trunk/; revision=8192
2004-02-15 07:07:11 +00:00
Art Yerkes
757ff359b5 Fixed a bug in AppendUnicodeStringToString which could cause a null to
be placed one position after the end of a completely full string.

svn path=/trunk/; revision=8191
2004-02-15 07:04:45 +00:00
Art Yerkes
b900afead3 GetComputerName(Ex)?[AW] implemented. These are needed for the wine
iphlpapi_main.

svn path=/trunk/; revision=8190
2004-02-15 07:03:56 +00:00
Art Yerkes
89d845f338 Some unstub which should allow programs that use getprotobyname to work.
This eventually needs to tie in properly to the layered service stuff.

svn path=/trunk/; revision=8189
2004-02-15 07:03:02 +00:00
Art Yerkes
eee30419e8 Added makefile with unix eols.
svn path=/trunk/; revision=8188
2004-02-15 06:21:16 +00:00
Art Yerkes
9959de026c One more try with unix eols.
svn path=/trunk/; revision=8187
2004-02-15 06:20:54 +00:00
Art Yerkes
b972d29c37 Added with dos eols.
svn path=/trunk/; revision=8186
2004-02-15 06:05:05 +00:00
Art Yerkes
a1bb46750c Removed makefile temporarily.
svn path=/trunk/; revision=8185
2004-02-15 06:04:35 +00:00
Art Yerkes
e592ecdfeb Added new regsvr32 app.
svn path=/trunk/; revision=8184
2004-02-15 05:52:47 +00:00
Art Yerkes
b1fc9ebb02 Author: ShadowFlare
Arty's note:
Added ShadowFlare's regsvr32.  The one in rosapps doesn't seem to build,
so I think it should be eventually removed.
I'm putting this one here instead of rosapps because it goes with some
of the other apps in this directory (like rundll32)

svn path=/trunk/; revision=8183
2004-02-15 05:51:20 +00:00
Art Yerkes
904bf32b2a Author: ShadowFlare
I(ShadowFlare) improved command line parsing (completely rewrote it), made
some changes for the ansi version, and added some comments into the code
(there was very few previously).

svn path=/trunk/; revision=8182
2004-02-15 05:33:19 +00:00
Art Yerkes
7e4b6ff68a Added file. Contains common serviceinfo structs.
svn path=/trunk/; revision=8181
2004-02-15 02:40:25 +00:00
Art Yerkes
d194919316 Added definition.
svn path=/trunk/; revision=8180
2004-02-15 01:08:54 +00:00
Art Yerkes
2124442b3d Added new files for common functions.
svn path=/trunk/; revision=8179
2004-02-15 00:04:08 +00:00
Steven Edwards
3bf9107ff9 Added Makefile
svn path=/trunk/; revision=8178
2004-02-14 23:22:29 +00:00
Steven Edwards
b829420396 Add some debugging.
svn path=/trunk/; revision=8177
2004-02-14 23:21:44 +00:00
Steven Edwards
459d72e610 Implemented LsaFreeMemory and
changed a few stubs to match WINE so Msys will load.

svn path=/trunk/; revision=8176
2004-02-14 23:13:58 +00:00
Filip Navara
a3f6dab278 - Don't allocate 0 bytes in EngCreateBitmap. Patch by Waldo Alvarez Ca�izares.
- Fix distortion by StretchBlt. Patch based on investigations by Waldo Alvarez Ca�izares.

svn path=/trunk/; revision=8175
2004-02-14 22:24:54 +00:00
Art Yerkes
74974a631d Mistaken offset for dest.
svn path=/trunk/; revision=8174
2004-02-14 21:38:40 +00:00
Art Yerkes
8c9fd64030 Edited includes for new tcp ioctl needed by iphlpapi.
tcpioctl.h: new
I resolved a conflict between iptypes, structs and nspapi regarding some
core structures.
afd.h: removed definitions needed by both user land and kernel land.
tdiinfo.h: added needed definitions.

svn path=/trunk/; revision=8173
2004-02-14 21:27:35 +00:00
Steven Edwards
6817aa33e1 Added User32 and Kernel32 tests to the makefile
svn path=/trunk/; revision=8172
2004-02-14 20:16:24 +00:00
Steven Edwards
d93b2368db Sync WINE user32 Regression tests.
svn path=/trunk/; revision=8171
2004-02-14 20:13:04 +00:00
Steven Edwards
eef7a39689 Added WINE kernel32 regression tests.
svn path=/trunk/; revision=8170
2004-02-14 20:11:42 +00:00
Vizzini
b54b1d664d updated defs for floppy support
svn path=/trunk/; revision=8169
2004-02-14 20:11:12 +00:00
Hartmut Birr
1c4efc692a - Lock the pages always in MmProbeAndLockPages.
svn path=/trunk/; revision=8168
2004-02-14 19:48:07 +00:00
Filip Navara
f2bfe59541 sizeof(SENSE_BUFFER_SIZE) -> SENSE_BUFFER_SIZE
svn path=/trunk/; revision=8166
2004-02-14 12:29:33 +00:00
Richard Campbell
a6e68c5913 Part I of my font patch.
svn path=/trunk/; revision=8165
2004-02-14 02:41:53 +00:00
Steven Edwards
fbd7136c2e Adapted GdiTransparentBlt by Kevin Koltzau
From WINE Friday the 13th 2004

svn path=/trunk/; revision=8164
2004-02-14 00:31:39 +00:00
Filip Navara
9a8ead9623 - Eliminate function pointer typecasts in csqtest
- Move the csq.h header to the right place
- Added .cvsignore files

svn path=/trunk/; revision=8163
2004-02-13 09:37:11 +00:00
Royce Mitchell III
b68208f089 patch by blight:
Simple GL programs should work if you have hardware-accelerated video drivers installed, still some bugs left and things to implement; Have already played a model-flight simulator with it.

svn path=/trunk/; revision=8162
2004-02-12 23:56:15 +00:00
Filip Navara
ca9c59183f - Fixed clipping code in NtGdiGetPixel. Patch by James Pritchard.
svn path=/trunk/; revision=8161
2004-02-12 21:50:19 +00:00
Filip Navara
6c33cfe3ac - Locale values are specified in hexadecimal numbers.
svn path=/trunk/; revision=8160
2004-02-12 15:55:57 +00:00
Thomas Bluemel
3c3e6a4430 added EngGetCurrentProcessId() and EngGetCurrentThreadId()
svn path=/trunk/; revision=8158
2004-02-11 22:36:40 +00:00
Steven Edwards
ba374c4128 Make a few stubs return something to get Dependancy Walker loading.
svn path=/trunk/; revision=8157
2004-02-11 21:52:28 +00:00
Hartmut Birr
f90d73ad9d - Adding my pesum tool which does set the attribute IMAGE_SCN_MEM_NOT_PAGED
to sections with the name '.text', '.data', '.bss' and '.idata'.
- Some time ago I've wrote this tool because ld wasn't able to set the pe checksum to images.

svn path=/trunk/; revision=8156
2004-02-11 21:04:18 +00:00
Thomas Bluemel
e83ebbae2d added EngGetCurrentProcessId() and EngGetCurrentThreadId()
svn path=/trunk/; revision=8155
2004-02-11 19:26:51 +00:00
Martin Fuchs
3c0afd1a21 minor corrections by M.Taguchi
svn path=/trunk/; revision=8154
2004-02-11 18:11:21 +00:00
Filip Navara
ca73abde9a - Return more correct error codes from NtUserRegisterClassExWOW.
- Delete atom in NtUserUnregisterClass.
- Corrected DC locking in NtGdiSetDIBColorTable.
- Check region handles in NtGdiPaintRgn.

svn path=/trunk/; revision=8153
2004-02-11 17:56:29 +00:00
Vizzini
d54eeab6a3 Patch from Gregor Anich:
NeHe Lesson 3 works (crashes at close); Lesson 8 does not work - fixed
some bugs in wgl.c and disable asm proxy functions for the moment because
they crash

svn path=/trunk/; revision=8152
2004-02-11 17:39:24 +00:00
Aleksey Bragin
6deb9707f4 Add setupapi_main.c into makefile
svn path=/trunk/; revision=8151
2004-02-11 12:44:27 +00:00
Aleksey Bragin
3d647705b7 Temp fix, because setupapi takes a wrong guess (RtlIsTextUnicode) whether the text is unicode and doesn't work. For now it's assumed all .inf-files are not-unicode.
svn path=/trunk/; revision=8150
2004-02-11 12:40:01 +00:00
Aleksey Bragin
1765aab70d Remove InstallHinfSection from stubs
svn path=/trunk/; revision=8149
2004-02-11 12:38:30 +00:00
Aleksey Bragin
b97de22cf5 Initial implementation of InstallHinfSection, it even works in small test inf-files for adding/removing/changing registry entries. Not tested further.
svn path=/trunk/; revision=8148
2004-02-11 12:38:12 +00:00
Martin Fuchs
cec35a5347 fix context menu support
svn path=/trunk/; revision=8147
2004-02-11 08:35:10 +00:00
Martin Fuchs
27aa9a168f fix and enable japanese resources for windres
svn path=/trunk/; revision=8146
2004-02-11 08:34:28 +00:00
Steven Edwards
979c2579ad Remove old file locking test.
svn path=/trunk/; revision=8145
2004-02-11 00:05:40 +00:00
Steven Edwards
2da07c972c Wine regression tests already check for File Locking APIs
svn path=/trunk/; revision=8144
2004-02-11 00:05:08 +00:00
Gé van Geldorp
3f66c6c806 Fix compilation of setupapi by copying setupapi.h from Wine. The w32api
version contains an incorrect declaration for (at least) SetupGetLineTextA/W

svn path=/trunk/; revision=8143
2004-02-10 23:46:24 +00:00
Gé van Geldorp
8143621407 Don't copy from/to outside the visible screen region
svn path=/trunk/; revision=8142
2004-02-10 23:40:55 +00:00
Gé van Geldorp
76414f84fd Although drivers should accept NULL masks and colors for cursors, at least
two don't and crash. So let's not pass NULL.

svn path=/trunk/; revision=8141
2004-02-10 23:40:01 +00:00
Martin Fuchs
5ef2c3bbef context menu support for winefile
svn path=/trunk/; revision=8140
2004-02-10 23:10:43 +00:00
Martin Fuchs
f0dea6d3a0 store statustexts in MDI children
svn path=/trunk/; revision=8139
2004-02-10 22:15:20 +00:00
Martin Fuchs
9f5e152d22 eliminated nasty warning message
svn path=/trunk/; revision=8138
2004-02-10 21:22:55 +00:00
Martin Fuchs
30462af124 remove DWebBrowserEvents event handler
svn path=/trunk/; revision=8137
2004-02-10 21:01:41 +00:00
Martin Fuchs
29d76f2c5b added japanese resources now in ShiftJIS encoding
(however also not yet compatible to windres)

svn path=/trunk/; revision=8136
2004-02-10 20:31:37 +00:00
Martin Fuchs
9d2aeff0b9 remove UTF16 file with japanese resources
svn path=/trunk/; revision=8135
2004-02-10 20:30:42 +00:00
Casper Hornstrup
bf7fc36abb 2004-02-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
* bootdata/packages/reactos.dff: Add oleaut32.dll.

svn path=/trunk/; revision=8134
2004-02-10 20:22:34 +00:00
Filip Navara
b00626d582 - STDCALL/STDCALL_FUNC usage fixes
svn path=/trunk/; revision=8133
2004-02-10 18:11:12 +00:00
Filip Navara
8ccf098ee6 reactos/drivers/net/afd/afd/afd.c (AfdDispatch): Correctly set
Irp->IoStatus.Information.
(AfdUnload): Make it STDCALL.
(DriverEntry): Don't cast function pointers.
reactos/drivers/net/afd/afd/dispatch.c (AfdDispGetName): New function, still
incomplete.
reactos/drivers/net/afd/include/afd.h (AfdDispGetName): Declare.
reactos/drivers/net/tcpip/tcpip/main.c (TiDispatchOpenClose):
Use STDCALL instead of STDCALL_FUNC.
(TiUnload): Make it STDCALL.
(DriverEntry): Don't cast function pointers.
reactos/drivers/net/tcpip/transport/tcp/tcp.c (TCPConnect):
Don't free the NDIS buffer, it's already done on another place and return
STATUS_PENDING to avoid completing the Irp two times.
reactos/lib/msafd/misc/stubs.c (WSPGetSockName, WSPGetPeerName):
Moved to ...
reactos/lib/msafd/misc/dllmain.c (WSPGetSockName, WSPGetPeerName):
... here, direct the calls to afd.sys.

svn path=/trunk/; revision=8132
2004-02-10 17:12:42 +00:00
Steven Edwards
f80022635e Port of netapi32 from WINE
svn path=/trunk/; revision=8131
2004-02-10 16:57:59 +00:00
Filip Navara
aebff275f5 - Eliminate function pointer typecasts
svn path=/trunk/; revision=8130
2004-02-10 16:22:57 +00:00
Gé van Geldorp
7ee686f0e0 Spinlock can also be acquired using KeAcquireSpinLockRaiseToSynch(),
take this into account when checking the IRQL on release

svn path=/trunk/; revision=8129
2004-02-10 15:16:12 +00:00
Gé van Geldorp
fe2c30c13d Hardcode build number consistent with major/minor version (NVidia driver
depends on it).

svn path=/trunk/; revision=8128
2004-02-10 15:13:35 +00:00
Thomas Bluemel
98531c0d4d fixed behaviour of sizing grip (2)
svn path=/trunk/; revision=8127
2004-02-10 10:17:30 +00:00
Thomas Bluemel
db915d211a fixed behaviour of sizing grip
svn path=/trunk/; revision=8126
2004-02-10 08:11:56 +00:00
Vizzini
28c16df7d2 Added an unload handler for easier testing
svn path=/trunk/; revision=8125
2004-02-10 02:54:14 +00:00
Steven Edwards
02b8eb1430 Eric Pouech -
Winelib host process support and Code cleanup.

Steven Edwards -
Change About box to reflect LGPL license change.

svn path=/trunk/; revision=8124
2004-02-10 00:36:46 +00:00
Martin Fuchs
e760b79c60 display status texts
svn path=/trunk/; revision=8123
2004-02-09 23:21:20 +00:00
Martin Fuchs
435db13da9 new TODO entries
svn path=/trunk/; revision=8122
2004-02-09 22:39:05 +00:00
Martin Fuchs
9c5264c5eb re-show all hidden windows at explorer termination
svn path=/trunk/; revision=8121
2004-02-09 22:37:52 +00:00
Martin Fuchs
418a293612 define __WINDRES__ to disable UTF16 resource script
svn path=/trunk/; revision=8120
2004-02-09 22:36:13 +00:00
Martin Fuchs
04866685b1 fixed bounds checking in SHELL_GetPathFromIDListA/W()
svn path=/trunk/; revision=8119
2004-02-09 22:33:05 +00:00
Martin Fuchs
a505cc660f merged WineHQ commits
svn path=/trunk/; revision=8118
2004-02-09 22:24:35 +00:00
Thomas Bluemel
46849d1bdd basic implementation of filling gradient triangles in GradientFill()
svn path=/trunk/; revision=8117
2004-02-09 22:16:50 +00:00
Thomas Bluemel
8fe4a9e38d use GradientFill() for gradient captions
svn path=/trunk/; revision=8116
2004-02-09 16:37:59 +00:00
Thomas Bluemel
8336410c76 implemented horizontal and vertical gradients in GradientFill()
svn path=/trunk/; revision=8114
2004-02-09 15:33:30 +00:00
Gé van Geldorp
5a908e7efe Re-introduce define for MIM_MENUDATA, shell32 depends on it
svn path=/trunk/; revision=8112
2004-02-09 10:21:01 +00:00
Martin Fuchs
099b88ed6f use web child window instead of ShellExecute()
svn path=/trunk/; revision=8111
2004-02-09 09:20:26 +00:00
Vizzini
5398f1df0d Program from Skywing:
PipeSpy can be used to snoop traffic on a named pipe.  It is intended
to be used to help understand the remote kernel debugging protocol
uesd by the windows kd.

svn path=/trunk/; revision=8110
2004-02-09 08:07:58 +00:00
Vizzini
66f9b32741 Patch by Anich Gregor:
fast proxy functions fixed, loads in win2k and succeeds creating the context
but then crashes. ExtEscape call fixed and simple version of
wglGetPixelFormat implemented.

svn path=/trunk/; revision=8109
2004-02-09 08:00:15 +00:00
Vizzini
8eb11ab73e - Added kmlibrary target type
- Added description of MK_ variables
 - Re-arranged library order to include TARGET_DDKLIBS before standard DDK
   import libs on GCC command line (fixes linking problem with static libs)

svn path=/trunk/; revision=8108
2004-02-09 07:03:16 +00:00
Vizzini
f9d689b644 - Updated CSQ library to use new kmlibrary target type
- Updated includes in csq.c
 - Added IPv6 ethertype in lan.h
 - Fixed a typo in ip.c
 - Added csqtest driver for testing cancel-safe queues

svn path=/trunk/; revision=8107
2004-02-09 06:59:01 +00:00
Martin Fuchs
9a53ebcb92 better foreground window handling (VCL applications had problems with the old one)
svn path=/trunk/; revision=8106
2004-02-08 22:47:25 +00:00
Martin Fuchs
a320c0cca9 better window sizing
svn path=/trunk/; revision=8105
2004-02-08 22:30:14 +00:00
Thomas Bluemel
2141be1489 removed a re-defiition
svn path=/trunk/; revision=8104
2004-02-08 22:24:07 +00:00
Gé van Geldorp
d8e8ec2a96 Work on thread-awareness in gdbstub
svn path=/trunk/; revision=8103
2004-02-08 22:12:53 +00:00
Gé van Geldorp
30ada1654d Prevent some debug messages from appearing
svn path=/trunk/; revision=8102
2004-02-08 22:02:40 +00:00
Thomas Bluemel
feb6118e10 1. added test app for GradientFill()
2. removed obsolete cliarea test app

svn path=/trunk/; revision=8101
2004-02-08 21:57:36 +00:00
Gé van Geldorp
2966583cc6 - Fix race condition resulting in WM_xBUTTONUP sometimes being
delivered befor WM_xBUTTONDOWN
- Fix double click

svn path=/trunk/; revision=8100
2004-02-08 21:47:10 +00:00
Thomas Bluemel
dfd90b8ad1 add sekelton for the GradientFill() implementation.
svn path=/trunk/; revision=8099
2004-02-08 21:37:53 +00:00
Martin Fuchs
d9ae46ef9d text -> bin
svn path=/trunk/; revision=8098
2004-02-08 21:31:14 +00:00
Martin Fuchs
4f9a01cc0b text -> bin
svn path=/trunk/; revision=8097
2004-02-08 21:30:57 +00:00
Martin Fuchs
8f1114e759 Japanese resource by Masahiro Taguchi (not supported by windres)
svn path=/trunk/; revision=8096
2004-02-08 21:27:31 +00:00
Martin Fuchs
59cd294e28 desktop switching
svn path=/trunk/; revision=8095
2004-02-08 18:58:45 +00:00
Art Yerkes
0dc86c7a3e Added tcpioctl.h which is used by iphlpapi.
svn path=/trunk/; revision=8094
2004-02-08 18:48:08 +00:00
Vizzini
72d09d2bb0 ReactOS implementation of cancel-safe queue library
svn path=/trunk/; revision=8093
2004-02-08 17:51:32 +00:00
Filip Navara
671f7f1315 - Very basic implementation of ExtEscape
svn path=/trunk/; revision=8092
2004-02-08 16:16:24 +00:00
Filip Navara
a99ec32abd - Minor correction to hit testing algorithm
svn path=/trunk/; revision=8091
2004-02-08 15:13:22 +00:00
Filip Navara
50b64b7cd1 - Language constants needed for OLEAUT32
svn path=/trunk/; revision=8090
2004-02-08 10:56:15 +00:00
Filip Navara
af3e717b32 - Reclaculate window client size in NtUserSetMenu even if the window isn't visible
- Properly move child windows in NtUserSetWindowPos.

svn path=/trunk/; revision=8089
2004-02-08 10:53:17 +00:00
Jason Filby
7715328fc5 CreateFileMappingA/CreateFileMappingW: a NULL size argument for this function should result in the filesize being used. Patch by Gero Kuehn (gero.kuehn@gkware.com).
svn path=/trunk/; revision=8088
2004-02-08 10:42:15 +00:00
Filip Navara
2535445a70 - Fixed algorithm for 4BPP bitblts with ROP != SRCCOPY
- Minor coordinate correction for software mouse pointer emulation

svn path=/trunk/; revision=8087
2004-02-08 09:27:39 +00:00
Gé van Geldorp
2a78934eed Wait a little between retries. Fixes bug #106.
svn path=/trunk/; revision=8086
2004-02-07 21:36:56 +00:00
Martin Fuchs
97ea59d7c9 toolbars to control web browser
svn path=/trunk/; revision=8085
2004-02-07 21:17:27 +00:00
Martin Fuchs
77d84e17ca display nice error message
svn path=/trunk/; revision=8084
2004-02-07 19:51:53 +00:00
Martin Fuchs
73b7358882 corrected error handling if no web control could be found
svn path=/trunk/; revision=8083
2004-02-07 19:04:03 +00:00
Martin Fuchs
36f96a21b7 imported WINE oleaut32.dll and inserted numerous FIXMEs to be able to compile it with MinGW headers" Makefile lib\oleaut32
-> Now can explorer be used again.

svn path=/trunk/; revision=8082
2004-02-07 18:53:59 +00:00
Hartmut Birr
885ca2f7f3 - Free or recycle the remaining path string after a call to ObFindObject.
svn path=/trunk/; revision=8081
2004-02-07 17:30:14 +00:00
Hartmut Birr
f6f4ac5f7b - Set the previous pointer from the next block,
if some blocks was merged (in add_to_free_list).

svn path=/trunk/; revision=8080
2004-02-07 16:37:23 +00:00
Filip Navara
094ace70db - Corrected timeouts to really wait one millisecond.
svn path=/trunk/; revision=8079
2004-02-07 15:44:13 +00:00
Filip Navara
46df458f5f - Do not call initialization of both Mouse callback and classical Mouse driver interface. Because the latter is initialized in separate thread and accesses the same global variables as the callback detection, it causes unexpected effects. This should solve the mouse detection problem as seen on WineConf.
svn path=/trunk/; revision=8078
2004-02-07 15:39:14 +00:00
Gé van Geldorp
8962ef5080 Add TEMP and TMP environment variables. Fixes bug #180.
svn path=/trunk/; revision=8077
2004-02-07 15:33:20 +00:00
Martin Fuchs
f83b41a218 fixed some wrong library names for keyboard drivers
svn path=/trunk/; revision=8076
2004-02-07 15:03:37 +00:00
Martin Fuchs
c414fe7978 first version of web control embedding:
Explorer tries to instantiate an IE web control, if that failes it tries
again using the CLASS-ID of Mozilla's Active-X web control.

svn path=/trunk/; revision=8075
2004-02-07 15:00:28 +00:00
Filip Navara
6c639db134 - Fixed some address calculations
svn path=/trunk/; revision=8074
2004-02-07 12:03:11 +00:00
Gé van Geldorp
826d5e693a Add bootcd target
svn path=/trunk/; revision=8073
2004-02-07 08:37:57 +00:00
Art Yerkes
24fecbb518 Added afd/tdiconn.c with corrections by filip navara
afd/dispatch.c fixed ptr arith + bug fix by filip
afd/tdi.c removed functions dealing with TDI_CONNECTION_INFORMATION (tdiconn)
tcpip fixes by filip

svn path=/trunk/; revision=8072
2004-02-07 04:50:44 +00:00
Filip Navara
03aba39688 - Minor correction to FILE_FULL_EA_INFORMATION prototype
svn path=/trunk/; revision=8071
2004-02-07 03:56:18 +00:00
Filip Navara
8a0ee5fc06 - Properly include FreeType header
svn path=/trunk/; revision=8070
2004-02-07 00:24:46 +00:00
Filip Navara
5b1a3e7233 - Get rid of some compilation warnings
svn path=/trunk/; revision=8069
2004-02-07 00:21:45 +00:00
Filip Navara
88b0aebe1a - Fixed compilation of the updated freetype
svn path=/trunk/; revision=8068
2004-02-07 00:11:02 +00:00
Martin Fuchs
650d796921 small dialog size corrections
svn path=/trunk/; revision=8067
2004-02-06 22:45:49 +00:00
Martin Fuchs
42355ae5c6 use better looking bitmaps
svn path=/trunk/; revision=8066
2004-02-06 22:44:35 +00:00
Richard Campbell
2bc8028175 forgot a file.
svn path=/trunk/; revision=8065
2004-02-06 22:18:56 +00:00
Richard Campbell
5c75940f98 Updated freetype to Freetype 2.1.8-CVS-20040206 in an attempt to fix some of the autohinting issues present in our version, does it help?
svn path=/trunk/; revision=8064
2004-02-06 21:53:11 +00:00
Martin Fuchs
4ed1751218 portugal translation by Paulo Silva
svn path=/trunk/; revision=8063
2004-02-06 21:35:34 +00:00
Martin Fuchs
b6c9a9d585 minimize all button
svn path=/trunk/; revision=8062
2004-02-06 21:34:47 +00:00
Filip Navara
48219202b5 - Fixed software mouse pointer handling to work correctly with MouseSafety* routines
svn path=/trunk/; revision=8061
2004-02-06 21:12:55 +00:00
Gé van Geldorp
5ec14bf2bf Clip region to be bitblt'ed against the valid source region. Fixes bug #152
svn path=/trunk/; revision=8060
2004-02-06 20:36:31 +00:00
Royce Mitchell III
ac2782d72e patch by blight:
rosglChoosePixelFormat implementation and small bugfixes to rosglCreateLayerContext

svn path=/trunk/; revision=8059
2004-02-06 20:31:15 +00:00
Royce Mitchell III
110e28efaa commented out unused variables/code
svn path=/trunk/; revision=8058
2004-02-06 20:25:33 +00:00
9230 changed files with 1365522 additions and 823081 deletions

View File

@@ -1,59 +0,0 @@
#
# FreeLoader
# Copyright (C) 1999, 2000, 2001 Brian Palmer <brianp@sginet.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Windows is default host environment
ifeq ($(HOST),)
HOST = mingw32-windows
endif
#
# Choose various options
#
ifeq ($(HOST),mingw32-linux)
RM = rm -f
CP = cp -f
MKDIR = mkdir
SEP = /
else
RM = cmd /C del
CP = copy /Y
MKDIR = md
SEP = \$(EMPTY_VAR)
endif
NASM_CMD = nasm
NFLAGS = -fwin32 -dwin32
BIN2C = ..$(SEP)tools$(SEP)bin2c
TOOLSDIR = ..$(SEP)tools
all:
$(MAKE) -C tools
$(MAKE) -C bootsect
$(MAKE) -C freeldr
$(MAKE) -C install
$(MAKE) -C fdebug
clean:
$(MAKE) -C bootsect clean
$(MAKE) -C freeldr clean
$(MAKE) -C install clean
$(MAKE) -C fdebug clean
$(MAKE) -C tools clean
.PHONY : clean

View File

@@ -1,3 +0,0 @@
*.exe
*.bin
*.h

View File

@@ -1,100 +0,0 @@
#
# FreeLoader
# Copyright (C) 1999, 2000, 2001 Brian Palmer <brianp@sginet.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Windows is default host environment
ifeq ($(HOST),)
HOST = mingw32-windows
endif
#
# Choose various options
#
ifeq ($(HOST),mingw32-linux)
RM = rm -f
CP = cp -f
MKDIR = mkdir
SEP = /
else
RM = cmd /C del
CP = copy /Y
MKDIR = md
SEP = \$(EMPTY_VAR)
endif
NASM_CMD = nasm
NFLAGS = -fwin32 -dwin32
BIN2C = ..$(SEP)tools$(SEP)bin2c
TOOLSDIR = ..$(SEP)tools
BOOTCD_DIR = ..$(SEP)..$(SEP)bootcd
.PHONY : clean bootcd
all: $(BIN2C) dosmbr.bin fat.bin fat32.bin isoboot.bin ext2.bin
$(BIN2C) :
@$(MAKE) --no-print-directory -C $(TOOLSDIR)
dosmbr.bin : dosmbr.asm
@echo ===================================================== Assembling dosmbr
@$(NASM_CMD) $(NFLAGS) -o dosmbr.bin -f bin dosmbr.asm
fat.bin : fat.asm $(BIN2C)
@echo ===================================================== Assembling fat
@$(NASM_CMD) $(NFLAGS) -o fat.bin -f bin fat.asm
@$(BIN2C) fat.bin fat.h fat_data
fat32.bin : fat32.asm $(BIN2C)
@echo ===================================================== Assembling fat32
@$(NASM_CMD) $(NFLAGS) -o fat32.bin -f bin fat32.asm
@$(BIN2C) fat32.bin fat32.h fat32_data
isoboot.bin : isoboot.asm
@echo ===================================================== Assembling isoboot
@$(NASM_CMD) $(NFLAGS) -o isoboot.bin -f bin isoboot.asm
ext2.bin : ext2.asm
@echo ===================================================== Assembling ext2
@$(NASM_CMD) $(NFLAGS) -o ext2.bin -f bin ext2.asm
@$(BIN2C) ext2.bin ext2.h ext2_data
.PHONY : bootcd
bootcd: bootcd_dirs isoboot.bin
$(CP) isoboot.bin $(BOOTCD_DIR)
$(CP) dosmbr.bin $(BOOTCD_DIR)$(SEP)disk$(SEP)loader
$(CP) ext2.bin $(BOOTCD_DIR)$(SEP)disk$(SEP)loader
$(CP) fat.bin $(BOOTCD_DIR)$(SEP)disk$(SEP)loader
$(CP) fat32.bin $(BOOTCD_DIR)$(SEP)disk$(SEP)loader
$(CP) isoboot.bin $(BOOTCD_DIR)$(SEP)disk$(SEP)loader
.PHONY : bootcd_dirs
bootcd_dirs:
$(MKDIR) $(BOOTCD_DIR)
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk$(SEP)reactos
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk$(SEP)install
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk$(SEP)bootdisk
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk$(SEP)loader
clean:
@-$(RM) *.bin
@-$(RM) *.h
@echo Clean ALL done.

View File

@@ -1,76 +0,0 @@
#
# FreeLoader
# Copyright (C) 1999 - 2003 Brian Palmer <brianp@sginet.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Windows is default host environment
ifeq ($(HOST),)
HOST = mingw32-windows
endif
#
# Choose various options
#
ifeq ($(HOST),mingw32-linux)
RM = rm -f
CP = cp -f
MKDIR = mkdir
SEP = /
CC = mingw32-gcc
LD = mingw32-ld
WINDRES = mingw32-windres
else
RM = cmd /C del
CP = copy /Y
MKDIR = md
SEP = \$(EMPTY_VAR)
CC = gcc
LD = ld
RM = cmd /C del
WINDRES = windres
endif
FLAGS = -Wall
OBJS = rs232.o fdebug.o fdebug.res
.PHONY : clean
all: fdebug.exe
fdebug.exe: $(OBJS)
@echo ===================================================== LINKING fdebug
$(CC) $(FLAGS) -o fdebug.exe $(OBJS) -lgdi32 -lcomdlg32 -Wl,--subsystem,windows
fdebug.res: fdebug.rc resource.h
@echo ===================================================== Compiling $*
$(WINDRES) -o fdebug.res fdebug.rc -O coff
fdebug.o: fdebug.c rs232.h
@echo ===================================================== Compiling $*
$(CC) $(FLAGS) -o fdebug.o -c fdebug.c
rs232.o: rs232.c rs232.h
@echo ===================================================== Compiling $*
$(CC) $(FLAGS) -o rs232.o -c rs232.c
clean:
@-$(RM) *.o
@-$(RM) *.res
@-$(RM) *.exe
@echo Clean ALL done.

View File

@@ -1,413 +0,0 @@
#
# FreeLoader
# Copyright (C) 1998-2002 Brian Palmer <brianp@sginet.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Windows is default host environment
ifeq ($(HOST),)
HOST = mingw32-windows
endif
#
# Choose various options
#
ifeq ($(HOST),mingw32-linux)
RM = rm -f
CP = cp -f
CC = mingw32-gcc
LD = mingw32-ld
AR = mingw32-ar
NM = mingw32-nm
MKDIR = mkdir
SEP = /
else
RM = cmd /C del
CP = copy /Y
CC = gcc
LD = ld
AR = ar
NM = nm
MKDIR = md
SEP = /
endif
#############################################
# CHANGE THESE FOR YOUR OUTPUT
#
TARGET = i386
# Debugging information on (bigger binary)
#DEBUG = yes
# Debugging information off (smaller binary)
DEBUG = no
OBJDIR = obj
OUTPUT_DIR = $(OBJDIR)$(SEP)$(TARGET)
BOOTCD_DIR = ..$(SEP)..$(SEP)bootcd
#############################################
# COMPILER AND LINKER PROGRAMS
#
TOOLSDIR = $(SRCDIR)$(SEP)..$(SEP)tools
RM = $(TOOLSDIR)$(SEP)rdel
CP = $(TOOLSDIR)$(SEP)rcopy
MKDIR = $(TOOLSDIR)$(SEP)rmkdir
RMDIR = $(TOOLSDIR)$(SEP)rrmdir
NASM_CMD = nasm
OBJCOPY = objcopy
DEPTOOL = $(TOOLSDIR)$(SEP)deptool
HOSTTOOL = $(TOOLSDIR)$(SEP)hosttype
TOOLS = $(DEPTOOL) $(HOSTTOOL)
HOSTTYPE = $(shell $(HOSTTOOL))
#-----------------------------------------------------------------------------------------------------
# TEST IF WE ARE IN THE TARGET DIRECTORY
# IF NOT WE WILL CHANGE TO THE TARGET DIRECTORY AND RUN MAKE FROM THERE
#-----------------------------------------------------------------------------------------------------
#ifeq (,$(filter $(CURDIR)$(SEP)$(OUTPUT_DIR),$(notdir $(CURDIR))))
ifneq ($(CURDIR), $(SRCDIR)$(SEP)$(OUTPUT_DIR))
SRCDIR = $(CURDIR)
.SUFFIXES:
#############################################
# VARIABLE TO CHANGE TO TARGET DIRECTORY AND INVOKE MAKE FROM THERE
#
MAKETARGET = $(MAKE) --no-print-directory -C $(OUTPUT_DIR) \
-f ..$(SEP)..$(SEP)Makefile SRCDIR=$(CURDIR) $(MAKECMDGOALS)
.PHONY: CHANGE_TO_TARGET
CHANGE_TO_TARGET setupldr : BUILD_TOOLS $(OBJDIR) $(OBJDIR)$(SEP)$(TARGET)
@echo Calculating source file dependencies...
+@$(MAKETARGET)
.PHONY: BUILD_TOOLS
BUILD_TOOLS:
@$(MAKE) --no-print-directory -C $(TOOLSDIR)
$(OBJDIR):
@echo Creating directory: $(OBJDIR)
@$(MKDIR) $(OBJDIR)
$(OBJDIR)$(SEP)$(TARGET): $(OBJDIR)
@echo Creating directory: $(OBJDIR)$(SEP)$(TARGET)
@$(MKDIR) $(OBJDIR)$(SEP)$(TARGET)
Makefile : ;
% :: CHANGE_TO_TARGET
#############################################
.PHONY : clean
clean:
@$(MAKE) --no-print-directory -C $(TOOLSDIR)
@echo Cleaning directory $(OBJDIR)$(SEP)$(TARGET)
@-$(RM) $(OBJDIR)$(SEP)$(TARGET)$(SEP)*
@echo Removing directory $(OBJDIR)$(SEP)$(TARGET)
@-$(RMDIR) $(OBJDIR)$(SEP)$(TARGET)
@-$(RMDIR) $(OBJDIR)
@echo Clean ALL done.
#############################################
.PHONY : bootcd
bootcd : bootcd_dirs setup_loader boot_loader
.PHONY : bootcd_dirs
bootcd_dirs:
$(MKDIR) $(BOOTCD_DIR)
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk$(SEP)reactos
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk$(SEP)install
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk$(SEP)bootdisk
$(MKDIR) $(BOOTCD_DIR)$(SEP)disk$(SEP)loader
.PHONY : boot_loader
boot_loader : $(OBJDIR)$(SEP)$(TARGET)$(SEP)freeldr.sys
$(CP) $(OBJDIR)$(SEP)$(TARGET)$(SEP)freeldr.sys $(BOOTCD_DIR)$(SEP)disk$(SEP)loader$(SEP)freeldr.sys
$(CP) ..$(SEP)freeldr.ini $(BOOTCD_DIR)$(SEP)disk$(SEP)loader$(SEP)freeldr.ini
.PHONY : setup_loader
setup_loader : $(OBJDIR)$(SEP)$(TARGET)$(SEP)setupldr.sys
$(CP) $(OBJDIR)$(SEP)$(TARGET)$(SEP)setupldr.sys $(BOOTCD_DIR)$(SEP)disk$(SEP)loader$(SEP)setupldr.sys
#############################################
#-----------------------------------------------------------------------------------------------------
# END MAGIC TARGET DIRECTORY CHANGE STUFF
#-----------------------------------------------------------------------------------------------------
else
#############################################
# COMPILER COMMAND LINE OPTIONS
#
COMPILER_OPTIONS = -Wall -nostdlib -nostdinc -ffreestanding -fno-builtin -fno-inline -O1 -MD
# FreeLoader does not use any of the standard libraries, includes, or built-in functions
#############################################
# COMPILER DEFINES
#
ifeq ($(DEBUG),yes)
COMPILER_DEBUG_DEFINES = -DDEBUG
else
COMPILER_DEBUG_DEFINES =
endif
COMPILER_DEFINES = -D__$(TARGET)__ $(COMPILER_DEBUG_DEFINES)
#############################################
# INCLUDE DIRECTORY OPTIONS
#
COMPILER_INCLUDES = -I$(SRCDIR)$(SEP)include
#############################################
# COMPILER FLAGS
#
CFLAGS = $(COMPILER_OPTIONS) \
$(COMPILER_DEFINES) \
$(COMPILER_INCLUDES)
#############################################
# LINKER COMMAND LINE OPTIONS
#
#LINKER_OPTIONS = -N -Ttext=0x8000 --oformat=binary -s
LINKER_OPTIONS = -N -Ttext=0x8000
#############################################
# LINKER FLAGS
#
LFLAGS = $(LINKER_OPTIONS)
#############################################
# NASM FLAGS
#
ifeq ($(HOSTTYPE), dos)
NASMFLAGS = -f coff
else
ifeq ($(HOSTTYPE), win32)
NASMFLAGS = -f win32
else
NASMFLAGS = -f elf
endif
endif
#############################################
# LIST ALL THE OBJECT FILE GROUPS
#
# fathelp.o must come first in the link line because it contains bootsector helper code
# arch.o must come second in the link line because it contains the startup code
ARCH_OBJS = fathelp.o \
arch.o \
i386idt.o \
i386trap.o \
i386cpu.o \
i386pnp.o \
boot.o \
linux.o \
mb.o \
i386mem.o \
i386rtl.o \
i386vid.o \
drvmap.o \
int386.o \
i386disk.o \
portio.o \
hardware.o \
hwcpu.o \
_alloca.o # For Mingw32 builds
RTL_OBJS = print.o \
stdlib.o \
string.o \
list.o \
memcmp.o \
memcpy.o \
memmove.o \
memset.o
FS_OBJS = fs.o \
fat.o \
iso.o \
ext2.o \
fsrec.o
UI_OBJS = tui.o \
tuimenu.o \
ui.o \
gui.o
REACTOS_OBJS= arcname.o \
binhive.o \
registry.o
COMM_OBJS = rs232.o
DISK_OBJS = disk.o \
geometry.o \
partition.o
MM_OBJS = mm.o \
meminit.o
CACHE_OBJS = cache.o \
blocklist.o
INIFILE_OBJS= inifile.o \
ini_init.o \
parse.o
INFFILE_OBJS= inffile.o
VIDEO_OBJS = video.o \
vidmode.o \
fade.o \
palette.o \
pixel.o \
bank.o
# libgcc2.o contains code (__udivdi3, __umoddi3) necessary to do
# 64-bit division on the i386 (and other 32-bit) architectures
# This code was taken from the GCC v3.1 source
MATH_OBJS = libgcc2.o
BASE_OBJS = freeldr.o \
debug.o \
multiboot.o \
version.o
FREELDR_OBJS= bootmgr.o \
drivemap.o \
miscboot.o \
options.o \
linuxboot.o \
oslist.o \
custom.o
ROSLDR_OBJS = reactos.o
SETUPLDR_OBJS= setupldr.o
COMMON_OBJS = $(ARCH_OBJS) \
$(RTL_OBJS) \
$(FS_OBJS) \
$(UI_OBJS) \
$(REACTOS_OBJS) \
$(COMM_OBJS) \
$(DISK_OBJS) \
$(MM_OBJS) \
$(CACHE_OBJS) \
$(VIDEO_OBJS) \
$(MATH_OBJS) \
$(BASE_OBJS)
SPECIAL_OBJS = $(INIFILE_OBJS) \
$(INFFILE_OBJS) \
$(FREELDR_OBJS) \
$(ROSLDR_OBJS) \
$(SETUPLDR_OBJS)
F_OBJS = $(COMMON_OBJS) \
$(INIFILE_OBJS) \
$(ROSLDR_OBJS) \
$(FREELDR_OBJS)
S_OBJS = $(COMMON_OBJS) \
$(INIFILE_OBJS) \
$(INFFILE_OBJS) \
$(SETUPLDR_OBJS)
#############################################
# ALL THE OBJECTS
#
ALL_OBJS = $(COMMON_OBJS) \
$(SPECIAL_OBJS)
#############################################
# SET THE VPATH SO MAKE CAN FIND THE SOURCE FILES
#
VPATH = $(SRCDIR)$(SEP) \
$(SRCDIR)$(SEP)arch$(SEP)$(TARGET) \
$(SRCDIR)$(SEP)rtl \
$(SRCDIR)$(SEP)fs \
$(SRCDIR)$(SEP)ui \
$(SRCDIR)$(SEP)reactos \
$(SRCDIR)$(SEP)comm \
$(SRCDIR)$(SEP)disk \
$(SRCDIR)$(SEP)mm \
$(SRCDIR)$(SEP)cache \
$(SRCDIR)$(SEP)inifile \
$(SRCDIR)$(SEP)inffile \
$(SRCDIR)$(SEP)video \
$(SRCDIR)$(SEP)math \
$(SRCDIR)$(SEP)include
#############################################
all : freeldr.sys setupldr.sys
@echo Make ALL done.
#############################################
freeldr.sys : $(ALL_OBJS)
@echo ===================================================== LINKING $@
# @$(LD) -N -Ttext=0x8000 --oformat=binary -s -o freeldr.sys $(F_OBJS)
@$(LD) $(LFLAGS) -Map freeldr.map -o freeldr.exe $(F_OBJS)
# @$(CC) -Wl,-Ttext=0x8000,-N,-Map,freeldr.map -o freeldr.exe $(F_OBJS)
@$(NM) --numeric-sort freeldr.exe > freeldr.sym
@$(OBJCOPY) -O binary freeldr.exe freeldr.sys
#############################################
setupldr.sys : $(ALL_OBJS)
@echo ===================================================== LINKING $@
@$(LD) $(LFLAGS) -Map setupldr.map -o setupldr.exe $(S_OBJS)
@$(NM) --numeric-sort setupldr.exe > setupldr.sym
@$(OBJCOPY) -O binary setupldr.exe setupldr.sys
#############################################
%.o :: %.c
@echo ===================================================== Compiling $*
@$(CC) $(CFLAGS) -o $@ -c $<
@$(DEPTOOL) $*.d
%.o :: %.S
@echo ===================================================== Assembling $*
@$(CC) $(CFLAGS) -o $@ -c $<
@$(DEPTOOL) $*.d
%.o :: %.asm
@echo ===================================================== Assembling $*
@$(NASM_CMD) $(NASMFLAGS) -o $@ $<
#############################################
# Include the automagically generated dependencies
-include $(ALL_OBJS:%.o=%.d)
#############################################
endif

View File

@@ -1,335 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2002 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
.text
.code16
#define ASM
#include <arch.h>
EXTERN(RealEntryPoint)
cli
/* Setup segment registers */
xorw %ax,%ax
movw %ax,%ds
movw %ax,%es
movw %ax,%fs
movw %ax,%gs
movw %ax,%ss
/* Setup a stack */
movw stack16,%sp
sti
/* Init pmode */
call switch_to_prot
.code32
/* Store the boot drive */
movb %dl,(_BootDrive)
/* Store the boot partition */
movb %dh,(_BootPartition)
/* GO! */
call _BootMain
call switch_to_real
.code16
int $0x19
/* We should never get here */
stop:
jmp stop
nop
nop
/*
* Switches the processor to protected mode
* it destroys eax
*/
EXTERN(switch_to_prot)
.code16
cli /* None of these */
/* We don't know what values are currently */
/* in the segment registers. So we are */
/* going to reload them with sane values. */
/* Of course CS has to already be valid. */
/* We are currently in real-mode so we */
/* need real-mode segment values. */
movw $0x0000,%ax
movw %ax,%ds
movw %ax,%es
movw %ax,%fs
movw %ax,%gs
movw %ax,%ss
/* Get the return address off the stack */
popw (code32ret)
/* Save 16-bit stack pointer */
movw %sp,stack16
/* Load the GDT */
lgdt gdtptr
/* Load the IDT */
lidt i386idtptr
/* Enable Protected Mode */
mov %cr0,%eax
orl $CR0_PE_SET,%eax
mov %eax,%cr0
/* Clear prefetch queue & correct CS */
ljmp $PMODE_CS, $inpmode
.code32
inpmode:
/* Setup segment selectors */
movw $PMODE_DS,%ax
movw %ax,%ds
movw %ax,%es
movw %ax,%fs
movw %ax,%gs
movw %ax,%ss
movl stack32,%esp
/* Put the return address back onto the stack */
pushl (code32ret)
/* Now return in p-mode! */
ret
/*
* Switches the processor back to real mode
* it destroys eax
*/
EXTERN(switch_to_real)
.code32
/* We don't know what values are currently */
/* in the segment registers. So we are */
/* going to reload them with sane values. */
/* Of course CS has to already be valid. */
/* We are currently in protected-mode so we */
/* need protected-mode segment values. */
movw $PMODE_DS,%ax
movw %ax,%ds
movw %ax,%es
movw %ax,%fs
movw %ax,%gs
movw %ax,%ss
/* Get the return address off the stack */
popl (code16ret)
/* Save 32-bit stack pointer */
movl %esp,stack32
/* jmp to 16-bit segment to set the limit correctly */
ljmp $RMODE_CS, $switch_to_real16
switch_to_real16:
.code16
/* Restore segment registers to correct limit */
movw $RMODE_DS,%ax
movw %ax,%ds
movw %ax,%es
movw %ax,%fs
movw %ax,%gs
movw %ax,%ss
/* Disable Protected Mode */
mov %cr0,%eax
andl $CR0_PE_CLR,%eax
mov %eax,%cr0
/* Clear prefetch queue & correct CS */
ljmp $0, $inrmode
inrmode:
movw %cs,%ax
movw %ax,%ds
movw %ax,%es
movw %ax,%fs
movw %ax,%gs
movw %ax,%ss
/* Clear out the high 16-bits of ESP */
/* This is needed because I have one */
/* machine that hangs when booted to dos if */
/* anything other than 0x0000 is in the high */
/* 16-bits of ESP. Even though real-mode */
/* code should only use SP and not ESP. */
xorl %esp,%esp
movw stack16,%sp
/* Put the return address back onto the stack */
pushw (code16ret)
/* Load IDTR with real mode value */
lidt rmode_idtptr
sti /* These are ok now */
/* Now return in r-mode! */
ret
/*
* Needed for enabling the a20 address line
*/
.code16
empty_8042:
.word 0x00eb,0x00eb // jmp $+2, jmp $+2
inb $0x64,%al
testb $0x02,%al
jnz empty_8042
ret
/*
* Enable the A20 address line (to allow access to over 1mb)
*/
EXTERN(_EnableA20)
.code32
pushal
call switch_to_real
.code16
call empty_8042
movb $0xD1,%al // command write
outb %al,$0x64
call empty_8042
mov $0xDF,%al // A20 on
out %al,$0x60
call empty_8042
call switch_to_prot
.code32
popal
ret
/*
* Disable the A20 address line
*/
EXTERN(_DisableA20)
.code32
pushal
call switch_to_real
.code16
call empty_8042
movb $0xD1,%al // command write
outb %al,$0x64
call empty_8042
mov $0xDD,%al // A20 off
out %al,$0x60
call empty_8042
call switch_to_prot
.code32
popal
ret
/* 16-bit stack pointer */
stack16:
.word STACK16ADDR
/* 32-bit stack pointer */
stack32:
.long STACK32ADDR
/* 16-bit return address */
code16ret:
.long 0
/* 32-bit return address */
code32ret:
.long 0
.p2align 2 /* force 4-byte alignment */
gdt:
/* NULL Descriptor */
.word 0x0000
.word 0x0000
.word 0x0000
.word 0x0000
/* 32-bit flat CS */
.word 0xFFFF
.word 0x0000
.word 0x9A00
.word 0x00CF
/* 32-bit flat DS */
.word 0xFFFF
.word 0x0000
.word 0x9200
.word 0x00CF
/* 16-bit real mode CS */
.word 0xFFFF
.word 0x0000
.word 0x9E00
.word 0x0000
/* 16-bit real mode DS */
.word 0xFFFF
.word 0x0000
.word 0x9200
.word 0x0000
/* GDT table pointer */
gdtptr:
.word 0x27 /* Limit */
.long gdt /* Base Address */
/* Real-mode IDT pointer */
rmode_idtptr:
.word 0x3ff /* Limit */
.long 0 /* Base Address */
EXTERN(_BootDrive)
.long 0
EXTERN(_BootPartition)
.long 0

File diff suppressed because it is too large Load Diff

View File

@@ -1,184 +0,0 @@
/*
* FreeLoader
*
* Copyright (C) 2003 Eric Kohl
*
* 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.
*/
#ifndef __I386_HARDWARE_H_
#define __I386_HARDWARE_H_
typedef enum
{
InterfaceTypeUndefined = -1,
Internal,
Isa,
Eisa,
MicroChannel,
TurboChannel,
PCIBus,
VMEBus,
NuBus,
PCMCIABus,
CBus,
MPIBus,
MPSABus,
ProcessorInternal,
InternalPowerBus,
PNPISABus,
MaximumInterfaceType
} INTERFACE_TYPE, *PINTERFACE_TYPE;
typedef enum _CM_RESOURCE_TYPE
{
CmResourceTypeNull = 0,
CmResourceTypePort,
CmResourceTypeInterrupt,
CmResourceTypeMemory,
CmResourceTypeDma,
CmResourceTypeDeviceSpecific,
CmResourceTypeMaximum
} CM_RESOURCE_TYPE;
typedef enum _CM_SHARE_DISPOSITION
{
CmResourceShareUndetermined = 0,
CmResourceShareDeviceExclusive,
CmResourceShareDriverExclusive,
CmResourceShareShared
} CM_SHARE_DISPOSITION;
typedef U64 PHYSICAL_ADDRESS;
typedef struct
{
U8 Type;
U8 ShareDisposition;
U16 Flags;
union
{
struct
{
PHYSICAL_ADDRESS Start;
U32 Length;
} __attribute__((packed)) Port;
struct
{
U32 Level;
U32 Vector;
U32 Affinity;
} __attribute__((packed)) Interrupt;
struct
{
PHYSICAL_ADDRESS Start;
U32 Length;
} __attribute__((packed)) Memory;
struct
{
U32 Channel;
U32 Port;
U32 Reserved1;
} __attribute__((packed)) Dma;
struct
{
U32 DataSize;
U32 Reserved1;
U32 Reserved2;
} __attribute__((packed)) DeviceSpecificData;
} __attribute__((packed)) u;
} __attribute__((packed)) CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;
/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags */
#define CM_RESOURCE_PORT_MEMORY 0x0000
#define CM_RESOURCE_PORT_IO 0x0001
#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0x0000
#define CM_RESOURCE_INTERRUPT_LATCHED 0x0001
typedef struct
{
U16 Version;
U16 Revision;
U32 Count;
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];
} __attribute__((packed))CM_PARTIAL_RESOURCE_LIST, *PCM_PARTIAL_RESOURCE_LIST;
typedef struct
{
INTERFACE_TYPE InterfaceType;
U32 BusNumber;
CM_PARTIAL_RESOURCE_LIST PartialResourceList;
} __attribute__((packed)) CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;
typedef struct _CM_COMPONENT_INFORMATION
{
U32 Flags;
U32 Version;
U32 Key;
U32 Affinity;
} __attribute__((packed)) CM_COMPONENT_INFORMATION, *PCM_COMPONENT_INFORMATION;
/* CM_COMPONENT_INFORMATION.Flags */
#define Failed 0x00000001
#define ReadOnly 0x00000002
#define Removable 0x00000004
#define ConsoleIn 0x00000008
#define ConsoleOut 0x00000010
#define Input 0x00000020
#define Output 0x00000040
/* PROTOTYPES ***************************************************************/
/* hardware.c */
VOID KeStallExecutionProcessor(U32 Microseconds);
VOID SetComponentInformation(HKEY ComponentKey,
U32 Flags,
U32 Key,
U32 Affinity);
/* hwcpu.c */
VOID DetectCPUs(HKEY SystemKey);
/* i386cpu.S */
U32 CpuidSupported(VOID);
VOID GetCpuid(U32 Level,
U32 *eax,
U32 *ebx,
U32 *ecx,
U32 *edx);
U64 RDTSC(VOID);
/* i386pnp.S */
U32 PnpBiosSupported(VOID);
U32 PnpBiosGetDeviceNodeCount(U32 *NodeSize,
U32 *NodeCount);
U32 PnpBiosGetDeviceNode(U8 *NodeId,
U8 *NodeBuffer);
#endif /* __I386_HARDWARE_H_ */
/* EOF */

View File

@@ -1,487 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <disk.h>
#include <rtl.h>
#include <arch.h>
#include <debug.h>
#include <portio.h>
typedef struct
{
U8 PacketSize; // 00h - Size of packet (10h or 18h)
U8 Reserved; // 01h - Reserved (0)
U16 LBABlockCount; // 02h - Number of blocks to transfer (max 007Fh for Phoenix EDD)
U16 TransferBufferOffset; // 04h - Transfer buffer offset (seg:off)
U16 TransferBufferSegment; // Transfer buffer segment (seg:off)
U64 LBAStartBlock; // 08h - Starting absolute block number
U64 TransferBuffer64; // 10h - (EDD-3.0, optional) 64-bit flat address of transfer buffer
// used if DWORD at 04h is FFFFh:FFFFh
} PACKED I386_DISK_ADDRESS_PACKET, *PI386_DISK_ADDRESS_PACKET;
/////////////////////////////////////////////////////////////////////////////////////////////
// FUNCTIONS
/////////////////////////////////////////////////////////////////////////////////////////////
#ifdef __i386__
BOOL DiskReadLogicalSectors(U32 DriveNumber, U64 SectorNumber, U32 SectorCount, PVOID Buffer)
{
DbgPrint((DPRINT_DISK, "DiskReadLogicalSectors() DriveNumber: 0x%x SectorNumber: %d%d SectorCount: %d Buffer: 0x%x\n", DriveNumber, (U32)SectorNumber, SectorCount, Buffer));
//
// Check to see if it is a fixed disk drive
// If so then check to see if Int13 extensions work
// If they do then use them, otherwise default back to BIOS calls
//
if ((DriveNumber >= 0x80) && DiskInt13ExtensionsSupported(DriveNumber))
{
DbgPrint((DPRINT_DISK, "Using Int 13 Extensions for read. DiskInt13ExtensionsSupported(%d) = %s\n", DriveNumber, DiskInt13ExtensionsSupported(DriveNumber) ? "TRUE" : "FALSE"));
//
// LBA is easy, nothing to calculate
// Just do the read
//
return DiskReadLogicalSectorsLBA(DriveNumber, SectorNumber, SectorCount, Buffer);
}
else
{
// LBA is not supported default to the CHS calls
return DiskReadLogicalSectorsCHS(DriveNumber, SectorNumber, SectorCount, Buffer);
}
return TRUE;
}
BOOL DiskReadLogicalSectorsLBA(U32 DriveNumber, U64 SectorNumber, U32 SectorCount, PVOID Buffer)
{
REGS RegsIn;
REGS RegsOut;
U32 RetryCount;
PI386_DISK_ADDRESS_PACKET Packet = (PI386_DISK_ADDRESS_PACKET)(BIOSCALLBUFFER);
DbgPrint((DPRINT_DISK, "DiskReadLogicalSectorsLBA()\n"));
// BIOS int 0x13, function 42h - IBM/MS INT 13 Extensions - EXTENDED READ
RegsIn.b.ah = 0x42; // Subfunction 42h
RegsIn.b.dl = DriveNumber; // Drive number in DL (0 - floppy, 0x80 - harddisk)
RegsIn.x.ds = BIOSCALLBUFSEGMENT; // DS:SI -> disk address packet
RegsIn.w.si = BIOSCALLBUFOFFSET;
// Setup disk address packet
RtlZeroMemory(Packet, sizeof(I386_DISK_ADDRESS_PACKET));
Packet->PacketSize = sizeof(I386_DISK_ADDRESS_PACKET);
Packet->Reserved = 0;
Packet->LBABlockCount = SectorCount;
Packet->TransferBufferOffset = ((U32)Buffer) & 0x0F;
Packet->TransferBufferSegment = ((U32)Buffer) >> 4;
Packet->LBAStartBlock = SectorNumber;
Packet->TransferBuffer64 = 0;
// BIOS int 0x13, function 42h - IBM/MS INT 13 Extensions - EXTENDED READ
// Return:
// CF clear if successful
// AH = 00h
// CF set on error
// AH = error code
// disk address packet's block count field set to the
// number of blocks successfully transferred
// Retry 3 times
for (RetryCount=0; RetryCount<3; RetryCount++)
{
Int386(0x13, &RegsIn, &RegsOut);
// If it worked return TRUE
if (INT386_SUCCESS(RegsOut))
{
return TRUE;
}
// If it was a corrected ECC error then the data is still good
else if (RegsOut.b.ah == 0x11)
{
return TRUE;
}
// If it failed the do the next retry
else
{
DiskResetController(DriveNumber);
continue;
}
}
// If we get here then the read failed
DiskError("Disk Read Failed", RegsOut.b.ah);
return FALSE;
}
BOOL DiskReadLogicalSectorsCHS(U32 DriveNumber, U64 SectorNumber, U32 SectorCount, PVOID Buffer)
{
U32 PhysicalSector;
U32 PhysicalHead;
U32 PhysicalTrack;
GEOMETRY DriveGeometry;
U32 NumberOfSectorsToRead;
REGS RegsIn;
REGS RegsOut;
U32 RetryCount;
DbgPrint((DPRINT_DISK, "DiskReadLogicalSectorsCHS()\n"));
//
// Get the drive geometry
//
if (!DiskGetDriveGeometry(DriveNumber, &DriveGeometry))
{
return FALSE;
}
while (SectorCount)
{
//
// Calculate the physical disk offsets
//
PhysicalSector = 1 + (SectorNumber % DriveGeometry.Sectors);
PhysicalHead = (SectorNumber / DriveGeometry.Sectors) % DriveGeometry.Heads;
PhysicalTrack = (SectorNumber / DriveGeometry.Sectors) / DriveGeometry.Heads;
//
// Calculate how many sectors we need to read this round
//
if (PhysicalSector > 1)
{
if (SectorCount >= (DriveGeometry.Sectors - (PhysicalSector - 1)))
NumberOfSectorsToRead = (DriveGeometry.Sectors - (PhysicalSector - 1));
else
NumberOfSectorsToRead = SectorCount;
}
else
{
if (SectorCount >= DriveGeometry.Sectors)
NumberOfSectorsToRead = DriveGeometry.Sectors;
else
NumberOfSectorsToRead = SectorCount;
}
//
// Make sure the read is within the geometry boundaries
//
if ((PhysicalHead >= DriveGeometry.Heads) ||
(PhysicalTrack >= DriveGeometry.Cylinders) ||
((NumberOfSectorsToRead + PhysicalSector) > (DriveGeometry.Sectors + 1)) ||
(PhysicalSector > DriveGeometry.Sectors))
{
DiskError("Disk read exceeds drive geometry limits.", 0);
return FALSE;
}
// BIOS Int 13h, function 2 - Read Disk Sectors
// AH = 02h
// AL = number of sectors to read (must be nonzero)
// CH = low eight bits of cylinder number
// CL = sector number 1-63 (bits 0-5)
// high two bits of cylinder (bits 6-7, hard disk only)
// DH = head number
// DL = drive number (bit 7 set for hard disk)
// ES:BX -> data buffer
// Return:
// CF set on error
// if AH = 11h (corrected ECC error), AL = burst length
// CF clear if successful
// AH = status
// AL = number of sectors transferred
// (only valid if CF set for some BIOSes)
RegsIn.b.ah = 0x02;
RegsIn.b.al = NumberOfSectorsToRead;
RegsIn.b.ch = (PhysicalTrack & 0xFF);
RegsIn.b.cl = (PhysicalSector + ((PhysicalTrack & 0x300) >> 2));
RegsIn.b.dh = PhysicalHead;
RegsIn.b.dl = DriveNumber;
RegsIn.w.es = ((U32)Buffer) >> 4;
RegsIn.w.bx = ((U32)Buffer) & 0x0F;
//
// Perform the read
// Retry 3 times
//
for (RetryCount=0; RetryCount<3; RetryCount++)
{
Int386(0x13, &RegsIn, &RegsOut);
// If it worked break out
if (INT386_SUCCESS(RegsOut))
{
break;
}
// If it was a corrected ECC error then the data is still good
else if (RegsOut.b.ah == 0x11)
{
break;
}
// If it failed the do the next retry
else
{
DiskResetController(DriveNumber);
continue;
}
}
// If we retried 3 times then fail
if (RetryCount >= 3)
{
DiskError("Disk Read Failed", RegsOut.b.ah);
return FALSE;
}
// I have learned that not all bioses return
// the sector read count in the AL register (at least mine doesn't)
// even if the sectors were read correctly. So instead
// of checking the sector read count we will rely solely
// on the carry flag being set on error
Buffer += (NumberOfSectorsToRead * DriveGeometry.BytesPerSector);
SectorCount -= NumberOfSectorsToRead;
SectorNumber += NumberOfSectorsToRead;
}
return TRUE;
}
BOOL DiskResetController(U32 DriveNumber)
{
REGS RegsIn;
REGS RegsOut;
DbgPrint((DPRINT_DISK, "DiskResetController(0x%x) DISK OPERATION FAILED -- RESETTING CONTROLLER\n", DriveNumber));
// BIOS Int 13h, function 0 - Reset disk system
// AH = 00h
// DL = drive (if bit 7 is set both hard disks and floppy disks reset)
// Return:
// AH = status
// CF clear if successful
// CF set on error
RegsIn.b.ah = 0x02;
RegsIn.b.dl = DriveNumber;
// Reset the disk controller
Int386(0x13, &RegsIn, &RegsOut);
return INT386_SUCCESS(RegsOut);
}
BOOL DiskInt13ExtensionsSupported(U32 DriveNumber)
{
REGS RegsIn;
REGS RegsOut;
DbgPrint((DPRINT_DISK, "DiskInt13ExtensionsSupported()\n"));
// IBM/MS INT 13 Extensions - INSTALLATION CHECK
// AH = 41h
// BX = 55AAh
// DL = drive (80h-FFh)
// Return:
// CF set on error (extensions not supported)
// AH = 01h (invalid function)
// CF clear if successful
// BX = AA55h if installed
// AH = major version of extensions
// 01h = 1.x
// 20h = 2.0 / EDD-1.0
// 21h = 2.1 / EDD-1.1
// 30h = EDD-3.0
// AL = internal use
// CX = API subset support bitmap
// DH = extension version (v2.0+ ??? -- not present in 1.x)
//
// Bitfields for IBM/MS INT 13 Extensions API support bitmap
// Bit 0, extended disk access functions (AH=42h-44h,47h,48h) supported
// Bit 1, removable drive controller functions (AH=45h,46h,48h,49h,INT 15/AH=52h) supported
// Bit 2, enhanced disk drive (EDD) functions (AH=48h,AH=4Eh) supported
// extended drive parameter table is valid
// Bits 3-15 reserved
RegsIn.b.ah = 0x41;
RegsIn.w.bx = 0x55AA;
RegsIn.b.dl = DriveNumber;
// Reset the disk controller
Int386(0x13, &RegsIn, &RegsOut);
if (!INT386_SUCCESS(RegsOut))
{
// CF set on error (extensions not supported)
return FALSE;
}
if (RegsOut.w.bx != 0xAA55)
{
// BX = AA55h if installed
return FALSE;
}
// Note:
// The original check is too strict because some BIOSes report that
// extended disk access functions are not suported when booting
// from a CD (e.g. Phoenix BIOS v6.00PG). Argh!
#if 0
if (!(RegsOut.w.cx & 0x0001))
{
// CX = API subset support bitmap
// Bit 0, extended disk access functions (AH=42h-44h,47h,48h) supported
return FALSE;
}
#endif
// Use this relaxed check instead
if (RegsOut.w.cx == 0x0000)
{
// CX = API subset support bitmap
return FALSE;
}
return TRUE;
}
VOID DiskStopFloppyMotor(VOID)
{
WRITE_PORT_UCHAR((PUCHAR)0x3F2, 0);
}
BOOL DiskGetDriveParameters(U32 DriveNumber, PGEOMETRY Geometry)
{
REGS RegsIn;
REGS RegsOut;
U32 Cylinders;
DbgPrint((DPRINT_DISK, "DiskGetDriveParameters()\n"));
// BIOS Int 13h, function 08h - Get drive parameters
// AH = 08h
// DL = drive (bit 7 set for hard disk)
// ES:DI = 0000h:0000h to guard against BIOS bugs
// Return:
// CF set on error
// AH = status (07h)
// CF clear if successful
// AH = 00h
// AL = 00h on at least some BIOSes
// BL = drive type (AT/PS2 floppies only)
// CH = low eight bits of maximum cylinder number
// CL = maximum sector number (bits 5-0)
// high two bits of maximum cylinder number (bits 7-6)
// DH = maximum head number
// DL = number of drives
// ES:DI -> drive parameter table (floppies only)
RegsIn.b.ah = 0x08;
RegsIn.b.dl = DriveNumber;
RegsIn.w.es = 0x0000;
RegsIn.w.di = 0x0000;
// Get drive parameters
Int386(0x13, &RegsIn, &RegsOut);
if (!INT386_SUCCESS(RegsOut))
{
return FALSE;
}
Cylinders = (RegsOut.b.cl & 0xC0) << 2;
Cylinders += RegsOut.b.ch;
Cylinders++;
Geometry->Cylinders = Cylinders;
Geometry->Heads = RegsOut.b.dh + 1;
Geometry->Sectors = RegsOut.b.cl & 0x3F;
Geometry->BytesPerSector = 512; // Just assume 512 bytes per sector
return TRUE;
}
BOOL DiskGetExtendedDriveParameters(U32 DriveNumber, PVOID Buffer, U16 BufferSize)
{
REGS RegsIn;
REGS RegsOut;
PU16 Ptr = (PU16)(BIOSCALLBUFFER);
DbgPrint((DPRINT_DISK, "DiskGetExtendedDriveParameters()\n"));
// Initialize transfer buffer
*Ptr = BufferSize;
// BIOS Int 13h, function 48h - Get drive parameters
// AH = 48h
// DL = drive (bit 7 set for hard disk)
// DS:SI = result buffer
// Return:
// CF set on error
// AH = status (07h)
// CF clear if successful
// AH = 00h
// DS:SI -> result buffer
RegsIn.b.ah = 0x48;
RegsIn.b.dl = DriveNumber;
RegsIn.x.ds = BIOSCALLBUFSEGMENT; // DS:SI -> result buffer
RegsIn.w.si = BIOSCALLBUFOFFSET;
// Get drive parameters
Int386(0x13, &RegsIn, &RegsOut);
if (!INT386_SUCCESS(RegsOut))
{
return FALSE;
}
memcpy(Buffer, Ptr, BufferSize);
return TRUE;
}
U32 DiskGetCacheableBlockCount(U32 DriveNumber)
{
GEOMETRY Geometry;
// Get the disk geometry
// If this fails then we will just return 1 sector to be safe
if (!DiskGetDriveParameters(DriveNumber, &Geometry))
{
return 1;
}
// If LBA is supported then the block size will be 64 sectors (32k)
// If not then the block size is the size of one track
if (DiskInt13ExtensionsSupported(DriveNumber))
{
return 64;
}
else
{
return Geometry.Sectors;
}
}
#endif // defined __i386__

View File

@@ -1,216 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <arch.h>
#include <mm.h>
#include <debug.h>
#include <rtl.h>
#include <portio.h>
U32 GetExtendedMemorySize(VOID)
{
REGS RegsIn;
REGS RegsOut;
U32 MemorySize;
DbgPrint((DPRINT_MEMORY, "GetExtendedMemorySize()\n"));
// Int 15h AX=E801h
// Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS
//
// AX = E801h
// Return:
// CF clear if successful
// AX = extended memory between 1M and 16M, in K (max 3C00h = 15MB)
// BX = extended memory above 16M, in 64K blocks
// CX = configured memory 1M to 16M, in K
// DX = configured memory above 16M, in 64K blocks
// CF set on error
RegsIn.w.ax = 0xE801;
Int386(0x15, &RegsIn, &RegsOut);
DbgPrint((DPRINT_MEMORY, "Int15h AX=E801h\n"));
DbgPrint((DPRINT_MEMORY, "AX = 0x%x\n", RegsOut.w.ax));
DbgPrint((DPRINT_MEMORY, "BX = 0x%x\n", RegsOut.w.bx));
DbgPrint((DPRINT_MEMORY, "CX = 0x%x\n", RegsOut.w.cx));
DbgPrint((DPRINT_MEMORY, "DX = 0x%x\n", RegsOut.w.dx));
DbgPrint((DPRINT_MEMORY, "CF set = %s\n\n", (RegsOut.x.eflags & I386FLAG_CF) ? "TRUE" : "FALSE"));
if (INT386_SUCCESS(RegsOut))
{
// If AX=BX=0000h the use CX and DX
if (RegsOut.w.ax == 0)
{
// Return extended memory size in K
MemorySize = RegsOut.w.dx * 64;
MemorySize += RegsOut.w.cx;
return MemorySize;
}
else
{
// Return extended memory size in K
MemorySize = RegsOut.w.bx * 64;
MemorySize += RegsOut.w.ax;
return MemorySize;
}
}
// If we get here then Int15 Func E801h didn't work
// So try Int15 Func 88h
// Int 15h AH=88h
// SYSTEM - GET EXTENDED MEMORY SIZE (286+)
//
// AH = 88h
// Return:
// CF clear if successful
// AX = number of contiguous KB starting at absolute address 100000h
// CF set on error
// AH = status
// 80h invalid command (PC,PCjr)
// 86h unsupported function (XT,PS30)
RegsIn.b.ah = 0x88;
Int386(0x15, &RegsIn, &RegsOut);
DbgPrint((DPRINT_MEMORY, "Int15h AH=88h\n"));
DbgPrint((DPRINT_MEMORY, "AX = 0x%x\n", RegsOut.w.ax));
DbgPrint((DPRINT_MEMORY, "CF set = %s\n\n", (RegsOut.x.eflags & I386FLAG_CF) ? "TRUE" : "FALSE"));
if (INT386_SUCCESS(RegsOut) && RegsOut.w.ax != 0)
{
MemorySize = RegsOut.w.ax;
return MemorySize;
}
// If we get here then Int15 Func 88h didn't work
// So try reading the CMOS
WRITE_PORT_UCHAR((PUCHAR)0x70, 0x31);
MemorySize = READ_PORT_UCHAR((PUCHAR)0x71);
MemorySize = (MemorySize & 0xFFFF);
MemorySize = (MemorySize << 8);
DbgPrint((DPRINT_MEMORY, "Int15h Failed\n"));
DbgPrint((DPRINT_MEMORY, "CMOS reports: 0x%x\n", MemorySize));
return MemorySize;
}
U32 GetConventionalMemorySize(VOID)
{
REGS Regs;
DbgPrint((DPRINT_MEMORY, "GetConventionalMemorySize()\n"));
// Int 12h
// BIOS - GET MEMORY SIZE
//
// Return:
// AX = kilobytes of contiguous memory starting at absolute address 00000h
//
// This call returns the contents of the word at 0040h:0013h;
// in PC and XT, this value is set from the switches on the motherboard
Regs.w.ax = 0;
Int386(0x12, &Regs, &Regs);
DbgPrint((DPRINT_MEMORY, "Int12h\n"));
DbgPrint((DPRINT_MEMORY, "AX = 0x%x\n\n", Regs.w.ax));
return (U32)Regs.w.ax;
}
U32 GetBiosMemoryMap(PBIOS_MEMORY_MAP BiosMemoryMap, U32 MaxMemoryMapSize)
{
REGS Regs;
U32 MapCount;
DbgPrint((DPRINT_MEMORY, "GetBiosMemoryMap()\n"));
// Int 15h AX=E820h
// Newer BIOSes - GET SYSTEM MEMORY MAP
//
// AX = E820h
// EAX = 0000E820h
// EDX = 534D4150h ('SMAP')
// EBX = continuation value or 00000000h to start at beginning of map
// ECX = size of buffer for result, in bytes (should be >= 20 bytes)
// ES:DI -> buffer for result
// Return:
// CF clear if successful
// EAX = 534D4150h ('SMAP')
// ES:DI buffer filled
// EBX = next offset from which to copy or 00000000h if all done
// ECX = actual length returned in bytes
// CF set on error
// AH = error code (86h)
Regs.x.eax = 0x0000E820;
Regs.x.edx = 0x534D4150; // ('SMAP')
Regs.x.ebx = 0x00000000;
Regs.x.ecx = sizeof(BIOS_MEMORY_MAP);
Regs.w.es = BIOSCALLBUFSEGMENT;
Regs.w.di = BIOSCALLBUFOFFSET;
for (MapCount=0; MapCount<MaxMemoryMapSize; MapCount++)
{
Int386(0x15, &Regs, &Regs);
DbgPrint((DPRINT_MEMORY, "Memory Map Entry %d\n", MapCount));
DbgPrint((DPRINT_MEMORY, "Int15h AX=E820h\n"));
DbgPrint((DPRINT_MEMORY, "EAX = 0x%x\n", Regs.x.eax));
DbgPrint((DPRINT_MEMORY, "EBX = 0x%x\n", Regs.x.ebx));
DbgPrint((DPRINT_MEMORY, "ECX = 0x%x\n", Regs.x.ecx));
DbgPrint((DPRINT_MEMORY, "CF set = %s\n", (Regs.x.eflags & I386FLAG_CF) ? "TRUE" : "FALSE"));
// If the BIOS didn't return 'SMAP' in EAX then
// it doesn't support this call
if (Regs.x.eax != 0x534D4150)
{
break;
}
// Copy data to caller's buffer
RtlCopyMemory(&BiosMemoryMap[MapCount], (PVOID)BIOSCALLBUFFER, Regs.x.ecx);
DbgPrint((DPRINT_MEMORY, "BaseAddress: 0x%x%x\n", BiosMemoryMap[MapCount].BaseAddress));
DbgPrint((DPRINT_MEMORY, "Length: 0x%x%x\n", BiosMemoryMap[MapCount].Length));
DbgPrint((DPRINT_MEMORY, "Type: 0x%x\n", BiosMemoryMap[MapCount].Type));
DbgPrint((DPRINT_MEMORY, "Reserved: 0x%x\n", BiosMemoryMap[MapCount].Reserved));
DbgPrint((DPRINT_MEMORY, "\n"));
// If the continuation value is zero or the
// carry flag is set then this was
// the last entry so we're done
if (Regs.x.ebx == 0x00000000 || !INT386_SUCCESS(Regs))
{
MapCount++;
DbgPrint((DPRINT_MEMORY, "End Of System Memory Map!\n\n"));
break;
}
// Setup the registers for the next call
Regs.x.eax = 0x0000E820;
Regs.x.edx = 0x534D4150; // ('SMAP')
//Regs.x.ebx = 0x00000001; // Continuation value already set by the BIOS
Regs.x.ecx = sizeof(BIOS_MEMORY_MAP);
Regs.w.es = BIOSCALLBUFSEGMENT;
Regs.w.di = BIOSCALLBUFOFFSET;
}
return MapCount;
}

View File

@@ -1,396 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <arch.h>
#include <rtl.h>
#include <portio.h>
void putchar(int ch)
{
REGS Regs;
/* If we are displaying a CR '\n' then do a LF also */
if (ch == '\n')
{
/* Display the LF */
putchar('\r');
}
/* If we are displaying a TAB '\t' then display 8 spaces ' ' */
if (ch == '\t')
{
/* Display the 8 spaces ' ' */
putchar(' ');
putchar(' ');
putchar(' ');
putchar(' ');
putchar(' ');
putchar(' ');
putchar(' ');
putchar(' ');
return;
}
// Int 10h AH=0Eh
// VIDEO - TELETYPE OUTPUT
//
// AH = 0Eh
// AL = character to write
// BH = page number
// BL = foreground color (graphics modes only)
Regs.b.ah = 0x0E;
Regs.b.al = ch;
Regs.w.bx = 1;
Int386(0x10, &Regs, &Regs);
}
int kbhit(void)
{
REGS Regs;
// Int 16h AH=01h
// KEYBOARD - CHECK FOR KEYSTROKE
//
// AH = 01h
// Return:
// ZF set if no keystroke available
// ZF clear if keystroke available
// AH = BIOS scan code
// AL = ASCII character
Regs.b.ah = 0x01;
Int386(0x16, &Regs, &Regs);
if (Regs.x.eflags & I386FLAG_ZF)
{
return 0;
}
return 1;
}
int getch(void)
{
REGS Regs;
static BOOL ExtendedKey = FALSE;
static char ExtendedScanCode = 0;
// If the last time we were called an
// extended key was pressed then return
// that keys scan code.
if (ExtendedKey)
{
ExtendedKey = FALSE;
return ExtendedScanCode;
}
// Int 16h AH=00h
// KEYBOARD - GET KEYSTROKE
//
// AH = 00h
// Return:
// AH = BIOS scan code
// AL = ASCII character
Regs.b.ah = 0x00;
Int386(0x16, &Regs, &Regs);
// Check for an extended keystroke
if (Regs.b.al == 0)
{
ExtendedKey = TRUE;
ExtendedScanCode = Regs.b.ah;
}
// Return keystroke
return Regs.b.al;
}
int getyear(void)
{
REGS Regs;
U16 Digit1;
U16 Digit2;
U16 Cent1;
U16 Cent2;
U16 Year;
// Some BIOSes, such es the 1998/07/25 system ROM
// in the Compaq Deskpro EP/SB, leave CF unchanged
// if successful, so CF should be cleared before
// calling this function.
__asm__ ("clc");
// Int 1Ah AH=04h
// TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)
//
// AH = 04h
// CF clear to avoid bug
// Return:
// CF clear if successful
// CH = century (BCD)
// CL = year (BCD)
// DH = month (BCD)
// DL = day (BCD)
// CF set on error
Regs.b.ah = 0x04;
Int386(0x1A, &Regs, &Regs);
/* Convert from BCD to normal */
Digit1 = Regs.b.cl & 0x0F;
Digit2 = ((Regs.b.cl >> 4) & 0x0F) * 10;
Cent1 = Regs.b.ch & 0x0F;
Cent2 = ((Regs.b.ch >> 4) & 0x0F) * 10;
Year = Cent1 + Cent2;
Year *= 100;
Year += Digit1 + Digit2;
return Year;
}
int getday(void)
{
REGS Regs;
U16 Digit1;
U16 Digit2;
// Some BIOSes, such es the 1998/07/25 system ROM
// in the Compaq Deskpro EP/SB, leave CF unchanged
// if successful, so CF should be cleared before
// calling this function.
__asm__ ("clc");
// Int 1Ah AH=04h
// TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)
//
// AH = 04h
// CF clear to avoid bug
// Return:
// CF clear if successful
// CH = century (BCD)
// CL = year (BCD)
// DH = month (BCD)
// DL = day (BCD)
// CF set on error
Regs.b.ah = 0x04;
Int386(0x1A, &Regs, &Regs);
/* Convert from BCD to normal */
Digit1 = Regs.b.dl & 0x0F;
Digit2 = ((Regs.b.dl >> 4) & 0x0F) * 10;
return (Digit1 + Digit2);
}
int getmonth(void)
{
REGS Regs;
U16 Digit1;
U16 Digit2;
// Some BIOSes, such es the 1998/07/25 system ROM
// in the Compaq Deskpro EP/SB, leave CF unchanged
// if successful, so CF should be cleared before
// calling this function.
__asm__ ("clc");
// Int 1Ah AH=04h
// TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)
//
// AH = 04h
// CF clear to avoid bug
// Return:
// CF clear if successful
// CH = century (BCD)
// CL = year (BCD)
// DH = month (BCD)
// DL = day (BCD)
// CF set on error
Regs.b.ah = 0x04;
Int386(0x1A, &Regs, &Regs);
/* Convert from BCD to normal */
Digit1 = Regs.b.dh & 0x0F;
Digit2 = ((Regs.b.dh >> 4) & 0x0F) * 10;
return (Digit1 + Digit2);
}
int gethour(void)
{
REGS Regs;
U16 Digit1;
U16 Digit2;
// Some BIOSes leave CF unchanged if successful,
// so CF should be cleared before calling this function.
__asm__ ("clc");
// Int 1Ah AH=02h
// TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)
//
// AH = 02h
// CF clear to avoid bug
// Return:
// CF clear if successful
// CH = hour (BCD)
// CL = minutes (BCD)
// DH = seconds (BCD)
// DL = daylight savings flag (00h standard time, 01h daylight time)
// CF set on error (i.e. clock not running or in middle of update)
Regs.b.ah = 0x02;
Int386(0x1A, &Regs, &Regs);
/* Convert from BCD to normal */
Digit1 = Regs.b.ch & 0x0F;
Digit2 = ((Regs.b.ch >> 4) & 0x0F) * 10;
return (Digit1 + Digit2);
}
int getminute(void)
{
REGS Regs;
U16 Digit1;
U16 Digit2;
// Some BIOSes leave CF unchanged if successful,
// so CF should be cleared before calling this function.
__asm__ ("clc");
// Int 1Ah AH=02h
// TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)
//
// AH = 02h
// CF clear to avoid bug
// Return:
// CF clear if successful
// CH = hour (BCD)
// CL = minutes (BCD)
// DH = seconds (BCD)
// DL = daylight savings flag (00h standard time, 01h daylight time)
// CF set on error (i.e. clock not running or in middle of update)
Regs.b.ah = 0x02;
Int386(0x1A, &Regs, &Regs);
/* Convert from BCD to normal */
Digit1 = Regs.b.cl & 0x0F;
Digit2 = ((Regs.b.cl >> 4) & 0x0F) * 10;
return (Digit1 + Digit2);
}
int getsecond(void)
{
REGS Regs;
U16 Digit1;
U16 Digit2;
// Some BIOSes leave CF unchanged if successful,
// so CF should be cleared before calling this function.
__asm__ ("clc");
// Int 1Ah AH=02h
// TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)
//
// AH = 02h
// CF clear to avoid bug
// Return:
// CF clear if successful
// CH = hour (BCD)
// CL = minutes (BCD)
// DH = seconds (BCD)
// DL = daylight savings flag (00h standard time, 01h daylight time)
// CF set on error (i.e. clock not running or in middle of update)
Regs.b.ah = 0x02;
Int386(0x1A, &Regs, &Regs);
/* Convert from BCD to normal */
Digit1 = Regs.b.dh & 0x0F;
Digit2 = ((Regs.b.dh >> 4) & 0x0F) * 10;
return (Digit1 + Digit2);
}
void beep(void)
{
sound(700);
delay(200);
sound(0);
}
void delay(unsigned msec)
{
REGS Regs;
unsigned usec;
unsigned msec_this;
// Int 15h AH=86h
// BIOS - WAIT (AT,PS)
//
// AH = 86h
// CX:DX = interval in microseconds
// Return:
// CF clear if successful (wait interval elapsed)
// CF set on error or AH=83h wait already in progress
// AH = status (see #00496)
// Note: The resolution of the wait period is 977 microseconds on
// many systems because many BIOSes use the 1/1024 second fast
// interrupt from the AT real-time clock chip which is available on INT 70;
// because newer BIOSes may have much more precise timers available, it is
// not possible to use this function accurately for very short delays unless
// the precise behavior of the BIOS is known (or found through testing)
while (msec)
{
msec_this = msec;
if (msec_this > 4000)
{
msec_this = 4000;
}
usec = msec_this * 1000;
Regs.b.ah = 0x86;
Regs.w.cx = usec >> 16;
Regs.w.dx = usec & 0xffff;
Int386(0x15, &Regs, &Regs);
msec -= msec_this;
}
}
void sound(int freq)
{
int scale;
if (freq == 0)
{
WRITE_PORT_UCHAR((PUCHAR)0x61, READ_PORT_UCHAR((PUCHAR)0x61) & ~3);
return;
}
scale = 1193046 / freq;
WRITE_PORT_UCHAR((PUCHAR)0x43, 0xb6);
WRITE_PORT_UCHAR((PUCHAR)0x42, scale & 0xff);
WRITE_PORT_UCHAR((PUCHAR)0x42, scale >> 8);
WRITE_PORT_UCHAR((PUCHAR)0x61, READ_PORT_UCHAR((PUCHAR)0x61) | 3);
}

View File

@@ -1,807 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
* Portions from Linux video.S - Display adapter & video mode setup, version 2.13 (14-May-99)
* Copyright (C) 1995 -- 1999 Martin Mares <mj@ucw.cz>
* Based on the original setup.S code (C) Linus Torvalds and Mats Anderson
*
* 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.
*/
#include <freeldr.h>
#include <arch.h>
#include <video.h>
#include <portio.h>
#include <rtl.h>
#include <debug.h>
typedef struct
{
U8 Signature[4]; // (ret) signature ("VESA")
// (call) VESA 2.0 request signature ("VBE2"), required to receive
// version 2.0 info
U16 VesaVersion; // VESA version number (one-digit minor version -- 0102h = v1.2)
U32 OemNamePtr; // pointer to OEM name
// "761295520" for ATI
U32 Capabilities; // capabilities flags (see #00078)
U32 SupportedModeListPtr; // pointer to list of supported VESA and OEM video modes
// (list of words terminated with FFFFh)
U16 TotalVideoMemory; // total amount of video memory in 64K blocks
// ---VBE v1.x ---
//U8 Reserved[236];
// ---VBE v2.0 ---
U16 OemSoftwareVersion; // OEM software version (BCD, high byte = major, low byte = minor)
U32 VendorNamePtr; // pointer to vendor name
U32 ProductNamePtr; // pointer to product name
U32 ProductRevisionStringPtr; // pointer to product revision string
U16 VBE_AF_Version; // (if capabilities bit 3 set) VBE/AF version (BCD)
// 0100h for v1.0P
U32 AcceleratedModeListPtr; // (if capabilities bit 3 set) pointer to list of supported
// accelerated video modes (list of words terminated with FFFFh)
U8 Reserved[216]; // reserved for VBE implementation
U8 ScratchPad[256]; // OEM scratchpad (for OEM strings, etc.)
} PACKED VESA_SVGA_INFO, *PVESA_SVGA_INFO;
// Bitfields for VESA capabilities:
//
// Bit(s) Description (Table 00078)
// 0 DAC can be switched into 8-bit mode
// 1 non-VGA controller
// 2 programmed DAC with blank bit (i.e. only during blanking interval)
// 3 (VBE v3.0) controller supports hardware stereoscopic signalling
// 3 controller supports VBE/AF v1.0P extensions
// 4 (VBE v3.0) if bit 3 set:
// =0 stereo signalling via external VESA stereo connector
// =1 stereo signalling via VESA EVC connector
// 4 (VBE/AF v1.0P) must call EnableDirectAccess to access framebuffer
// 5 (VBE/AF v1.0P) controller supports hardware mouse cursor
// 6 (VBE/AF v1.0P) controller supports hardware clipping
// 7 (VBE/AF v1.0P) controller supports transparent BitBLT
// 8-31 reserved (0)
// Notes: The list of supported video modes is stored in the reserved
// portion of the SuperVGA information record by some implementations,
// and it may thus be necessary to either copy the mode list or use a
// different buffer for all subsequent VESA calls. Not all of the video
// modes in the list of mode numbers may be supported, e.g. if they require
// more memory than currently installed or are not supported by the
// attached monitor. Check any mode you intend to use through AX=4F01h first..
// The 1.1 VESA document specifies 242 reserved bytes at the end, so the
// buffer should be 262 bytes to ensure that it is not overrun; for v2.0,
// the buffer should be 512 bytes. The S3 specific video modes will most
// likely follow the FFFFh terminator at the end of the standard modes.
// A search must then be made to find them, FFFFh will also terminate this
// second list. In some cases, only a "stub" VBE may be present, supporting
// only AX=4F00h; this case may be assumed if the list of supported video modes
// is empty (consisting of a single word of FFFFh)
VOID BiosSetVideoMode(U32 VideoMode)
{
REGS Regs;
// Int 10h AH=00h
// VIDEO - SET VIDEO MODE
//
// AH = 00h
// AL = desired video mode
// Return:
// AL = video mode flag (Phoenix, AMI BIOS)
// 20h mode > 7
// 30h modes 0-5 and 7
// 3Fh mode 6
// AL = CRT controller mode byte (Phoenix 386 BIOS v1.10)
Regs.b.ah = 0x00;
Regs.b.al = VideoMode;
Int386(0x10, &Regs, &Regs);
}
VOID BiosSetVideoFont8x8(VOID)
{
REGS Regs;
// Int 10h AX=1112h
// VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
//
// AX = 1112h
// BL = block to load
// Return:
// Nothing
Regs.w.ax = 0x1112;
Regs.b.bl = 0x00;
Int386(0x10, &Regs, &Regs);
}
VOID BiosSetVideoFont8x14(VOID)
{
REGS Regs;
// Int 10h AX=1111h
// VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
//
// AX = 1111h
// BL = block to load
// Return:
// Nothing
Regs.w.ax = 0x1111;
Regs.b.bl = 0;
Int386(0x10, &Regs, &Regs);
}
VOID BiosSetVideoFont8x16(VOID)
{
REGS Regs;
// Int 10h AX=1114h
// VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
//
// AX = 1114h
// BL = block to load
// Return:
// Nothing
Regs.w.ax = 0x1114;
Regs.b.bl = 0;
Int386(0x10, &Regs, &Regs);
}
VOID BiosSelectAlternatePrintScreen(VOID)
{
REGS Regs;
// Int 10h AH=12h BL=20h
// VIDEO - ALTERNATE FUNCTION SELECT (PS,EGA,VGA,MCGA) - ALTERNATE PRTSC
//
// AH = 12h
// BL = 20h select alternate print screen routine
// Return:
// Nothing
//
// Installs a PrtSc routine from the video card's BIOS to replace the
// default PrtSc handler from the ROM BIOS, which usually does not
// understand screen heights other than 25 lines.
//
// Some adapters disable print-screen instead of enhancing it.
Regs.b.ah = 0x12;
Regs.b.bl = 0x20;
Int386(0x10, &Regs, &Regs);
}
VOID BiosDisableCursorEmulation(VOID)
{
REGS Regs;
// Int 10h AH=12h BL=34h
// VIDEO - ALTERNATE FUNCTION SELECT (VGA) - CURSOR EMULATION
//
// AH = 12h
// BL = 34h
// AL = new state
// 00h enable alphanumeric cursor emulation
// 01h disable alphanumeric cursor emulation
// Return:
// AL = 12h if function supported
//
// Specify whether the BIOS should automatically remap cursor start/end
// according to the current character height in text modes.
Regs.b.ah = 0x12;
Regs.b.bl = 0x34;
Regs.b.al = 0x01;
Int386(0x10, &Regs, &Regs);
}
VOID BiosDefineCursor(U32 StartScanLine, U32 EndScanLine)
{
REGS Regs;
// Int 10h AH=01h
// VIDEO - SET TEXT-MODE CURSOR SHAPE
//
// AH = 01h
// CH = cursor start and options
// CL = bottom scan line containing cursor (bits 0-4)
// Return:
// Nothing
//
// Specify the starting and ending scan lines to be occupied
// by the hardware cursor in text modes.
//
// AMI 386 BIOS and AST Premier 386 BIOS will lock up the
// system if AL is not equal to the current video mode.
//
// Bitfields for cursor start and options:
//
// Bit(s) Description
// 7 should be zero
// 6,5 cursor blink
// (00=normal, 01=invisible, 10=erratic, 11=slow).
// (00=normal, other=invisible on EGA/VGA)
// 4-0 topmost scan line containing cursor
Regs.b.ah = 0x01;
Regs.b.al = 0x03;
Regs.b.ch = StartScanLine;
Regs.b.cl = EndScanLine;
Int386(0x10, &Regs, &Regs);
}
U32 BiosDetectVideoCard(VOID)
{
REGS Regs;
// Int 10h AH=12h BL=10h
// VIDEO - ALTERNATE FUNCTION SELECT (PS,EGA,VGA,MCGA) - GET EGA INFO
//
// AH = 12h
// BL = 10h
// Return:
// BH = video state
// 00h color mode in effect (I/O port 3Dxh)
// 01h mono mode in effect (I/O port 3Bxh)
// BL = installed memory (00h = 64K, 01h = 128K, 02h = 192K, 03h = 256K)
// CH = feature connector bits
// CL = switch settings
// AH destroyed (at least by Tseng ET4000 BIOS v8.00n)
//
// Installation check;EGA
Regs.b.ah = 0x12;
Regs.b.bl = 0x10;
Int386(0x10, &Regs, &Regs);
// If BL is still equal to 0x10 then there is no EGA/VGA present
if (Regs.b.bl == 0x10)
{
return VIDEOCARD_CGA_OR_OTHER;
}
// Int 10h AX=1A00h
// VIDEO - GET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
//
// AX = 1A00h
// Return:
// AL = 1Ah if function was supported
// BL = active display code
// BH = alternate display code
//
// This function is commonly used to check for the presence of a VGA.
//
// Installation check;VGA
//
// Values for display combination code:
// 00h no display
// 01h monochrome adapter w/ monochrome display
// 02h CGA w/ color display
// 03h reserved
// 04h EGA w/ color display
// 05h EGA w/ monochrome display
// 06h PGA w/ color display
// 07h VGA w/ monochrome analog display
// 08h VGA w/ color analog display
// 09h reserved
// 0Ah MCGA w/ digital color display
// 0Bh MCGA w/ monochrome analog display
// 0Ch MCGA w/ color analog display
// FFh unknown display type
Regs.b.ah = 0x12;
Regs.b.bl = 0x10;
Int386(0x10, &Regs, &Regs);
if (Regs.b.al == 0x1A)
{
return VIDEOCARD_VGA;
}
else
{
return VIDEOCARD_EGA;
}
}
VOID BiosSetVerticalResolution(U32 ScanLines)
{
REGS Regs;
// Int 10h AH=12h BL=30h
// VIDEO - ALTERNATE FUNCTION SELECT (VGA) - SELECT VERTICAL RESOLUTION
//
// AH = 12h
// BL = 30h
// AL = vertical resolution
// 00h 200 scan lines
// 01h 350 scan lines
// 02h 400 scan lines
// Return:
// AL = 12h if function supported
//
// Specifiy the number of scan lines used to display text modes.
//
// The specified resolution will take effect on the next mode set.
Regs.b.ah = 0x12;
Regs.b.bl = 0x30;
Regs.b.al = ScanLines;
Int386(0x10, &Regs, &Regs);
}
VOID BiosSet480ScanLines(VOID)
{
int CRTC;
// Read CRTC port
CRTC = READ_PORT_UCHAR((PUCHAR)0x03CC);
if (CRTC & 1)
{
CRTC = 0x3D4;
}
else
{
CRTC = 0x3B4;
}
// Vertical sync end (also unlocks CR0-7)
WRITE_PORT_UCHAR((PUCHAR)CRTC, 0x11);
WRITE_PORT_UCHAR((PUCHAR)CRTC+1, 0x0C);
// Vertical total
WRITE_PORT_UCHAR((PUCHAR)CRTC, 0x06);
WRITE_PORT_UCHAR((PUCHAR)CRTC+1, 0x0B);
// (vertical) overflow
WRITE_PORT_UCHAR((PUCHAR)CRTC, 0x07);
WRITE_PORT_UCHAR((PUCHAR)CRTC+1, 0x3E);
// Vertical sync start
WRITE_PORT_UCHAR((PUCHAR)CRTC, 0x10);
WRITE_PORT_UCHAR((PUCHAR)CRTC+1, 0xEA);
// Vertical display end
WRITE_PORT_UCHAR((PUCHAR)CRTC, 0x12);
WRITE_PORT_UCHAR((PUCHAR)CRTC+1, 0xDF);
// Vertical blank start
WRITE_PORT_UCHAR((PUCHAR)CRTC, 0x15);
WRITE_PORT_UCHAR((PUCHAR)CRTC+1, 0xE7);
// Vertical blank end
WRITE_PORT_UCHAR((PUCHAR)CRTC, 0x16);
WRITE_PORT_UCHAR((PUCHAR)CRTC+1, 0x04);
// Misc output register (read)
CRTC = READ_PORT_UCHAR((PUCHAR)0x03CC);
// Preserve clock select bits and color bit
CRTC = (CRTC & 0x0D);
// Set correct sync polarity
CRTC = (CRTC | 0xE2);
// (write)
WRITE_PORT_UCHAR((PUCHAR)0x03C2, CRTC);
}
VOID BiosSetVideoDisplayEnd(VOID)
{
int CRTC;
// Read CRTC port
CRTC = READ_PORT_UCHAR((PUCHAR)0x03CC);
if (CRTC & 1)
{
CRTC = 0x3D4;
}
else
{
CRTC = 0x3B4;
}
// Vertical display end
WRITE_PORT_UCHAR((PUCHAR)CRTC, 0x12);
WRITE_PORT_UCHAR((PUCHAR)CRTC+1, 0xDF);
}
VOID VideoSetTextCursorPosition(U32 X, U32 Y)
{
REGS Regs;
// Int 10h AH=02h
// VIDEO - SET CURSOR POSITION
//
// AH = 02h
// BH = page number
// 0-3 in modes 2&3
// 0-7 in modes 0&1
// 0 in graphics modes
// DH = row (00h is top)
// DL = column (00h is left)
// Return:
// Nothing
Regs.b.ah = 0x02;
Regs.b.bh = 0x00;
Regs.b.dh = Y;
Regs.b.dl = X;
Int386(0x10, &Regs, &Regs);
}
VOID VideoHideTextCursor(VOID)
{
BiosDefineCursor(0x20, 0x00);
}
VOID VideoShowTextCursor(VOID)
{
BiosDefineCursor(0x0D, 0x0E);
}
U32 VideoGetTextCursorPositionX(VOID)
{
REGS Regs;
// Int 10h AH=03h
// VIDEO - GET CURSOR POSITION AND SIZE
//
// AH = 03h
// BH = page number
// 0-3 in modes 2&3
// 0-7 in modes 0&1
// 0 in graphics modes
// Return:
// AX = 0000h (Phoenix BIOS)
// CH = start scan line
// CL = end scan line
// DH = row (00h is top)
// DL = column (00h is left)
Regs.b.ah = 0x03;
Regs.b.bh = 0x00;
Int386(0x10, &Regs, &Regs);
return Regs.b.dl;
}
U32 VideoGetTextCursorPositionY(VOID)
{
REGS Regs;
// Int 10h AH=03h
// VIDEO - GET CURSOR POSITION AND SIZE
//
// AH = 03h
// BH = page number
// 0-3 in modes 2&3
// 0-7 in modes 0&1
// 0 in graphics modes
// Return:
// AX = 0000h (Phoenix BIOS)
// CH = start scan line
// CL = end scan line
// DH = row (00h is top)
// DL = column (00h is left)
Regs.b.ah = 0x03;
Regs.b.bh = 0x00;
Int386(0x10, &Regs, &Regs);
return Regs.b.dh;
}
VOID BiosVideoDisableBlinkBit(VOID)
{
REGS Regs;
// Int 10h AX=1003h
// VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA)
//
// AX = 1003h
// BL = new state
// 00h background intensity enabled
// 01h blink enabled
// BH = 00h to avoid problems on some adapters
// Return:
// Nothing
//
// Note: although there is no function to get
// the current status, bit 5 of 0040h:0065h
// indicates the state.
Regs.w.ax = 0x1003;
Regs.w.bx = 0x0000;
Int386(0x10, &Regs, &Regs);
}
VOID BiosVideoEnableBlinkBit(VOID)
{
REGS Regs;
// Int 10h AX=1003h
// VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA)
//
// AX = 1003h
// BL = new state
// 00h background intensity enabled
// 01h blink enabled
// BH = 00h to avoid problems on some adapters
// Return:
// Nothing
//
// Note: although there is no function to get
// the current status, bit 5 of 0040h:0065h
// indicates the state.
Regs.w.ax = 0x1003;
Regs.w.bx = 0x0001;
Int386(0x10, &Regs, &Regs);
}
U16 BiosIsVesaSupported(VOID)
{
REGS Regs;
PVESA_SVGA_INFO SvgaInfo = (PVESA_SVGA_INFO)BIOSCALLBUFFER;
#ifdef DEBUG
//U16* VideoModes;
//U16 Index;
#endif // defined DEBUG
DbgPrint((DPRINT_UI, "BiosIsVesaSupported()\n"));
RtlZeroMemory(SvgaInfo, sizeof(VESA_SVGA_INFO));
// Make sure we receive version 2.0 info
SvgaInfo->Signature[0] = 'V';
SvgaInfo->Signature[1] = 'B';
SvgaInfo->Signature[2] = 'E';
SvgaInfo->Signature[3] = '2';
// Int 10h AX=4F00h
// VESA SuperVGA BIOS (VBE) - GET SuperVGA INFORMATION
//
// AX = 4F00h
// ES:DI -> buffer for SuperVGA information (see #00077)
// Return:
// AL = 4Fh if function supported
// AH = status
// 00h successful
// ES:DI buffer filled
// 01h failed
// ---VBE v2.0---
// 02h function not supported by current hardware configuration
// 03h function invalid in current video mode
//
// Determine whether VESA BIOS extensions are present and the
// capabilities supported by the display adapter
//
// Installation check;VESA SuperVGA
Regs.w.ax = 0x4F00;
Regs.w.es = BIOSCALLBUFSEGMENT;
Regs.w.di = BIOSCALLBUFOFFSET;
Int386(0x10, &Regs, &Regs);
DbgPrint((DPRINT_UI, "AL = 0x%x\n", Regs.b.al));
DbgPrint((DPRINT_UI, "AH = 0x%x\n", Regs.b.ah));
if (Regs.w.ax != 0x004F)
{
DbgPrint((DPRINT_UI, "Failed.\n"));
return 0x0000;
}
#ifdef DEBUG
DbgPrint((DPRINT_UI, "Supported.\n"));
DbgPrint((DPRINT_UI, "SvgaInfo->Signature[4] = %c%c%c%c\n", SvgaInfo->Signature[0], SvgaInfo->Signature[1], SvgaInfo->Signature[2], SvgaInfo->Signature[3]));
DbgPrint((DPRINT_UI, "SvgaInfo->VesaVersion = v%d.%d\n", ((SvgaInfo->VesaVersion >> 8) & 0xFF), (SvgaInfo->VesaVersion & 0xFF)));
DbgPrint((DPRINT_UI, "SvgaInfo->OemNamePtr = 0x%x\n", SvgaInfo->OemNamePtr));
DbgPrint((DPRINT_UI, "SvgaInfo->Capabilities = 0x%x\n", SvgaInfo->Capabilities));
DbgPrint((DPRINT_UI, "SvgaInfo->VideoMemory = %dK\n", SvgaInfo->TotalVideoMemory * 64));
DbgPrint((DPRINT_UI, "---VBE v2.0 ---\n"));
DbgPrint((DPRINT_UI, "SvgaInfo->OemSoftwareVersion = v%d.%d\n", ((SvgaInfo->OemSoftwareVersion >> 8) & 0x0F) + (((SvgaInfo->OemSoftwareVersion >> 12) & 0x0F) * 10), (SvgaInfo->OemSoftwareVersion & 0x0F) + (((SvgaInfo->OemSoftwareVersion >> 4) & 0x0F) * 10)));
DbgPrint((DPRINT_UI, "SvgaInfo->VendorNamePtr = 0x%x\n", SvgaInfo->VendorNamePtr));
DbgPrint((DPRINT_UI, "SvgaInfo->ProductNamePtr = 0x%x\n", SvgaInfo->ProductNamePtr));
DbgPrint((DPRINT_UI, "SvgaInfo->ProductRevisionStringPtr = 0x%x\n", SvgaInfo->ProductRevisionStringPtr));
DbgPrint((DPRINT_UI, "SvgaInfo->VBE/AF Version = 0x%x (BCD WORD)\n", SvgaInfo->VBE_AF_Version));
//DbgPrint((DPRINT_UI, "\nSupported VESA and OEM video modes:\n"));
//VideoModes = (U16*)SvgaInfo->SupportedModeListPtr;
//for (Index=0; VideoModes[Index]!=0xFFFF; Index++)
//{
// DbgPrint((DPRINT_UI, "Mode %d: 0x%x\n", Index, VideoModes[Index]));
//}
//if (SvgaInfo->VesaVersion >= 0x0200)
//{
// DbgPrint((DPRINT_UI, "\nSupported accelerated video modes (VESA v2.0):\n"));
// VideoModes = (U16*)SvgaInfo->AcceleratedModeListPtr;
// for (Index=0; VideoModes[Index]!=0xFFFF; Index++)
// {
// DbgPrint((DPRINT_UI, "Mode %d: 0x%x\n", Index, VideoModes[Index]));
// }
//}
DbgPrint((DPRINT_UI, "\n"));
//getch();
#endif // defined DEBUG
return SvgaInfo->VesaVersion;
}
BOOL BiosVesaSetBank(U16 Bank)
{
REGS Regs;
// Int 10h AX=4F05h
// VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
//
// AX = 4F05h
// BH = subfunction
// 00h select video memory window
// 01h get video memory window
// DX = window address in video memory (in granularity units)
// Return:
// DX = window address in video memory (in gran. units)
// BL = window number
// 00h window A
// 01h window B.
// Return:
// AL = 4Fh if function supported
// AH = status
// 00h successful
// 01h failed
Regs.w.ax = 0x4F05;
Regs.w.bx = 0x0000;
Regs.w.dx = Bank;
Int386(0x10, &Regs, &Regs);
if (Regs.w.ax != 0x004F)
{
return FALSE;
}
return TRUE;
}
BOOL BiosVesaSetVideoMode(U16 Mode)
{
REGS Regs;
// Int 10h AX=4F02h
// VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
//
// AX = 4F02h
// BX = new video mode
// ES:DI -> (VBE 3.0+) CRTC information block, bit mode bit 11 set
// Return:
// AL = 4Fh if function supported
// AH = status
// 00h successful
// 01h failed
//
// Values for VESA video mode:
// 00h-FFh OEM video modes (see #00010 at AH=00h)
// 100h 640x400x256
// 101h 640x480x256
// 102h 800x600x16
// 103h 800x600x256
// 104h 1024x768x16
// 105h 1024x768x256
// 106h 1280x1024x16
// 107h 1280x1024x256
// 108h 80x60 text
// 109h 132x25 text
// 10Ah 132x43 text
// 10Bh 132x50 text
// 10Ch 132x60 text
// ---VBE v1.2+ ---
// 10Dh 320x200x32K
// 10Eh 320x200x64K
// 10Fh 320x200x16M
// 110h 640x480x32K
// 111h 640x480x64K
// 112h 640x480x16M
// 113h 800x600x32K
// 114h 800x600x64K
// 115h 800x600x16M
// 116h 1024x768x32K
// 117h 1024x768x64K
// 118h 1024x768x16M
// 119h 1280x1024x32K (1:5:5:5)
// 11Ah 1280x1024x64K (5:6:5)
// 11Bh 1280x1024x16M
// ---VBE 2.0+ ---
// 120h 1600x1200x256
// 121h 1600x1200x32K
// 122h 1600x1200x64K
// 81FFh special full-memory access mode
// Notes: The special mode 81FFh preserves the contents of the video memory and gives
// access to all of the memory; VESA recommends that the special mode be a packed-pixel
// mode. For VBE 2.0+, it is required that the VBE implement the mode, but not place it
// in the list of available modes (mode information for this mode can be queried
// directly, however).. As of VBE 2.0, VESA will no longer define video mode numbers
Regs.w.ax = 0x4F02;
Regs.w.bx = Mode;
Int386(0x10, &Regs, &Regs);
if (Regs.w.ax != 0x004F)
{
return FALSE;
}
return TRUE;
}
BOOL BiosVesaGetSVGAModeInformation(U16 Mode, PSVGA_MODE_INFORMATION ModeInformation)
{
REGS Regs;
RtlZeroMemory((PVOID)BIOSCALLBUFFER, 256);
// VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
// AX = 4F01h
// CX = SuperVGA video mode (see #04082 for bitfields)
// ES:DI -> 256-byte buffer for mode information (see #00079)
// Return:
// AL = 4Fh if function supported
// AH = status
// 00h successful
// ES:DI buffer filled
// 01h failed
//
// Desc: Determine the attributes of the specified video mode
//
// Note: While VBE 1.1 and higher will zero out all unused bytes
// of the buffer, v1.0 did not, so applications that want to be
// backward compatible should clear the buffer before calling
Regs.w.ax = 0x4F01;
Regs.w.cx = Mode;
Regs.w.es = BIOSCALLBUFSEGMENT;
Regs.w.di = BIOSCALLBUFOFFSET;
Int386(0x10, &Regs, &Regs);
if (Regs.w.ax != 0x004F)
{
return FALSE;
}
RtlCopyMemory(ModeInformation, (PVOID)BIOSCALLBUFFER, sizeof(SVGA_MODE_INFORMATION));
DbgPrint((DPRINT_UI, "\n"));
DbgPrint((DPRINT_UI, "BiosVesaGetSVGAModeInformation() mode 0x%x\n", Mode));
DbgPrint((DPRINT_UI, "ModeAttributes = 0x%x\n", ModeInformation->ModeAttributes));
DbgPrint((DPRINT_UI, "WindowAttributesA = 0x%x\n", ModeInformation->WindowAttributesA));
DbgPrint((DPRINT_UI, "WindowAttributesB = 0x%x\n", ModeInformation->WindowsAttributesB));
DbgPrint((DPRINT_UI, "WindowGranularity = %dKB\n", ModeInformation->WindowGranularity));
DbgPrint((DPRINT_UI, "WindowSize = %dKB\n", ModeInformation->WindowSize));
DbgPrint((DPRINT_UI, "WindowAStartSegment = 0x%x\n", ModeInformation->WindowAStartSegment));
DbgPrint((DPRINT_UI, "WindowBStartSegment = 0x%x\n", ModeInformation->WindowBStartSegment));
DbgPrint((DPRINT_UI, "WindowPositioningFunction = 0x%x\n", ModeInformation->WindowPositioningFunction));
DbgPrint((DPRINT_UI, "BytesPerScanLine = %d\n", ModeInformation->BytesPerScanLine));
DbgPrint((DPRINT_UI, "WidthInPixels = %d\n", ModeInformation->WidthInPixels));
DbgPrint((DPRINT_UI, "HeightInPixels = %d\n", ModeInformation->HeightInPixels));
DbgPrint((DPRINT_UI, "CharacterWidthInPixels = %d\n", ModeInformation->CharacterWidthInPixels));
DbgPrint((DPRINT_UI, "CharacterHeightInPixels = %d\n", ModeInformation->CharacterHeightInPixels));
DbgPrint((DPRINT_UI, "NumberOfMemoryPlanes = %d\n", ModeInformation->NumberOfMemoryPlanes));
DbgPrint((DPRINT_UI, "BitsPerPixel = %d\n", ModeInformation->BitsPerPixel));
DbgPrint((DPRINT_UI, "NumberOfBanks = %d\n", ModeInformation->NumberOfBanks));
DbgPrint((DPRINT_UI, "MemoryModel = %d\n", ModeInformation->MemoryModel));
DbgPrint((DPRINT_UI, "BankSize = %d\n", ModeInformation->BankSize));
DbgPrint((DPRINT_UI, "NumberOfImagePlanes = %d\n", ModeInformation->NumberOfImagePanes));
DbgPrint((DPRINT_UI, "---VBE v1.2+ ---\n"));
DbgPrint((DPRINT_UI, "RedMaskSize = %d\n", ModeInformation->RedMaskSize));
DbgPrint((DPRINT_UI, "RedMaskPosition = %d\n", ModeInformation->RedMaskPosition));
DbgPrint((DPRINT_UI, "GreenMaskSize = %d\n", ModeInformation->GreenMaskSize));
DbgPrint((DPRINT_UI, "GreenMaskPosition = %d\n", ModeInformation->GreenMaskPosition));
DbgPrint((DPRINT_UI, "BlueMaskSize = %d\n", ModeInformation->BlueMaskSize));
DbgPrint((DPRINT_UI, "BlueMaskPosition = %d\n", ModeInformation->BlueMaskPosition));
DbgPrint((DPRINT_UI, "ReservedMaskSize = %d\n", ModeInformation->ReservedMaskSize));
DbgPrint((DPRINT_UI, "ReservedMaskPosition = %d\n", ModeInformation->ReservedMaskPosition));
DbgPrint((DPRINT_UI, "\n"));
return TRUE;
}

View File

@@ -1,262 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2002 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
.text
.code16
#define ASM
#include <arch.h>
#include <multiboot.h>
/*
* Here we assume the kernel is loaded at 1mb
* This boots the kernel
*/
.code32
EXTERN(_boot_reactos)
call switch_to_real
.code16
/* Save cursor position */
movw $3,%ax //! Reset video mode
int $0x10
movb $10,%bl
movb $12,%ah
int $0x10
movw $0x1112,%ax // Use 8x8 font
xorb %bl,%bl
int $0x10
movw $0x1200,%ax // Use alternate print screen
movb $0x20,%bl
int $0x10
movb $1,%ah // Define cursor (scan lines 6 to 7)
movw $0x0607,%cx
int $0x10
movb $1,%ah
movw $0x600,%cx
int $0x10
movb $6,%ah // Scroll active page up
movb $0x32,%al // Clear 25 lines
movw $0,%cx // Upper left of scroll
movw $0x314F,%dx // Lower right of scroll
movb $(1*0x00+0),%bh // Use normal attribute on blanked line
int $0x10 // Video-IO
movw $0,%dx
movb $0,%dh
movb $2,%ah
movb $0,%bh
int $0x10
movw $0,%dx
movb $0,%dh
movb $2,%ah
movb $0,%bh
int $0x10
call _multi_boot
// Should never get here
cli
hlt
/*
* After you have setup the _mb_header and _mb_info structures
* then call this routine to transfer control to the kernel.
* This routine must be entered in 16-bit mode.
*/
.code16
EXTERN(_multi_boot)
cli
/*
* Setup various variables
*/
movw %ds,%bx
movzwl %bx,%eax
shll $4,%eax
addl %eax,kernel_gdtbase
/*
* Load the absolute address of the multiboot information structure
*/
movl $_mb_info,%ebx
/*
* load gdt
*/
lgdt kernel_gdtptr
/*
* Enter pmode and clear prefetch queue
*/
movl %cr0,%eax
orl $0x10001,%eax
movl %eax,%cr0
jmp next
next:
/*
* NOTE: This must be position independant (no references to
* non absolute variables)
*/
/*
* Initalize segment registers
*/
movw $KERNEL_DS,%ax
movw %ax,%ds
movw %ax,%ss
movw %ax,%es
movw %ax,%fs
movw %ax,%gs
/*
* Initalize eflags
*/
pushl $0
popfl
/*
* Load the multiboot magic value into eax
*/
movl $0x2badb002,%eax
/*
* Jump to start of 32 bit code at 0xc0000000 + 0x1000
*/
pushl $KERNEL_CS
pushl _mb_entry_addr
lretl
//ljmpl $KERNEL_CS,$(0x0200000+0x1000)
//ljmpl $KERNEL_CS,(_mb_entry_addr)
//ljmpl $KERNEL_CS,$(KERNEL_BASE+0x1000)
.p2align 2 /* force 4-byte alignment */
kernel_gdt:
.word 0 // Zero descriptor
.word 0
.word 0
.word 0
.word 0xffff // Kernel code descriptor
.word 0x0000 //
.word 0x9a00 // base 0h limit 4gb
.word 0x00cf
.word 0xffff // Kernel data descriptor
.word 0x0000 //
.word 0x9200 // base 0h limit 4gb
.word 0x00cf
kernel_gdtptr:
.word (3*8)-1 /* Limit */
kernel_gdtbase:
.long kernel_gdt /* Base Address */
EXTERN(_mb_header)
_mb_magic:
.long 0 // unsigned long magic;
_mb_flags:
.long 0 // unsigned long flags;
_mb_checksum:
.long 0 // unsigned long checksum;
_mb_header_addr:
.long 0 // unsigned long header_addr;
_mb_load_addr:
.long 0 // unsigned long load_addr;
_mb_load_end_addr:
.long 0 // unsigned long load_end_addr;
_mb_bss_end_addr:
.long 0 // unsigned long bss_end_addr;
_mb_entry_addr:
.long 0 // unsigned long entry_addr;
//
// Boot information structure
//
EXTERN(_mb_info)
_multiboot_flags:
.long 0
_multiboot_mem_lower:
.long 0
_multiboot_mem_upper:
.long 0
_multiboot_boot_device:
.long 0
_multiboot_cmdline:
.long 0
_multiboot_mods_count:
.long 0
_multiboot_mods_addr:
.long 0
_multiboot_syms:
.rept 12
.byte 0
.endr
_multiboot_mmap_length:
.long 0
_multiboot_mmap_addr:
.long 0
_multiboot_drives_count:
.long 0
_multiboot_drives_addr:
.long 0
_multiboot_config_table:
.long 0
_multiboot_boot_loader_name:
.long 0
_multiboot_apm_table:
.long 0
EXTERN(_multiboot_modules)
.rept (64 * /*multiboot_module_size*/ 16)
.byte 0
.endr
EXTERN(_multiboot_module_strings)
.rept (64*256)
.byte 0
.endr
EXTERN(_multiboot_memory_map_descriptor_size)
.long 0
EXTERN(_multiboot_memory_map)
.rept (32 * /*sizeof(memory_map_t)*/24)
.byte 0
.endr
EXTERN(_multiboot_kernel_cmdline)
.rept 255
.byte 0
.endr

View File

@@ -1,183 +0,0 @@
/* $Id: portio.c,v 1.1 2003/01/19 01:03:58 bpalmer Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/hal/x86/portio.c
* PURPOSE: Port I/O functions
* PROGRAMMER: Eric Kohl (ekohl@abo.rhein-zeitung.de)
* UPDATE HISTORY:
* Created 18/10/99
*/
//#include <ddk/ntddk.h>
#include <freeldr.h>
/* FUNCTIONS ****************************************************************/
/*
* This file contains the definitions for the x86 IO instructions
* inb/inw/inl/outb/outw/outl and the "string versions" of the same
* (insb/insw/insl/outsb/outsw/outsl). You can also use "pausing"
* versions of the single-IO instructions (inb_p/inw_p/..).
*
* This file is not meant to be obfuscating: it's just complicated
* to (a) handle it all in a way that makes gcc able to optimize it
* as well as possible and (b) trying to avoid writing the same thing
* over and over again with slight variations and possibly making a
* mistake somewhere.
*/
/*
* Thanks to James van Artsdalen for a better timing-fix than
* the two short jumps: using outb's to a nonexistent port seems
* to guarantee better timings even on fast machines.
*
* On the other hand, I'd like to be sure of a non-existent port:
* I feel a bit unsafe about using 0x80 (should be safe, though)
*
* Linus
*/
#ifdef SLOW_IO_BY_JUMPING
#define __SLOW_DOWN_IO __asm__ __volatile__("jmp 1f\n1:\tjmp 1f\n1:")
#else
#define __SLOW_DOWN_IO __asm__ __volatile__("outb %al,$0x80")
#endif
#ifdef REALLY_SLOW_IO
#define SLOW_DOWN_IO { __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; }
#else
#define SLOW_DOWN_IO __SLOW_DOWN_IO
#endif
VOID /*STDCALL*/
READ_PORT_BUFFER_UCHAR (PUCHAR Port,
PUCHAR Buffer,
U32 Count)
{
__asm__ __volatile__ ("cld ; rep ; insb\n\t"
: "=D" (Buffer), "=c" (Count)
: "d" (Port),"0" (Buffer),"1" (Count));
}
VOID /*STDCALL*/
READ_PORT_BUFFER_USHORT (U16* Port,
U16* Buffer,
U32 Count)
{
__asm__ __volatile__ ("cld ; rep ; insw"
: "=D" (Buffer), "=c" (Count)
: "d" (Port),"0" (Buffer),"1" (Count));
}
VOID /*STDCALL*/
READ_PORT_BUFFER_ULONG (U32* Port,
U32* Buffer,
U32 Count)
{
__asm__ __volatile__ ("cld ; rep ; insl"
: "=D" (Buffer), "=c" (Count)
: "d" (Port),"0" (Buffer),"1" (Count));
}
UCHAR /*STDCALL*/
READ_PORT_UCHAR (PUCHAR Port)
{
UCHAR Value;
__asm__("inb %w1, %0\n\t"
: "=a" (Value)
: "d" (Port));
SLOW_DOWN_IO;
return(Value);
}
U16 /*STDCALL*/
READ_PORT_USHORT (U16* Port)
{
U16 Value;
__asm__("inw %w1, %0\n\t"
: "=a" (Value)
: "d" (Port));
SLOW_DOWN_IO;
return(Value);
}
U32 /*STDCALL*/
READ_PORT_ULONG (U32* Port)
{
U32 Value;
__asm__("inl %w1, %0\n\t"
: "=a" (Value)
: "d" (Port));
SLOW_DOWN_IO;
return(Value);
}
VOID /*STDCALL*/
WRITE_PORT_BUFFER_UCHAR (PUCHAR Port,
PUCHAR Buffer,
U32 Count)
{
__asm__ __volatile__ ("cld ; rep ; outsb"
: "=S" (Buffer), "=c" (Count)
: "d" (Port),"0" (Buffer),"1" (Count));
}
VOID /*STDCALL*/
WRITE_PORT_BUFFER_USHORT (U16* Port,
U16* Buffer,
U32 Count)
{
__asm__ __volatile__ ("cld ; rep ; outsw"
: "=S" (Buffer), "=c" (Count)
: "d" (Port),"0" (Buffer),"1" (Count));
}
VOID /*STDCALL*/
WRITE_PORT_BUFFER_ULONG (U32* Port,
U32* Buffer,
U32 Count)
{
__asm__ __volatile__ ("cld ; rep ; outsl"
: "=S" (Buffer), "=c" (Count)
: "d" (Port),"0" (Buffer),"1" (Count));
}
VOID /*STDCALL*/
WRITE_PORT_UCHAR (PUCHAR Port,
UCHAR Value)
{
__asm__("outb %0, %w1\n\t"
:
: "a" (Value),
"d" (Port));
SLOW_DOWN_IO;
}
VOID /*STDCALL*/
WRITE_PORT_USHORT (U16* Port,
U16 Value)
{
__asm__("outw %0, %w1\n\t"
:
: "a" (Value),
"d" (Port));
SLOW_DOWN_IO;
}
VOID /*STDCALL*/
WRITE_PORT_ULONG (U32* Port,
U32 Value)
{
__asm__("outl %0, %w1\n\t"
:
: "a" (Value),
"d" (Port));
SLOW_DOWN_IO;
}
/* EOF */

View File

@@ -1,400 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <rtl.h>
#include <ui.h>
#include <options.h>
#include <miscboot.h>
#include <debug.h>
#include <disk.h>
#include <arch.h>
#include <inifile.h>
#include <linux.h>
#include <reactos.h>
#include <drivemap.h>
UCHAR BootDrivePrompt[] = "Enter the boot drive.\n\nExamples:\nfd0 - first floppy drive\nhd0 - first hard drive\nhd1 - second hard drive\ncd0 - first CD-ROM drive.\n\nBIOS drive numbers may also be used:\n0 - first floppy drive\n0x80 - first hard drive\n0x81 - second hard drive";
UCHAR BootPartitionPrompt[] = "Enter the boot partition.\n\nEnter 0 for the active (bootable) partition.";
UCHAR BootSectorFilePrompt[] = "Enter the boot sector file path.\n\nExamples:\n\\BOOTSECT.DOS\n/boot/bootsect.dos";
UCHAR LinuxKernelPrompt[] = "Enter the Linux kernel image path.\n\nExamples:\n/vmlinuz\n/boot/vmlinuz-2.4.18";
UCHAR LinuxInitrdPrompt[] = "Enter the initrd image path.\n\nExamples:\n/initrd.gz\n/boot/root.img.gz\n\nLeave blank for no initial ram disk.";
UCHAR LinuxCommandLinePrompt[] = "Enter the Linux kernel command line.\n\nExamples:\nroot=/dev/hda1\nroot=/dev/fd0 read-only\nroot=/dev/sdb1 init=/sbin/init";
UCHAR ReactOSSystemPathPrompt[] = "Enter the path to your ReactOS system directory.\n\nExamples:\n\\REACTOS\n\\ROS";
UCHAR ReactOSOptionsPrompt[] = "Enter the options you want passed to the kernel.\n\nExamples:\n/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200\n/FASTDETECT /SOS /NOGUIBOOT\n/BASEVIDEO /MAXMEM=64\n/KERNEL=NTKRNLMP.EXE /HAL=HALMPS.DLL";
UCHAR CustomBootPrompt[] = "Press ENTER to boot your custom boot setup.";
VOID OptionMenuCustomBoot(VOID)
{
PUCHAR CustomBootMenuList[] = { "Disk", "Partition", "Boot Sector File", "ReactOS", "Linux" };
U32 CustomBootMenuCount = sizeof(CustomBootMenuList) / sizeof(CustomBootMenuList[0]);
U32 SelectedMenuItem;
if (!UiDisplayMenu(CustomBootMenuList, CustomBootMenuCount, 0, -1, &SelectedMenuItem, TRUE, NULL))
{
// The user pressed ESC
return;
}
switch (SelectedMenuItem)
{
case 0: // Disk
OptionMenuCustomBootDisk();
break;
case 1: // Partition
OptionMenuCustomBootPartition();
break;
case 2: // Boot Sector File
OptionMenuCustomBootBootSectorFile();
break;
case 3: // ReactOS
OptionMenuCustomBootReactOS();
break;
case 4: // Linux
OptionMenuCustomBootLinux();
break;
}
}
VOID OptionMenuCustomBootDisk(VOID)
{
UCHAR SectionName[100];
UCHAR BootDriveString[20];
U32 SectionId;
RtlZeroMemory(SectionName, sizeof(SectionName));
RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
{
return;
}
// Generate a unique section name
sprintf(SectionName, "CustomBootDisk%d%d%d%d%d%d", getyear(), getday(), getmonth(), gethour(), getminute(), getsecond());
// Add the section
if (!IniAddSection(SectionName, &SectionId))
{
return;
}
// Add the BootType
if (!IniAddSettingValueToSection(SectionId, "BootType", "Drive"))
{
return;
}
// Add the BootDrive
if (!IniAddSettingValueToSection(SectionId, "BootDrive", BootDriveString))
{
return;
}
UiMessageBox(CustomBootPrompt);
LoadAndBootDrive(SectionName);
}
VOID OptionMenuCustomBootPartition(VOID)
{
UCHAR SectionName[100];
UCHAR BootDriveString[20];
UCHAR BootPartitionString[20];
U32 SectionId;
RtlZeroMemory(SectionName, sizeof(SectionName));
RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
RtlZeroMemory(BootPartitionString, sizeof(BootPartitionString));
if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
{
return;
}
if (!UiEditBox(BootPartitionPrompt, BootPartitionString, 20))
{
return;
}
// Generate a unique section name
sprintf(SectionName, "CustomBootPartition%d%d%d%d%d%d", getyear(), getday(), getmonth(), gethour(), getminute(), getsecond());
// Add the section
if (!IniAddSection(SectionName, &SectionId))
{
return;
}
// Add the BootType
if (!IniAddSettingValueToSection(SectionId, "BootType", "Partition"))
{
return;
}
// Add the BootDrive
if (!IniAddSettingValueToSection(SectionId, "BootDrive", BootDriveString))
{
return;
}
// Add the BootPartition
if (!IniAddSettingValueToSection(SectionId, "BootPartition", BootPartitionString))
{
return;
}
UiMessageBox(CustomBootPrompt);
LoadAndBootPartition(SectionName);
}
VOID OptionMenuCustomBootBootSectorFile(VOID)
{
UCHAR SectionName[100];
UCHAR BootDriveString[20];
UCHAR BootPartitionString[20];
UCHAR BootSectorFileString[200];
U32 SectionId;
RtlZeroMemory(SectionName, sizeof(SectionName));
RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
RtlZeroMemory(BootPartitionString, sizeof(BootPartitionString));
RtlZeroMemory(BootSectorFileString, sizeof(BootSectorFileString));
if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
{
return;
}
if (!UiEditBox(BootPartitionPrompt, BootPartitionString, 20))
{
return;
}
if (!UiEditBox(BootSectorFilePrompt, BootSectorFileString, 200))
{
return;
}
// Generate a unique section name
sprintf(SectionName, "CustomBootSectorFile%d%d%d%d%d%d", getyear(), getday(), getmonth(), gethour(), getminute(), getsecond());
// Add the section
if (!IniAddSection(SectionName, &SectionId))
{
return;
}
// Add the BootType
if (!IniAddSettingValueToSection(SectionId, "BootType", "BootSector"))
{
return;
}
// Add the BootDrive
if (!IniAddSettingValueToSection(SectionId, "BootDrive", BootDriveString))
{
return;
}
// Add the BootPartition
if (!IniAddSettingValueToSection(SectionId, "BootPartition", BootPartitionString))
{
return;
}
// Add the BootSectorFile
if (!IniAddSettingValueToSection(SectionId, "BootSectorFile", BootSectorFileString))
{
return;
}
UiMessageBox(CustomBootPrompt);
LoadAndBootBootSector(SectionName);
}
VOID OptionMenuCustomBootReactOS(VOID)
{
UCHAR SectionName[100];
UCHAR BootDriveString[20];
UCHAR BootPartitionString[20];
UCHAR ReactOSSystemPath[200];
UCHAR ReactOSARCPath[200];
UCHAR ReactOSOptions[200];
U32 SectionId;
RtlZeroMemory(SectionName, sizeof(SectionName));
RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
RtlZeroMemory(BootPartitionString, sizeof(BootPartitionString));
RtlZeroMemory(ReactOSSystemPath, sizeof(ReactOSSystemPath));
RtlZeroMemory(ReactOSOptions, sizeof(ReactOSOptions));
if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
{
return;
}
if (!UiEditBox(BootPartitionPrompt, BootPartitionString, 20))
{
return;
}
if (!UiEditBox(ReactOSSystemPathPrompt, ReactOSSystemPath, 200))
{
return;
}
if (!UiEditBox(ReactOSOptionsPrompt, ReactOSOptions, 200))
{
return;
}
// Generate a unique section name
sprintf(SectionName, "CustomReactOS%d%d%d%d%d%d", getyear(), getday(), getmonth(), gethour(), getminute(), getsecond());
// Add the section
if (!IniAddSection(SectionName, &SectionId))
{
return;
}
// Add the BootType
if (!IniAddSettingValueToSection(SectionId, "BootType", "ReactOS"))
{
return;
}
// Construct the ReactOS ARC system path
ConstructArcPath(ReactOSARCPath, ReactOSSystemPath, DriveMapGetBiosDriveNumber(BootDriveString), atoi(BootPartitionString));
// Add the system path
if (!IniAddSettingValueToSection(SectionId, "SystemPath", ReactOSARCPath))
{
return;
}
// Add the CommandLine
if (!IniAddSettingValueToSection(SectionId, "Options", ReactOSOptions))
{
return;
}
UiMessageBox(CustomBootPrompt);
LoadAndBootReactOS(SectionName);
}
VOID OptionMenuCustomBootLinux(VOID)
{
UCHAR SectionName[100];
UCHAR BootDriveString[20];
UCHAR BootPartitionString[20];
UCHAR LinuxKernelString[200];
UCHAR LinuxInitrdString[200];
UCHAR LinuxCommandLineString[200];
U32 SectionId;
RtlZeroMemory(SectionName, sizeof(SectionName));
RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
RtlZeroMemory(BootPartitionString, sizeof(BootPartitionString));
RtlZeroMemory(LinuxKernelString, sizeof(LinuxKernelString));
RtlZeroMemory(LinuxInitrdString, sizeof(LinuxInitrdString));
RtlZeroMemory(LinuxCommandLineString, sizeof(LinuxCommandLineString));
if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
{
return;
}
if (!UiEditBox(BootPartitionPrompt, BootPartitionString, 20))
{
return;
}
if (!UiEditBox(LinuxKernelPrompt, LinuxKernelString, 200))
{
return;
}
if (!UiEditBox(LinuxInitrdPrompt, LinuxInitrdString, 200))
{
return;
}
if (!UiEditBox(LinuxCommandLinePrompt, LinuxCommandLineString, 200))
{
return;
}
// Generate a unique section name
sprintf(SectionName, "CustomLinux%d%d%d%d%d%d", getyear(), getday(), getmonth(), gethour(), getminute(), getsecond());
// Add the section
if (!IniAddSection(SectionName, &SectionId))
{
return;
}
// Add the BootType
if (!IniAddSettingValueToSection(SectionId, "BootType", "Linux"))
{
return;
}
// Add the BootDrive
if (!IniAddSettingValueToSection(SectionId, "BootDrive", BootDriveString))
{
return;
}
// Add the BootPartition
if (!IniAddSettingValueToSection(SectionId, "BootPartition", BootPartitionString))
{
return;
}
// Add the Kernel
if (!IniAddSettingValueToSection(SectionId, "Kernel", LinuxKernelString))
{
return;
}
// Add the Initrd
if (strlen(LinuxInitrdString) > 0)
{
if (!IniAddSettingValueToSection(SectionId, "Initrd", LinuxInitrdString))
{
return;
}
}
// Add the CommandLine
if (!IniAddSettingValueToSection(SectionId, "CommandLine", LinuxCommandLineString))
{
return;
}
UiMessageBox(CustomBootPrompt);
LoadAndBootLinux(SectionName, "Custom Linux Setup");
}

View File

@@ -1,380 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <debug.h>
#include <rtl.h>
#include <comm.h>
#include <portio.h>
#ifdef DEBUG
//#define DEBUG_ALL
//#define DEBUG_INIFILE
//#define DEBUG_REACTOS
//#define DEBUG_CUSTOM
#define DEBUG_NONE
#if defined (DEBUG_ALL)
U32 DebugPrintMask = DPRINT_WARNING | DPRINT_MEMORY | DPRINT_FILESYSTEM |
DPRINT_UI | DPRINT_DISK | DPRINT_CACHE | DPRINT_REACTOS |
DPRINT_LINUX;
#elif defined (DEBUG_INIFILE)
U32 DebugPrintMask = DPRINT_INIFILE;
#elif defined (DEBUG_REACTOS)
U32 DebugPrintMask = DPRINT_REACTOS | DPRINT_REGISTRY;
#elif defined (DEBUG_CUSTOM)
U32 DebugPrintMask = DPRINT_WARNING|DPRINT_FILESYSTEM|DPRINT_MEMORY|DPRINT_LINUX;
#else //#elif defined (DEBUG_NONE)
U32 DebugPrintMask = 0;
#endif
#define SCREEN 0
#define RS232 1
#define BOCHS 2
#define COM1 1
#define COM2 2
#define COM3 3
#define COM4 4
#define BOCHS_OUTPUT_PORT 0xe9
U32 DebugPort = RS232;
//U32 DebugPort = SCREEN;
//U32 DebugPort = BOCHS;
U32 ComPort = COM1;
//U32 BaudRate = 19200;
U32 BaudRate = 115200;
BOOL DebugStartOfLine = TRUE;
VOID DebugInit(VOID)
{
if (DebugPort == RS232)
{
Rs232PortInitialize(ComPort, BaudRate);
}
}
VOID DebugPrintChar(UCHAR Character)
{
if (Character == '\n')
{
DebugStartOfLine = TRUE;
}
if (DebugPort == RS232)
{
if (Character == '\n')
{
Rs232PortPutByte('\r');
}
Rs232PortPutByte(Character);
}
else if (DebugPort == BOCHS)
{
WRITE_PORT_UCHAR((PUCHAR)BOCHS_OUTPUT_PORT, Character);
}
else
{
putchar(Character);
}
}
VOID DebugPrintHeader(U32 Mask)
{
/* No header */
if (Mask == 0)
return;
switch (Mask)
{
case DPRINT_WARNING:
DebugPrintChar('W');
DebugPrintChar('A');
DebugPrintChar('R');
DebugPrintChar('N');
DebugPrintChar('I');
DebugPrintChar('N');
DebugPrintChar('G');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_MEMORY:
DebugPrintChar('M');
DebugPrintChar('E');
DebugPrintChar('M');
DebugPrintChar('O');
DebugPrintChar('R');
DebugPrintChar('Y');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_FILESYSTEM:
DebugPrintChar('F');
DebugPrintChar('I');
DebugPrintChar('L');
DebugPrintChar('E');
DebugPrintChar('S');
DebugPrintChar('Y');
DebugPrintChar('S');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_INIFILE:
DebugPrintChar('I');
DebugPrintChar('N');
DebugPrintChar('I');
DebugPrintChar('F');
DebugPrintChar('I');
DebugPrintChar('L');
DebugPrintChar('E');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_UI:
DebugPrintChar('U');
DebugPrintChar('I');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_DISK:
DebugPrintChar('D');
DebugPrintChar('I');
DebugPrintChar('S');
DebugPrintChar('K');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_CACHE:
DebugPrintChar('C');
DebugPrintChar('A');
DebugPrintChar('C');
DebugPrintChar('H');
DebugPrintChar('E');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_REGISTRY:
DebugPrintChar('R');
DebugPrintChar('E');
DebugPrintChar('G');
DebugPrintChar('I');
DebugPrintChar('S');
DebugPrintChar('T');
DebugPrintChar('R');
DebugPrintChar('Y');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_REACTOS:
DebugPrintChar('R');
DebugPrintChar('E');
DebugPrintChar('A');
DebugPrintChar('C');
DebugPrintChar('T');
DebugPrintChar('O');
DebugPrintChar('S');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_LINUX:
DebugPrintChar('L');
DebugPrintChar('I');
DebugPrintChar('N');
DebugPrintChar('U');
DebugPrintChar('X');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
case DPRINT_HWDETECT:
DebugPrintChar('H');
DebugPrintChar('W');
DebugPrintChar('D');
DebugPrintChar('E');
DebugPrintChar('T');
DebugPrintChar('E');
DebugPrintChar('C');
DebugPrintChar('T');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
default:
DebugPrintChar('U');
DebugPrintChar('N');
DebugPrintChar('K');
DebugPrintChar('N');
DebugPrintChar('O');
DebugPrintChar('W');
DebugPrintChar('N');
DebugPrintChar(':');
DebugPrintChar(' ');
break;
}
}
VOID DebugPrint(U32 Mask, char *format, ...)
{
int *dataptr = (int *) &format;
char c, *ptr, str[16];
// Mask out unwanted debug messages
if (!(Mask & DebugPrintMask))
{
return;
}
// Print the header if we have started a new line
if (DebugStartOfLine)
{
DebugPrintHeader(Mask);
DebugStartOfLine = FALSE;
}
dataptr++;
while ((c = *(format++)))
{
if (c != '%')
{
DebugPrintChar(c);
}
else
{
switch (c = *(format++))
{
case 'd': case 'u': case 'x':
*convert_to_ascii(str, c, *((unsigned long *) dataptr++)) = 0;
ptr = str;
while (*ptr)
{
DebugPrintChar(*(ptr++));
}
break;
case 'c':
DebugPrintChar((*(dataptr++))&0xff);
break;
case 's':
ptr = (char *)(*(dataptr++));
while ((c = *(ptr++)))
{
DebugPrintChar(c);
}
break;
case '%':
DebugPrintChar(c);
break;
default:
DebugPrint(Mask, "\nDebugPrint() invalid format specifier - %%%c\n", c);
break;
}
}
}
if (DebugPort == SCREEN)
{
//getch();
}
}
VOID DebugDumpBuffer(U32 Mask, PVOID Buffer, U32 Length)
{
PUCHAR BufPtr = (PUCHAR)Buffer;
U32 Idx;
U32 Idx2;
// Mask out unwanted debug messages
if (!(Mask & DebugPrintMask))
{
return;
}
DebugStartOfLine = FALSE; // We don't want line headers
DebugPrint(Mask, "Dumping buffer at 0x%x with length of %d bytes:\n", Buffer, Length);
for (Idx=0; Idx<Length; )
{
DebugStartOfLine = FALSE; // We don't want line headers
if (Idx < 0x0010)
{
DebugPrint(Mask, "000%x:\t", Idx);
}
else if (Idx < 0x0100)
{
DebugPrint(Mask, "00%x:\t", Idx);
}
else if (Idx < 0x1000)
{
DebugPrint(Mask, "0%x:\t", Idx);
}
else
{
DebugPrint(Mask, "%x:\t", Idx);
}
for (Idx2=0; Idx2<16; Idx2++,Idx++)
{
if (BufPtr[Idx] < 0x10)
{
DebugPrint(Mask, "0");
}
DebugPrint(Mask, "%x", BufPtr[Idx]);
if (Idx2 == 7)
{
DebugPrint(Mask, "-");
}
else
{
DebugPrint(Mask, " ");
}
}
Idx -= 16;
DebugPrint(Mask, " ");
for (Idx2=0; Idx2<16; Idx2++,Idx++)
{
if ((BufPtr[Idx] > 20) && (BufPtr[Idx] < 0x80))
{
DebugPrint(Mask, "%c", BufPtr[Idx]);
}
else
{
DebugPrint(Mask, ".");
}
}
DebugPrint(Mask, "\n");
}
}
#endif // defined DEBUG

View File

@@ -1,44 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <disk.h>
#include <rtl.h>
#include <mm.h>
#ifdef __i386__
BOOL DiskGetDriveGeometry(U32 DriveNumber, PGEOMETRY DriveGeometry)
{
// For now just return the geometry as the BIOS reports it
// BytesPerSector is always set to 512 by i386DiskGetDriveParameters()
if (!DiskGetDriveParameters(DriveNumber, DriveGeometry))
{
DiskError("Drive geometry unknown.", 0);
return FALSE;
}
return TRUE;
}
#else
BOOL DiskGetDriveGeometry(U32 DriveNumber, PGEOMETRY DriveGeometry)
{
UNIMPLEMENTED();
}
#endif

View File

@@ -1,697 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __EXT2_H
#define __EXT2_H
/*
* linux/include/linux/ext3_fs.h
*
* Copyright (C) 1992, 1993, 1994, 1995
* Remy Card (card@masi.ibp.fr)
* Laboratoire MASI - Institut Blaise Pascal
* Universite Pierre et Marie Curie (Paris VI)
*
* from
*
* linux/include/linux/minix_fs.h
*
* Copyright (C) 1991, 1992 Linus Torvalds
*/
#ifndef _LINUX_EXT3_FS_H
#define _LINUX_EXT3_FS_H
//#include <linux/types.h>
/*
* The second extended filesystem constants/structures
*/
/*
* Define EXT3FS_DEBUG to produce debug messages
*/
#undef EXT3FS_DEBUG
/*
* Define EXT3_PREALLOCATE to preallocate data blocks for expanding files
*/
#undef EXT3_PREALLOCATE /* @@@ Fix this! */
#define EXT3_DEFAULT_PREALLOC_BLOCKS 8
/*
* The second extended file system version
*/
#define EXT3FS_DATE "10 Jan 2002"
#define EXT3FS_VERSION "2.4-0.9.17"
/*
* Debug code
*/
#ifdef EXT3FS_DEBUG
#define ext3_debug(f, a...) \
do { \
printk (KERN_DEBUG "EXT3-fs DEBUG (%s, %d): %s:", \
__FILE__, __LINE__, __FUNCTION__); \
printk (KERN_DEBUG f, ## a); \
} while (0)
#else
#define ext3_debug(f, a...) do {} while (0)
#endif
/*
* Special inodes numbers
*/
#define EXT3_BAD_INO 1 /* Bad blocks inode */
#define EXT3_ROOT_INO 2 /* Root inode */
#define EXT3_ACL_IDX_INO 3 /* ACL inode */
#define EXT3_ACL_DATA_INO 4 /* ACL inode */
#define EXT3_BOOT_LOADER_INO 5 /* Boot loader inode */
#define EXT3_UNDEL_DIR_INO 6 /* Undelete directory inode */
#define EXT3_RESIZE_INO 7 /* Reserved group descriptors inode */
#define EXT3_JOURNAL_INO 8 /* Journal inode */
/* First non-reserved inode for old ext3 filesystems */
#define EXT3_GOOD_OLD_FIRST_INO 11
/*
* The second extended file system magic number
*/
#define EXT3_SUPER_MAGIC 0xEF53
/*
* Maximal count of links to a file
*/
#define EXT3_LINK_MAX 32000
/*
* Macro-instructions used to manage several block sizes
*/
#define EXT3_MIN_BLOCK_SIZE 1024
#define EXT3_MAX_BLOCK_SIZE 4096
#define EXT3_MIN_BLOCK_LOG_SIZE 10
#ifdef __KERNEL__
# define EXT3_BLOCK_SIZE(s) ((s)->s_blocksize)
#else
# define EXT3_BLOCK_SIZE(s) (EXT3_MIN_BLOCK_SIZE << (s)->s_log_block_size)
#endif
#define EXT3_ACLE_PER_BLOCK(s) (EXT3_BLOCK_SIZE(s) / sizeof (struct ext3_acl_entry))
#define EXT3_ADDR_PER_BLOCK(s) (EXT3_BLOCK_SIZE(s) / sizeof (__u32))
#ifdef __KERNEL__
# define EXT3_BLOCK_SIZE_BITS(s) ((s)->s_blocksize_bits)
#else
# define EXT3_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
#endif
#ifdef __KERNEL__
#define EXT3_ADDR_PER_BLOCK_BITS(s) ((s)->u.ext3_sb.s_addr_per_block_bits)
#define EXT3_INODE_SIZE(s) ((s)->u.ext3_sb.s_inode_size)
#define EXT3_FIRST_INO(s) ((s)->u.ext3_sb.s_first_ino)
#else
#define EXT3_INODE_SIZE(s) (((s)->s_rev_level == EXT3_GOOD_OLD_REV) ? \
EXT3_GOOD_OLD_INODE_SIZE : \
(s)->s_inode_size)
#define EXT3_FIRST_INO(s) (((s)->s_rev_level == EXT3_GOOD_OLD_REV) ? \
EXT3_GOOD_OLD_FIRST_INO : \
(s)->s_first_ino)
#endif
/*
* Macro-instructions used to manage fragments
*/
#define EXT3_MIN_FRAG_SIZE 1024
#define EXT3_MAX_FRAG_SIZE 4096
#define EXT3_MIN_FRAG_LOG_SIZE 10
#ifdef __KERNEL__
# define EXT3_FRAG_SIZE(s) ((s)->u.ext3_sb.s_frag_size)
# define EXT3_FRAGS_PER_BLOCK(s) ((s)->u.ext3_sb.s_frags_per_block)
#else
# define EXT3_FRAG_SIZE(s) (EXT3_MIN_FRAG_SIZE << (s)->s_log_frag_size)
# define EXT3_FRAGS_PER_BLOCK(s) (EXT3_BLOCK_SIZE(s) / EXT3_FRAG_SIZE(s))
#endif
/*
* ACL structures
*/
struct ext3_acl_header /* Header of Access Control Lists */
{
__u32 aclh_size;
__u32 aclh_file_count;
__u32 aclh_acle_count;
__u32 aclh_first_acle;
};
struct ext3_acl_entry /* Access Control List Entry */
{
__u32 acle_size;
__u16 acle_perms; /* Access permissions */
__u16 acle_type; /* Type of entry */
__u16 acle_tag; /* User or group identity */
__u16 acle_pad1;
__u32 acle_next; /* Pointer on next entry for the */
/* same inode or on next free entry */
};
/*
* Structure of a blocks group descriptor
*/
struct ext3_group_desc
{
__u32 bg_block_bitmap; /* Blocks bitmap block */
__u32 bg_inode_bitmap; /* Inodes bitmap block */
__u32 bg_inode_table; /* Inodes table block */
__u16 bg_free_blocks_count; /* Free blocks count */
__u16 bg_free_inodes_count; /* Free inodes count */
__u16 bg_used_dirs_count; /* Directories count */
__u16 bg_pad;
__u32 bg_reserved[3];
};
/*
* Macro-instructions used to manage group descriptors
*/
#ifdef __KERNEL__
# define EXT3_BLOCKS_PER_GROUP(s) ((s)->u.ext3_sb.s_blocks_per_group)
# define EXT3_DESC_PER_BLOCK(s) ((s)->u.ext3_sb.s_desc_per_block)
# define EXT3_INODES_PER_GROUP(s) ((s)->u.ext3_sb.s_inodes_per_group)
# define EXT3_DESC_PER_BLOCK_BITS(s) ((s)->u.ext3_sb.s_desc_per_block_bits)
#else
# define EXT3_BLOCKS_PER_GROUP(s) ((s)->s_blocks_per_group)
# define EXT3_DESC_PER_BLOCK(s) (EXT3_BLOCK_SIZE(s) / sizeof (struct ext3_group_desc))
# define EXT3_INODES_PER_GROUP(s) ((s)->s_inodes_per_group)
#endif
/*
* Constants relative to the data blocks
*/
#define EXT3_NDIR_BLOCKS 12
#define EXT3_IND_BLOCK EXT3_NDIR_BLOCKS
#define EXT3_DIND_BLOCK (EXT3_IND_BLOCK + 1)
#define EXT3_TIND_BLOCK (EXT3_DIND_BLOCK + 1)
#define EXT3_N_BLOCKS (EXT3_TIND_BLOCK + 1)
/*
* Inode flags
*/
#define EXT3_SECRM_FL 0x00000001 /* Secure deletion */
#define EXT3_UNRM_FL 0x00000002 /* Undelete */
#define EXT3_COMPR_FL 0x00000004 /* Compress file */
#define EXT3_SYNC_FL 0x00000008 /* Synchronous updates */
#define EXT3_IMMUTABLE_FL 0x00000010 /* Immutable file */
#define EXT3_APPEND_FL 0x00000020 /* writes to file may only append */
#define EXT3_NODUMP_FL 0x00000040 /* do not dump file */
#define EXT3_NOATIME_FL 0x00000080 /* do not update atime */
/* Reserved for compression usage... */
#define EXT3_DIRTY_FL 0x00000100
#define EXT3_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */
#define EXT3_NOCOMPR_FL 0x00000400 /* Don't compress */
#define EXT3_ECOMPR_FL 0x00000800 /* Compression error */
/* End compression flags --- maybe not all used */
#define EXT3_INDEX_FL 0x00001000 /* hash-indexed directory */
#define EXT3_IMAGIC_FL 0x00002000 /* AFS directory */
#define EXT3_JOURNAL_DATA_FL 0x00004000 /* file data should be journaled */
#define EXT3_RESERVED_FL 0x80000000 /* reserved for ext3 lib */
#define EXT3_FL_USER_VISIBLE 0x00005FFF /* User visible flags */
#define EXT3_FL_USER_MODIFIABLE 0x000000FF /* User modifiable flags */
/*
* Inode dynamic state flags
*/
#define EXT3_STATE_JDATA 0x00000001 /* journaled data exists */
#define EXT3_STATE_NEW 0x00000002 /* inode is newly created */
/*
* ioctl commands
*/
#define EXT3_IOC_GETFLAGS _IOR('f', 1, long)
#define EXT3_IOC_SETFLAGS _IOW('f', 2, long)
#define EXT3_IOC_GETVERSION _IOR('f', 3, long)
#define EXT3_IOC_SETVERSION _IOW('f', 4, long)
#define EXT3_IOC_GETVERSION_OLD _IOR('v', 1, long)
#define EXT3_IOC_SETVERSION_OLD _IOW('v', 2, long)
#ifdef CONFIG_JBD_DEBUG
#define EXT3_IOC_WAIT_FOR_READONLY _IOR('f', 99, long)
#endif
/*
* Structure of an inode on the disk
*/
struct ext3_inode {
__u16 i_mode; /* File mode */
__u16 i_uid; /* Low 16 bits of Owner Uid */
__u32 i_size; /* Size in bytes */
__u32 i_atime; /* Access time */
__u32 i_ctime; /* Creation time */
__u32 i_mtime; /* Modification time */
__u32 i_dtime; /* Deletion Time */
__u16 i_gid; /* Low 16 bits of Group Id */
__u16 i_links_count; /* Links count */
__u32 i_blocks; /* Blocks count */
__u32 i_flags; /* File flags */
union {
struct {
__u32 l_i_reserved1;
} linux1;
struct {
__u32 h_i_translator;
} hurd1;
struct {
__u32 m_i_reserved1;
} masix1;
} osd1; /* OS dependent 1 */
__u32 i_block[EXT3_N_BLOCKS];/* Pointers to blocks */
__u32 i_generation; /* File version (for NFS) */
__u32 i_file_acl; /* File ACL */
__u32 i_dir_acl; /* Directory ACL */
__u32 i_faddr; /* Fragment address */
union {
struct {
__u8 l_i_frag; /* Fragment number */
__u8 l_i_fsize; /* Fragment size */
__u16 i_pad1;
__u16 l_i_uid_high; /* these 2 fields */
__u16 l_i_gid_high; /* were reserved2[0] */
__u32 l_i_reserved2;
} linux2;
struct {
__u8 h_i_frag; /* Fragment number */
__u8 h_i_fsize; /* Fragment size */
__u16 h_i_mode_high;
__u16 h_i_uid_high;
__u16 h_i_gid_high;
__u32 h_i_author;
} hurd2;
struct {
__u8 m_i_frag; /* Fragment number */
__u8 m_i_fsize; /* Fragment size */
__u16 m_pad1;
__u32 m_i_reserved2[2];
} masix2;
} osd2; /* OS dependent 2 */
};
#define i_size_high i_dir_acl
#if defined(__KERNEL__) || defined(__linux__)
#define i_reserved1 osd1.linux1.l_i_reserved1
#define i_frag osd2.linux2.l_i_frag
#define i_fsize osd2.linux2.l_i_fsize
#define i_uid_low i_uid
#define i_gid_low i_gid
#define i_uid_high osd2.linux2.l_i_uid_high
#define i_gid_high osd2.linux2.l_i_gid_high
#define i_reserved2 osd2.linux2.l_i_reserved2
#elif defined(__GNU__)
#define i_translator osd1.hurd1.h_i_translator
#define i_frag osd2.hurd2.h_i_frag;
#define i_fsize osd2.hurd2.h_i_fsize;
#define i_uid_high osd2.hurd2.h_i_uid_high
#define i_gid_high osd2.hurd2.h_i_gid_high
#define i_author osd2.hurd2.h_i_author
#elif defined(__masix__)
#define i_reserved1 osd1.masix1.m_i_reserved1
#define i_frag osd2.masix2.m_i_frag
#define i_fsize osd2.masix2.m_i_fsize
#define i_reserved2 osd2.masix2.m_i_reserved2
#endif /* defined(__KERNEL__) || defined(__linux__) */
/*
* File system states
*/
#define EXT3_VALID_FS 0x0001 /* Unmounted cleanly */
#define EXT3_ERROR_FS 0x0002 /* Errors detected */
#define EXT3_ORPHAN_FS 0x0004 /* Orphans being recovered */
/*
* Mount flags
*/
#define EXT3_MOUNT_CHECK 0x0001 /* Do mount-time checks */
#define EXT3_MOUNT_GRPID 0x0004 /* Create files with directory's group */
#define EXT3_MOUNT_DEBUG 0x0008 /* Some debugging messages */
#define EXT3_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */
#define EXT3_MOUNT_ERRORS_RO 0x0020 /* Remount fs ro on errors */
#define EXT3_MOUNT_ERRORS_PANIC 0x0040 /* Panic on errors */
#define EXT3_MOUNT_MINIX_DF 0x0080 /* Mimics the Minix statfs */
#define EXT3_MOUNT_NOLOAD 0x0100 /* Don't use existing journal*/
#define EXT3_MOUNT_ABORT 0x0200 /* Fatal error detected */
#define EXT3_MOUNT_DATA_FLAGS 0x0C00 /* Mode for data writes: */
#define EXT3_MOUNT_JOURNAL_DATA 0x0400 /* Write data to journal */
#define EXT3_MOUNT_ORDERED_DATA 0x0800 /* Flush data before commit */
#define EXT3_MOUNT_WRITEBACK_DATA 0x0C00 /* No data ordering */
#define EXT3_MOUNT_UPDATE_JOURNAL 0x1000 /* Update the journal format */
#define EXT3_MOUNT_NO_UID32 0x2000 /* Disable 32-bit UIDs */
/* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */
#ifndef _LINUX_EXT2_FS_H
#define clear_opt(o, opt) o &= ~EXT3_MOUNT_##opt
#define set_opt(o, opt) o |= EXT3_MOUNT_##opt
#define test_opt(sb, opt) ((sb)->u.ext3_sb.s_mount_opt & \
EXT3_MOUNT_##opt)
#else
#define EXT2_MOUNT_NOLOAD EXT3_MOUNT_NOLOAD
#define EXT2_MOUNT_ABORT EXT3_MOUNT_ABORT
#endif
#define ext3_set_bit ext2_set_bit
#define ext3_clear_bit ext2_clear_bit
#define ext3_test_bit ext2_test_bit
#define ext3_find_first_zero_bit ext2_find_first_zero_bit
#define ext3_find_next_zero_bit ext2_find_next_zero_bit
/*
* Maximal mount counts between two filesystem checks
*/
#define EXT3_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */
#define EXT3_DFL_CHECKINTERVAL 0 /* Don't use interval check */
/*
* Behaviour when detecting errors
*/
#define EXT3_ERRORS_CONTINUE 1 /* Continue execution */
#define EXT3_ERRORS_RO 2 /* Remount fs read-only */
#define EXT3_ERRORS_PANIC 3 /* Panic */
#define EXT3_ERRORS_DEFAULT EXT3_ERRORS_CONTINUE
/*
* Structure of the super block
*/
struct ext3_super_block {
/*00*/ __u32 s_inodes_count; /* Inodes count */
__u32 s_blocks_count; /* Blocks count */
__u32 s_r_blocks_count; /* Reserved blocks count */
__u32 s_free_blocks_count; /* Free blocks count */
/*10*/ __u32 s_free_inodes_count; /* Free inodes count */
__u32 s_first_data_block; /* First Data Block */
__u32 s_log_block_size; /* Block size */
__s32 s_log_frag_size; /* Fragment size */
/*20*/ __u32 s_blocks_per_group; /* # Blocks per group */
__u32 s_frags_per_group; /* # Fragments per group */
__u32 s_inodes_per_group; /* # Inodes per group */
__u32 s_mtime; /* Mount time */
/*30*/ __u32 s_wtime; /* Write time */
__u16 s_mnt_count; /* Mount count */
__s16 s_max_mnt_count; /* Maximal mount count */
__u16 s_magic; /* Magic signature */
__u16 s_state; /* File system state */
__u16 s_errors; /* Behaviour when detecting errors */
__u16 s_minor_rev_level; /* minor revision level */
/*40*/ __u32 s_lastcheck; /* time of last check */
__u32 s_checkinterval; /* max. time between checks */
__u32 s_creator_os; /* OS */
__u32 s_rev_level; /* Revision level */
/*50*/ __u16 s_def_resuid; /* Default uid for reserved blocks */
__u16 s_def_resgid; /* Default gid for reserved blocks */
/*
* These fields are for EXT3_DYNAMIC_REV superblocks only.
*
* Note: the difference between the compatible feature set and
* the incompatible feature set is that if there is a bit set
* in the incompatible feature set that the kernel doesn't
* know about, it should refuse to mount the filesystem.
*
* e2fsck's requirements are more strict; if it doesn't know
* about a feature in either the compatible or incompatible
* feature set, it must abort and not try to meddle with
* things it doesn't understand...
*/
__u32 s_first_ino; /* First non-reserved inode */
__u16 s_inode_size; /* size of inode structure */
__u16 s_block_group_nr; /* block group # of this superblock */
__u32 s_feature_compat; /* compatible feature set */
/*60*/ __u32 s_feature_incompat; /* incompatible feature set */
__u32 s_feature_ro_compat; /* readonly-compatible feature set */
/*68*/ __u8 s_uuid[16]; /* 128-bit uuid for volume */
/*78*/ char s_volume_name[16]; /* volume name */
/*88*/ char s_last_mounted[64]; /* directory where last mounted */
/*C8*/ __u32 s_algorithm_usage_bitmap; /* For compression */
/*
* Performance hints. Directory preallocation should only
* happen if the EXT3_FEATURE_COMPAT_DIR_PREALLOC flag is on.
*/
__u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/
__u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */
__u16 s_padding1;
/*
* Journaling support valid if EXT3_FEATURE_COMPAT_HAS_JOURNAL set.
*/
/*D0*/ __u8 s_journal_uuid[16]; /* uuid of journal superblock */
/*E0*/ __u32 s_journal_inum; /* inode number of journal file */
__u32 s_journal_dev; /* device number of journal file */
__u32 s_last_orphan; /* start of list of inodes to delete */
/*EC*/ __u32 s_reserved[197]; /* Padding to the end of the block */
};
#ifdef __KERNEL__
#define EXT3_SB(sb) (&((sb)->u.ext3_sb))
#define EXT3_I(inode) (&((inode)->u.ext3_i))
#else
/* Assume that user mode programs are passing in an ext3fs superblock, not
* a kernel struct super_block. This will allow us to call the feature-test
* macros from user land. */
#define EXT3_SB(sb) (sb)
#endif
#define NEXT_ORPHAN(inode) (inode)->u.ext3_i.i_dtime
/*
* Codes for operating systems
*/
#define EXT3_OS_LINUX 0
#define EXT3_OS_HURD 1
#define EXT3_OS_MASIX 2
#define EXT3_OS_FREEBSD 3
#define EXT3_OS_LITES 4
/*
* Revision levels
*/
#define EXT3_GOOD_OLD_REV 0 /* The good old (original) format */
#define EXT3_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */
#define EXT3_CURRENT_REV EXT3_GOOD_OLD_REV
#define EXT3_MAX_SUPP_REV EXT3_DYNAMIC_REV
#define EXT3_GOOD_OLD_INODE_SIZE 128
/*
* Feature set definitions
*/
#define EXT3_HAS_COMPAT_FEATURE(sb,mask) \
( EXT3_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask) )
#define EXT3_HAS_RO_COMPAT_FEATURE(sb,mask) \
( EXT3_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask) )
#define EXT3_HAS_INCOMPAT_FEATURE(sb,mask) \
( EXT3_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask) )
#define EXT3_SET_COMPAT_FEATURE(sb,mask) \
EXT3_SB(sb)->s_es->s_feature_compat |= cpu_to_le32(mask)
#define EXT3_SET_RO_COMPAT_FEATURE(sb,mask) \
EXT3_SB(sb)->s_es->s_feature_ro_compat |= cpu_to_le32(mask)
#define EXT3_SET_INCOMPAT_FEATURE(sb,mask) \
EXT3_SB(sb)->s_es->s_feature_incompat |= cpu_to_le32(mask)
#define EXT3_CLEAR_COMPAT_FEATURE(sb,mask) \
EXT3_SB(sb)->s_es->s_feature_compat &= ~cpu_to_le32(mask)
#define EXT3_CLEAR_RO_COMPAT_FEATURE(sb,mask) \
EXT3_SB(sb)->s_es->s_feature_ro_compat &= ~cpu_to_le32(mask)
#define EXT3_CLEAR_INCOMPAT_FEATURE(sb,mask) \
EXT3_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask)
#define EXT3_FEATURE_COMPAT_DIR_PREALLOC 0x0001
#define EXT3_FEATURE_COMPAT_IMAGIC_INODES 0x0002
#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
#define EXT3_FEATURE_COMPAT_EXT_ATTR 0x0008
#define EXT3_FEATURE_COMPAT_RESIZE_INODE 0x0010
#define EXT3_FEATURE_COMPAT_DIR_INDEX 0x0020
#define EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
#define EXT3_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
#define EXT3_FEATURE_RO_COMPAT_BTREE_DIR 0x0004
#define EXT3_FEATURE_INCOMPAT_COMPRESSION 0x0001
#define EXT3_FEATURE_INCOMPAT_FILETYPE 0x0002
#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 /* Needs recovery */
#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 /* Journal device */
#define EXT3_FEATURE_COMPAT_SUPP 0
/*#define EXT3_FEATURE_INCOMPAT_SUPP (EXT3_FEATURE_INCOMPAT_FILETYPE| \
EXT3_FEATURE_INCOMPAT_RECOVER)*/
#define EXT3_FEATURE_INCOMPAT_SUPP (EXT3_FEATURE_INCOMPAT_FILETYPE)
#define EXT3_FEATURE_RO_COMPAT_SUPP (EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER| \
EXT3_FEATURE_RO_COMPAT_LARGE_FILE| \
EXT3_FEATURE_RO_COMPAT_BTREE_DIR)
/*
* Default values for user and/or group using reserved blocks
*/
#define EXT3_DEF_RESUID 0
#define EXT3_DEF_RESGID 0
/*
* Structure of a directory entry
*/
#define EXT3_NAME_LEN 255
struct ext3_dir_entry {
__u32 inode; /* Inode number */
__u16 rec_len; /* Directory entry length */
__u16 name_len; /* Name length */
char name[EXT3_NAME_LEN]; /* File name */
};
/*
* The new version of the directory entry. Since EXT3 structures are
* stored in intel byte order, and the name_len field could never be
* bigger than 255 chars, it's safe to reclaim the extra byte for the
* file_type field.
*/
struct ext3_dir_entry_2 {
__u32 inode; /* Inode number */
__u16 rec_len; /* Directory entry length */
__u8 name_len; /* Name length */
__u8 file_type;
char name[EXT3_NAME_LEN]; /* File name */
};
/*
* Ext3 directory file types. Only the low 3 bits are used. The
* other bits are reserved for now.
*/
#define EXT3_FT_UNKNOWN 0
#define EXT3_FT_REG_FILE 1
#define EXT3_FT_DIR 2
#define EXT3_FT_CHRDEV 3
#define EXT3_FT_BLKDEV 4
#define EXT3_FT_FIFO 5
#define EXT3_FT_SOCK 6
#define EXT3_FT_SYMLINK 7
#define EXT3_FT_MAX 8
/*
* EXT3_DIR_PAD defines the directory entries boundaries
*
* NOTE: It must be a multiple of 4
*/
#define EXT3_DIR_PAD 4
#define EXT3_DIR_ROUND (EXT3_DIR_PAD - 1)
#define EXT3_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT3_DIR_ROUND) & \
~EXT3_DIR_ROUND)
#ifdef __KERNEL__
/*
* Describe an inode's exact location on disk and in memory
*/
struct ext3_iloc
{
struct buffer_head *bh;
struct ext3_inode *raw_inode;
unsigned long block_group;
};
#endif /* __KERNEL__ */
#endif /* _LINUX_EXT3_FS_H */
typedef struct ext3_super_block EXT2_SUPER_BLOCK, *PEXT2_SUPER_BLOCK;
typedef struct ext3_inode EXT2_INODE, *PEXT2_INODE;
typedef struct ext3_group_desc EXT2_GROUP_DESC, *PEXT2_GROUP_DESC;
typedef struct ext3_dir_entry_2 EXT2_DIR_ENTRY, *PEXT2_DIR_ENTRY;
// EXT2_INODE::i_mode values
#define EXT2_S_IRWXO 0x0007 // Other mask
#define EXT2_S_IXOTH 0x0001 // ---------x execute
#define EXT2_S_IWOTH 0x0002 // --------w- write
#define EXT2_S_IROTH 0x0004 // -------r-- read
#define EXT2_S_IRWXG 0x0038 // Group mask
#define EXT2_S_IXGRP 0x0008 // ------x--- execute
#define EXT2_S_IWGRP 0x0010 // -----w---- write
#define EXT2_S_IRGRP 0x0020 // ----r----- read
#define EXT2_S_IRWXU 0x01C0 // User mask
#define EXT2_S_IXUSR 0x0040 // ---x------ execute
#define EXT2_S_IWUSR 0x0080 // --w------- write
#define EXT2_S_IRUSR 0x0100 // -r-------- read
#define EXT2_S_ISVTX 0x0200 // Sticky bit
#define EXT2_S_ISGID 0x0400 // SGID
#define EXT2_S_ISUID 0x0800 // SUID
#define EXT2_S_IFMT 0xF000 // Format mask
#define EXT2_S_IFIFO 0x1000 // FIFO buffer
#define EXT2_S_IFCHR 0x2000 // Character device
#define EXT2_S_IFDIR 0x4000 // Directory
#define EXT2_S_IFBLK 0x6000 // Block device
#define EXT2_S_IFREG 0x8000 // Regular file
#define EXT2_S_IFLNK 0xA000 // Symbolic link
#define EXT2_S_IFSOCK 0xC000 // Socket
#define FAST_SYMLINK_MAX_NAME_SIZE (EXT3_N_BLOCKS * sizeof(U32)) /* 60 bytes */
typedef struct
{
U64 FileSize; // File size
U64 FilePointer; // File pointer
U32* FileBlockList; // File block list
U8 DriveNumber; // Drive number of open file
EXT2_INODE Inode; // File's inode
} EXT2_FILE_INFO, * PEXT2_FILE_INFO;
BOOL Ext2OpenVolume(U8 DriveNumber, U64 VolumeStartSector);
FILE* Ext2OpenFile(PUCHAR FileName);
BOOL Ext2LookupFile(PUCHAR FileName, PEXT2_FILE_INFO Ext2FileInfoPointer);
BOOL Ext2SearchDirectoryBufferForFile(PVOID DirectoryBuffer, U32 DirectorySize, PUCHAR FileName, PEXT2_DIR_ENTRY DirectoryEntry);
BOOL Ext2ReadFile(FILE *FileHandle, U64 BytesToRead, U64* BytesRead, PVOID Buffer);
U64 Ext2GetFileSize(FILE *FileHandle);
VOID Ext2SetFilePointer(FILE *FileHandle, U64 NewFilePointer);
U64 Ext2GetFilePointer(FILE *FileHandle);
BOOL Ext2ReadVolumeSectors(U8 DriveNumber, U64 SectorNumber, U64 SectorCount, PVOID Buffer);
BOOL Ext2ReadSuperBlock(VOID);
BOOL Ext2ReadGroupDescriptors(VOID);
BOOL Ext2ReadDirectory(U32 Inode, PVOID* DirectoryBuffer, PEXT2_INODE InodePointer);
BOOL Ext2ReadBlock(U32 BlockNumber, PVOID Buffer);
BOOL Ext2ReadPartialBlock(U32 BlockNumber, U32 StartingOffset, U32 Length, PVOID Buffer);
U32 Ext2GetGroupDescBlockNumber(U32 Group);
U32 Ext2GetGroupDescOffsetInBlock(U32 Group);
U32 Ext2GetInodeGroupNumber(U32 Inode);
U32 Ext2GetInodeBlockNumber(U32 Inode);
U32 Ext2GetInodeOffsetInBlock(U32 Inode);
BOOL Ext2ReadInode(U32 Inode, PEXT2_INODE InodeBuffer);
BOOL Ext2ReadGroupDescriptor(U32 Group, PEXT2_GROUP_DESC GroupBuffer);
U32* Ext2ReadBlockPointerList(PEXT2_INODE Inode);
U64 Ext2GetInodeFileSize(PEXT2_INODE Inode);
BOOL Ext2CopyIndirectBlockPointers(U32* BlockList, U32* CurrentBlockInList, U32 BlockCount, U32 IndirectBlock);
BOOL Ext2CopyDoubleIndirectBlockPointers(U32* BlockList, U32* CurrentBlockInList, U32 BlockCount, U32 DoubleIndirectBlock);
BOOL Ext2CopyTripleIndirectBlockPointers(U32* BlockList, U32* CurrentBlockInList, U32 BlockCount, U32 TripleIndirectBlock);
#endif // #defined __EXT2_H

File diff suppressed because it is too large Load Diff

View File

@@ -1,162 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __FAT_H
#define __FAT_H
typedef struct _FAT_BOOTSECTOR
{
U8 JumpBoot[3]; // Jump instruction to boot code
U8 OemName[8]; // "MSWIN4.1" for MS formatted volumes
U16 BytesPerSector; // Bytes per sector
U8 SectorsPerCluster; // Number of sectors in a cluster
U16 ReservedSectors; // Reserved sectors, usually 1 (the bootsector)
U8 NumberOfFats; // Number of FAT tables
U16 RootDirEntries; // Number of root directory entries (fat12/16)
U16 TotalSectors; // Number of total sectors on the drive, 16-bit
U8 MediaDescriptor; // Media descriptor byte
U16 SectorsPerFat; // Sectors per FAT table (fat12/16)
U16 SectorsPerTrack; // Number of sectors in a track
U16 NumberOfHeads; // Number of heads on the disk
U32 HiddenSectors; // Hidden sectors (sectors before the partition start like the partition table)
U32 TotalSectorsBig; // This field is the new 32-bit total count of sectors on the volume
U8 DriveNumber; // Int 0x13 drive number (e.g. 0x80)
U8 Reserved1; // Reserved (used by Windows NT). Code that formats FAT volumes should always set this byte to 0.
U8 BootSignature; // Extended boot signature (0x29). This is a signature byte that indicates that the following three fields in the boot sector are present.
U32 VolumeSerialNumber; // Volume serial number
U8 VolumeLabel[11]; // Volume label. This field matches the 11-byte volume label recorded in the root directory
U8 FileSystemType[8]; // One of the strings "FAT12 ", "FAT16 ", or "FAT "
U8 BootCodeAndData[448]; // The remainder of the boot sector
U16 BootSectorMagic; // 0xAA55
} PACKED FAT_BOOTSECTOR, *PFAT_BOOTSECTOR;
typedef struct _FAT32_BOOTSECTOR
{
U8 JumpBoot[3]; // Jump instruction to boot code
U8 OemName[8]; // "MSWIN4.1" for MS formatted volumes
U16 BytesPerSector; // Bytes per sector
U8 SectorsPerCluster; // Number of sectors in a cluster
U16 ReservedSectors; // Reserved sectors, usually 1 (the bootsector)
U8 NumberOfFats; // Number of FAT tables
U16 RootDirEntries; // Number of root directory entries (fat12/16)
U16 TotalSectors; // Number of total sectors on the drive, 16-bit
U8 MediaDescriptor; // Media descriptor byte
U16 SectorsPerFat; // Sectors per FAT table (fat12/16)
U16 SectorsPerTrack; // Number of sectors in a track
U16 NumberOfHeads; // Number of heads on the disk
U32 HiddenSectors; // Hidden sectors (sectors before the partition start like the partition table)
U32 TotalSectorsBig; // This field is the new 32-bit total count of sectors on the volume
U32 SectorsPerFatBig; // This field is the FAT32 32-bit count of sectors occupied by ONE FAT. BPB_FATSz16 must be 0
U16 ExtendedFlags; // Extended flags (fat32)
U16 FileSystemVersion; // File system version (fat32)
U32 RootDirStartCluster; // Starting cluster of the root directory (fat32)
U16 FsInfo; // Sector number of FSINFO structure in the reserved area of the FAT32 volume. Usually 1.
U16 BackupBootSector; // If non-zero, indicates the sector number in the reserved area of the volume of a copy of the boot record. Usually 6.
U8 Reserved[12]; // Reserved for future expansion
U8 DriveNumber; // Int 0x13 drive number (e.g. 0x80)
U8 Reserved1; // Reserved (used by Windows NT). Code that formats FAT volumes should always set this byte to 0.
U8 BootSignature; // Extended boot signature (0x29). This is a signature byte that indicates that the following three fields in the boot sector are present.
U32 VolumeSerialNumber; // Volume serial number
U8 VolumeLabel[11]; // Volume label. This field matches the 11-byte volume label recorded in the root directory
U8 FileSystemType[8]; // Always set to the string "FAT32 "
U8 BootCodeAndData[420]; // The remainder of the boot sector
U16 BootSectorMagic; // 0xAA55
} PACKED FAT32_BOOTSECTOR, *PFAT32_BOOTSECTOR;
/*
* Structure of MSDOS directory entry
*/
typedef struct //_DIRENTRY
{
UCHAR FileName[11]; /* Filename + extension */
U8 Attr; /* File attributes */
U8 ReservedNT; /* Reserved for use by Windows NT */
U8 TimeInTenths; /* Millisecond stamp at file creation */
U16 CreateTime; /* Time file was created */
U16 CreateDate; /* Date file was created */
U16 LastAccessDate; /* Date file was last accessed */
U16 ClusterHigh; /* High word of this entry's start cluster */
U16 Time; /* Time last modified */
U16 Date; /* Date last modified */
U16 ClusterLow; /* First cluster number low word */
U32 Size; /* File size */
} PACKED DIRENTRY, * PDIRENTRY;
typedef struct
{
U8 SequenceNumber; /* Sequence number for slot */
WCHAR Name0_4[5]; /* First 5 characters in name */
U8 EntryAttributes; /* Attribute byte */
U8 Reserved; /* Always 0 */
U8 AliasChecksum; /* Checksum for 8.3 alias */
WCHAR Name5_10[6]; /* 6 more characters in name */
U16 StartCluster; /* Starting cluster number */
WCHAR Name11_12[2]; /* Last 2 characters in name */
} PACKED LFN_DIRENTRY, * PLFN_DIRENTRY;
typedef struct
{
U32 FileSize; // File size
U32 FilePointer; // File pointer
U32* FileFatChain; // File fat chain array
U32 DriveNumber;
} FAT_FILE_INFO, * PFAT_FILE_INFO;
BOOL FatOpenVolume(U32 DriveNumber, U32 VolumeStartSector);
U32 FatDetermineFatType(PFAT_BOOTSECTOR FatBootSector);
PVOID FatBufferDirectory(U32 DirectoryStartCluster, U32* EntryCountPointer, BOOL RootDirectory);
BOOL FatSearchDirectoryBufferForFile(PVOID DirectoryBuffer, U32 EntryCount, PUCHAR FileName, PFAT_FILE_INFO FatFileInfoPointer);
BOOL FatLookupFile(PUCHAR FileName, PFAT_FILE_INFO FatFileInfoPointer);
void FatParseShortFileName(PUCHAR Buffer, PDIRENTRY DirEntry);
BOOL FatGetFatEntry(U32 Cluster, U32* ClusterPointer);
FILE* FatOpenFile(PUCHAR FileName);
U32 FatCountClustersInChain(U32 StartCluster);
U32* FatGetClusterChainArray(U32 StartCluster);
BOOL FatReadCluster(U32 ClusterNumber, PVOID Buffer);
BOOL FatReadClusterChain(U32 StartClusterNumber, U32 NumberOfClusters, PVOID Buffer);
BOOL FatReadPartialCluster(U32 ClusterNumber, U32 StartingOffset, U32 Length, PVOID Buffer);
BOOL FatReadFile(FILE *FileHandle, U32 BytesToRead, U32* BytesRead, PVOID Buffer);
U32 FatGetFileSize(FILE *FileHandle);
VOID FatSetFilePointer(FILE *FileHandle, U32 NewFilePointer);
U32 FatGetFilePointer(FILE *FileHandle);
BOOL FatReadVolumeSectors(U32 DriveNumber, U32 SectorNumber, U32 SectorCount, PVOID Buffer);
#define ATTR_NORMAL 0x00
#define ATTR_READONLY 0x01
#define ATTR_HIDDEN 0x02
#define ATTR_SYSTEM 0x04
#define ATTR_VOLUMENAME 0x08
#define ATTR_DIRECTORY 0x10
#define ATTR_ARCHIVE 0x20
#define ATTR_LONG_NAME (ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUMENAME)
#define FAT12 1
#define FAT16 2
#define FAT32 3
#endif // #defined __FAT_H

View File

@@ -1,393 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <fs.h>
#include "fat.h"
#include "iso.h"
#include "ext2.h"
#include "fsrec.h"
#include <disk.h>
#include <rtl.h>
#include <ui.h>
#include <arch.h>
#include <debug.h>
/////////////////////////////////////////////////////////////////////////////////////////////
// DATA
/////////////////////////////////////////////////////////////////////////////////////////////
U32 FileSystemType = 0; // Type of filesystem on boot device, set by FsOpenVolume()
/////////////////////////////////////////////////////////////////////////////////////////////
// FUNCTIONS
/////////////////////////////////////////////////////////////////////////////////////////////
VOID FileSystemError(PUCHAR ErrorString)
{
DbgPrint((DPRINT_FILESYSTEM, "%s\n", ErrorString));
UiMessageBox(ErrorString);
}
/*
*
* BOOL FsOpenVolume(U32 DriveNumber, U32 PartitionNumber);
*
* This function is called to open a disk volume for file access.
* It must be called before any of the file functions will work.
* It takes two parameters:
*
* Drive: The BIOS drive number of the disk to open
* Partition: This is zero for floppy drives.
* If the disk is a hard disk then this specifies
* The partition number to open (1 - 4)
* If it is zero then it opens the active (bootable) partition
*
*/
BOOL FsOpenVolume(U32 DriveNumber, U32 PartitionNumber)
{
PARTITION_TABLE_ENTRY PartitionTableEntry;
UCHAR ErrorText[80];
U8 VolumeType;
DbgPrint((DPRINT_FILESYSTEM, "FsOpenVolume() DriveNumber: 0x%x PartitionNumber: 0x%x\n", DriveNumber, PartitionNumber));
// Check and see if it is a floppy drive
// If so then just assume FAT12 file system type
if (DiskIsDriveRemovable(DriveNumber))
{
DbgPrint((DPRINT_FILESYSTEM, "Drive is a floppy diskette drive. Assuming FAT12 file system.\n"));
FileSystemType = FS_FAT;
return FatOpenVolume(DriveNumber, 0);
}
// Check for ISO9660 file system type
if (DriveNumber > 0x80 && FsRecIsIso9660(DriveNumber))
{
DbgPrint((DPRINT_FILESYSTEM, "Drive is a cdrom drive. Assuming ISO-9660 file system.\n"));
FileSystemType = FS_ISO9660;
return IsoOpenVolume(DriveNumber);
}
// Set the boot partition
BootPartition = PartitionNumber;
// Get the requested partition entry
if (PartitionNumber == 0)
{
// Partition requested was zero which means the boot partition
if (DiskGetActivePartitionEntry(DriveNumber, &PartitionTableEntry) == FALSE)
{
FileSystemError("No active partition.");
return FALSE;
}
}
else
{
// Get requested partition
if (DiskGetPartitionEntry(DriveNumber, PartitionNumber, &PartitionTableEntry) == FALSE)
{
FileSystemError("Partition not found.");
return FALSE;
}
}
// Check for valid partition
if (PartitionTableEntry.SystemIndicator == PARTITION_ENTRY_UNUSED)
{
FileSystemError("Invalid partition.");
return FALSE;
}
// Try to recognize the file system
if (!FsRecognizeVolume(DriveNumber, PartitionTableEntry.SectorCountBeforePartition, &VolumeType))
{
FileSystemError("Unrecognized file system.");
return FALSE;
}
//switch (PartitionTableEntry.SystemIndicator)
switch (VolumeType)
{
case PARTITION_FAT_12:
case PARTITION_FAT_16:
case PARTITION_HUGE:
case PARTITION_XINT13:
case PARTITION_FAT32:
case PARTITION_FAT32_XINT13:
FileSystemType = FS_FAT;
return FatOpenVolume(DriveNumber, PartitionTableEntry.SectorCountBeforePartition);
case PARTITION_EXT2:
FileSystemType = FS_EXT2;
return Ext2OpenVolume(DriveNumber, PartitionTableEntry.SectorCountBeforePartition);
default:
FileSystemType = 0;
sprintf(ErrorText, "Unsupported file system. Type: 0x%x", VolumeType);
FileSystemError(ErrorText);
return FALSE;
}
return TRUE;
}
PFILE FsOpenFile(PUCHAR FileName)
{
PFILE FileHandle = NULL;
//
// Print status message
//
DbgPrint((DPRINT_FILESYSTEM, "Opening file '%s'...\n", FileName));
//
// Check and see if the first character is '\' or '/' and remove it if so
//
while ((*FileName == '\\') || (*FileName == '/'))
{
FileName++;
}
//
// Check file system type and pass off to appropriate handler
//
switch (FileSystemType)
{
case FS_FAT:
FileHandle = FatOpenFile(FileName);
break;
case FS_ISO9660:
FileHandle = IsoOpenFile(FileName);
break;
case FS_EXT2:
FileHandle = Ext2OpenFile(FileName);
break;
default:
FileSystemError("Error: Unknown filesystem.");
break;
}
#ifdef DEBUG
//
// Check return value
//
if (FileHandle != NULL)
{
DbgPrint((DPRINT_FILESYSTEM, "FsOpenFile() succeeded. FileHandle: 0x%x\n", FileHandle));
}
else
{
DbgPrint((DPRINT_FILESYSTEM, "FsOpenFile() failed.\n"));
}
#endif // defined DEBUG
return FileHandle;
}
VOID FsCloseFile(PFILE FileHandle)
{
}
/*
* ReadFile()
* returns number of bytes read or EOF
*/
BOOL FsReadFile(PFILE FileHandle, U32 BytesToRead, U32* BytesRead, PVOID Buffer)
{
U64 BytesReadBig;
BOOL Success;
//
// Set the number of bytes read equal to zero
//
if (BytesRead != NULL)
{
*BytesRead = 0;
}
switch (FileSystemType)
{
case FS_FAT:
return FatReadFile(FileHandle, BytesToRead, BytesRead, Buffer);
case FS_ISO9660:
return IsoReadFile(FileHandle, BytesToRead, BytesRead, Buffer);
case FS_EXT2:
//return Ext2ReadFile(FileHandle, BytesToRead, BytesRead, Buffer);
Success = Ext2ReadFile(FileHandle, BytesToRead, &BytesReadBig, Buffer);
*BytesRead = (U32)BytesReadBig;
return Success;
default:
FileSystemError("Unknown file system.");
return FALSE;
}
return FALSE;
}
U32 FsGetFileSize(PFILE FileHandle)
{
switch (FileSystemType)
{
case FS_FAT:
return FatGetFileSize(FileHandle);
case FS_ISO9660:
return IsoGetFileSize(FileHandle);
case FS_EXT2:
return Ext2GetFileSize(FileHandle);
default:
FileSystemError("Unknown file system.");
break;
}
return 0;
}
VOID FsSetFilePointer(PFILE FileHandle, U32 NewFilePointer)
{
switch (FileSystemType)
{
case FS_FAT:
FatSetFilePointer(FileHandle, NewFilePointer);
break;
case FS_ISO9660:
IsoSetFilePointer(FileHandle, NewFilePointer);
break;
case FS_EXT2:
Ext2SetFilePointer(FileHandle, NewFilePointer);
break;
default:
FileSystemError("Unknown file system.");
break;
}
}
U32 FsGetFilePointer(PFILE FileHandle)
{
switch (FileSystemType)
{
case FS_FAT:
return FatGetFilePointer(FileHandle);
break;
case FS_ISO9660:
return IsoGetFilePointer(FileHandle);
break;
case FS_EXT2:
return Ext2GetFilePointer(FileHandle);
break;
default:
FileSystemError("Unknown file system.");
break;
}
return 0;
}
BOOL FsIsEndOfFile(PFILE FileHandle)
{
if (FsGetFilePointer(FileHandle) >= FsGetFileSize(FileHandle))
{
return TRUE;
}
else
{
return FALSE;
}
}
/*
* FsGetNumPathParts()
* This function parses a path in the form of dir1\dir2\file1.ext
* and returns the number of parts it has (i.e. 3 - dir1,dir2,file1.ext)
*/
U32 FsGetNumPathParts(PUCHAR Path)
{
U32 i;
U32 num;
for (i=0,num=0; i<(int)strlen(Path); i++)
{
if ((Path[i] == '\\') || (Path[i] == '/'))
{
num++;
}
}
num++;
DbgPrint((DPRINT_FILESYSTEM, "FatGetNumPathParts() Path = %s NumPathParts = %d\n", Path, num));
return num;
}
/*
* FsGetFirstNameFromPath()
* This function parses a path in the form of dir1\dir2\file1.ext
* and puts the first name of the path (e.g. "dir1") in buffer
* compatible with the MSDOS directory structure
*/
VOID FsGetFirstNameFromPath(PUCHAR Buffer, PUCHAR Path)
{
U32 i;
// Copy all the characters up to the end of the
// string or until we hit a '\' character
// and put them in Buffer
for (i=0; i<(int)strlen(Path); i++)
{
if ((Path[i] == '\\') || (Path[i] == '/'))
{
break;
}
else
{
Buffer[i] = Path[i];
}
}
Buffer[i] = 0;
DbgPrint((DPRINT_FILESYSTEM, "FatGetFirstNameFromPath() Path = %s FirstName = %s\n", Path, Buffer));
}

View File

@@ -1,116 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <fs.h>
#include "fsrec.h"
#include "fat.h"
#include "iso.h"
#include "ext2.h"
#include <disk.h>
#include <rtl.h>
#include <arch.h>
#include <debug.h>
/////////////////////////////////////////////////////////////////////////////////////////////
// FUNCTIONS
/////////////////////////////////////////////////////////////////////////////////////////////
/*
*
* BOOL FsRecognizeVolume(U32 DriveNumber, U32 VolumeStartSector, U8* VolumeType);
*
*/
BOOL FsRecognizeVolume(U32 DriveNumber, U32 VolumeStartSector, U8* VolumeType)
{
DbgPrint((DPRINT_FILESYSTEM, "FsRecognizeVolume() DriveNumber: 0x%x VolumeStartSector: %d\n", DriveNumber, VolumeStartSector));
if (FsRecIsExt2(DriveNumber, VolumeStartSector))
{
*VolumeType = PARTITION_EXT2;
return TRUE;
}
else if (FsRecIsFat(DriveNumber, VolumeStartSector))
{
*VolumeType = PARTITION_FAT32;
return TRUE;
}
return FALSE;
}
BOOL FsRecIsIso9660(U32 DriveNumber)
{
PUCHAR Sector = (PUCHAR)DISKREADBUFFER;
if (!DiskReadLogicalSectors(DriveNumber, 16, 1, Sector))
{
FileSystemError("Failed to read the PVD.");
return FALSE;
}
return (Sector[0] == 1 &&
Sector[1] == 'C' &&
Sector[2] == 'D' &&
Sector[3] == '0' &&
Sector[4] == '0' &&
Sector[5] == '1');
}
BOOL FsRecIsExt2(U32 DriveNumber, U32 VolumeStartSector)
{
PEXT2_SUPER_BLOCK SuperBlock = (PEXT2_SUPER_BLOCK)DISKREADBUFFER;
if (!DiskReadLogicalSectors(DriveNumber, VolumeStartSector + 2, 2, SuperBlock))
{
FileSystemError("Failed to read the super block.");
return FALSE;
}
if (SuperBlock->s_magic == EXT3_SUPER_MAGIC)
{
return TRUE;
}
return FALSE;
}
BOOL FsRecIsFat(U32 DriveNumber, U32 VolumeStartSector)
{
PFAT_BOOTSECTOR BootSector = (PFAT_BOOTSECTOR)DISKREADBUFFER;
PFAT32_BOOTSECTOR BootSector32 = (PFAT32_BOOTSECTOR)DISKREADBUFFER;
if (!DiskReadLogicalSectors(DriveNumber, VolumeStartSector, 1, BootSector))
{
FileSystemError("Failed to read the boot sector.");
return FALSE;
}
if (strncmp(BootSector->FileSystemType, "FAT12 ", 8) == 0 ||
strncmp(BootSector->FileSystemType, "FAT16 ", 8) == 0 ||
strncmp(BootSector32->FileSystemType, "FAT32 ", 8) == 0)
{
return TRUE;
}
return FALSE;
}

View File

@@ -1,28 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __FSREC_H
#define __FSREC_H
BOOL FsRecognizeVolume(U32 DriveNumber, U32 VolumeStartSector, U8* VolumeType);
BOOL FsRecIsIso9660(U32 DriveNumber);
BOOL FsRecIsExt2(U32 DriveNumber, U32 VolumeStartSector);
BOOL FsRecIsFat(U32 DriveNumber, U32 VolumeStartSector);
#endif // #defined __FSREC_H

View File

@@ -1,115 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __ISO_H
#define __ISO_H
struct _DIR_RECORD
{
UCHAR RecordLength; // 1
UCHAR ExtAttrRecordLength; // 2
U32 ExtentLocationL; // 3-6
U32 ExtentLocationM; // 7-10
U32 DataLengthL; // 11-14
U32 DataLengthM; // 15-18
UCHAR Year; // 19
UCHAR Month; // 20
UCHAR Day; // 21
UCHAR Hour; // 22
UCHAR Minute; // 23
UCHAR Second; // 24
UCHAR TimeZone; // 25
UCHAR FileFlags; // 26
UCHAR FileUnitSize; // 27
UCHAR InterleaveGapSize; // 28
U32 VolumeSequenceNumber; // 29-32
UCHAR FileIdLength; // 33
UCHAR FileId[1]; // 34
} __attribute__((packed));
typedef struct _DIR_RECORD DIR_RECORD, *PDIR_RECORD;
/* Volume Descriptor header*/
struct _VD_HEADER
{
UCHAR VdType; // 1
UCHAR StandardId[5]; // 2-6
UCHAR VdVersion; // 7
} __attribute__((packed));
typedef struct _VD_HEADER VD_HEADER, *PVD_HEADER;
/* Primary Volume Descriptor */
struct _PVD
{
UCHAR VdType; // 1
UCHAR StandardId[5]; // 2-6
UCHAR VdVersion; // 7
UCHAR unused0; // 8
UCHAR SystemId[32]; // 9-40
UCHAR VolumeId[32]; // 41-72
UCHAR unused1[8]; // 73-80
U32 VolumeSpaceSizeL; // 81-84
U32 VolumeSpaceSizeM; // 85-88
UCHAR unused2[32]; // 89-120
U32 VolumeSetSize; // 121-124
U32 VolumeSequenceNumber; // 125-128
U32 LogicalBlockSize; // 129-132
U32 PathTableSizeL; // 133-136
U32 PathTableSizeM; // 137-140
U32 LPathTablePos; // 141-144
U32 LOptPathTablePos; // 145-148
U32 MPathTablePos; // 149-152
U32 MOptPathTablePos; // 153-156
DIR_RECORD RootDirRecord; // 157-190
UCHAR VolumeSetIdentifier[128]; // 191-318
UCHAR PublisherIdentifier[128]; // 319-446
/* more data ... */
} __attribute__((packed));
typedef struct _PVD PVD, *PPVD;
typedef struct
{
U32 FileStart; // File start sector
U32 FileSize; // File size
U32 FilePointer; // File pointer
BOOL Directory;
U32 DriveNumber;
} ISO_FILE_INFO, * PISO_FILE_INFO;
BOOL IsoOpenVolume(U32 DriveNumber);
FILE* IsoOpenFile(PUCHAR FileName);
BOOL IsoReadFile(FILE *FileHandle, U32 BytesToRead, U32* BytesRead, PVOID Buffer);
U32 IsoGetFileSize(FILE *FileHandle);
VOID IsoSetFilePointer(FILE *FileHandle, U32 NewFilePointer);
U32 IsoGetFilePointer(FILE *FileHandle);
#endif // #defined __FAT_H

View File

@@ -1,84 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __DEBUG_H
#define __DEBUG_H
#ifdef DEBUG
#define DPRINT_NONE 0x00000000 // No debug print
#define DPRINT_WARNING 0x00000001 // OR this with DebugPrintMask to enable debugger messages and other misc stuff
#define DPRINT_MEMORY 0x00000002 // OR this with DebugPrintMask to enable memory management messages
#define DPRINT_FILESYSTEM 0x00000004 // OR this with DebugPrintMask to enable file system messages
#define DPRINT_INIFILE 0x00000008 // OR this with DebugPrintMask to enable .ini file messages
#define DPRINT_UI 0x00000010 // OR this with DebugPrintMask to enable user interface messages
#define DPRINT_DISK 0x00000020 // OR this with DebugPrintMask to enable disk messages
#define DPRINT_CACHE 0x00000040 // OR this with DebugPrintMask to enable cache messages
#define DPRINT_REGISTRY 0x00000080 // OR this with DebugPrintMask to enable registry messages
#define DPRINT_REACTOS 0x00000100 // OR this with DebugPrintMask to enable ReactOS messages
#define DPRINT_LINUX 0x00000200 // OR this with DebugPrintMask to enable Linux messages
#define DPRINT_HWDETECT 0x00000400 // OR this with DebugPrintMask to enable hardware detection messages
VOID DebugInit(VOID);
VOID DebugPrint(U32 Mask, char *format, ...);
VOID DebugDumpBuffer(U32 Mask, PVOID Buffer, U32 Length);
#define DbgPrint(_x_) DebugPrint _x_ ;
#define BugCheck(_x_) { DebugPrint(DPRINT_WARNING, "Fatal Error: %s:%d(%s)\n", __FILE__, __LINE__, __FUNCTION__); DebugPrint _x_ ; for (;;); }
#define DbgDumpBuffer(_x_, _y_, _z_) DebugDumpBuffer(_x_, _y_, _z_)
#ifdef __i386__
// Debugging support functions:
//
// BREAKPOINT() - Inserts an "int 3" instruction
// INSTRUCTION_BREAKPOINTX(x) - Enters exception handler right before instruction at address "x" is executed
// MEMORY_READWRITE_BREAKPOINTX(x) - Enters exception handler when a read or write occurs at address "x"
// MEMORY_WRITE_BREAKPOINTX(x) - Enters exception handler when a write occurs at address "x"
//
// You may have as many BREAKPOINT()'s as you like but you may only
// have up to four of any of the others.
#define BREAKPOINT() __asm__ ("int $3");
void INSTRUCTION_BREAKPOINT1(unsigned long addr);
void MEMORY_READWRITE_BREAKPOINT1(unsigned long addr);
void MEMORY_WRITE_BREAKPOINT1(unsigned long addr);
void INSTRUCTION_BREAKPOINT2(unsigned long addr);
void MEMORY_READWRITE_BREAKPOINT2(unsigned long addr);
void MEMORY_WRITE_BREAKPOINT2(unsigned long addr);
void INSTRUCTION_BREAKPOINT3(unsigned long addr);
void MEMORY_READWRITE_BREAKPOINT3(unsigned long addr);
void MEMORY_WRITE_BREAKPOINT3(unsigned long addr);
void INSTRUCTION_BREAKPOINT4(unsigned long addr);
void MEMORY_READWRITE_BREAKPOINT4(unsigned long addr);
void MEMORY_WRITE_BREAKPOINT4(unsigned long addr);
#endif // defined __i386__
#else
#define DbgPrint(_x_)
#define BugCheck(_x_)
#define DbgDumpBuffer(_x_, _y_, _z_)
#endif // defined DEBUG
#define UNIMPLEMENTED() BugCheck((DPRINT_WARNING, "This function is unimplemented!\n"))
#endif // defined __DEBUG_H

View File

@@ -1,146 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __DISK_H
#define __DISK_H
typedef struct _GEOMETRY
{
U32 Cylinders; // Number of cylinders on the disk
U32 Heads; // Number of heads on the disk
U32 Sectors; // Number of sectors per track
U32 BytesPerSector; // Number of bytes per sector
} GEOMETRY, *PGEOMETRY;
//
// Extended disk geometry (Int13 / ah=48h)
//
typedef struct _EXTENDED_GEOMETRY
{
U16 Size;
U16 Flags;
U32 Cylinders;
U32 Heads;
U32 SectorsPerTrack;
U64 Sectors;
U16 BytesPerSector;
U32 PDPTE;
} __attribute__((packed)) EXTENDED_GEOMETRY, *PEXTENDED_GEOMETRY;
//
// Define the structure of a partition table entry
//
typedef struct _PARTITION_TABLE_ENTRY
{
U8 BootIndicator; // 0x00 - non-bootable partition, 0x80 - bootable partition (one partition only)
U8 StartHead; // Beginning head number
U8 StartSector; // Beginning sector (2 high bits of cylinder #)
U8 StartCylinder; // Beginning cylinder# (low order bits of cylinder #)
U8 SystemIndicator; // System indicator
U8 EndHead; // Ending head number
U8 EndSector; // Ending sector (2 high bits of cylinder #)
U8 EndCylinder; // Ending cylinder# (low order bits of cylinder #)
U32 SectorCountBeforePartition; // Number of sectors preceding the partition
U32 PartitionSectorCount; // Number of sectors in the partition
} PACKED PARTITION_TABLE_ENTRY, *PPARTITION_TABLE_ENTRY;
//
// Define the structure of the master boot record
//
typedef struct _MASTER_BOOT_RECORD
{
U8 MasterBootRecordCodeAndData[0x1b8]; /* 0x000 */
U32 Signature; /* 0x1B8 */
U16 Reserved; /* 0x1BC */
PARTITION_TABLE_ENTRY PartitionTable[4]; /* 0x1BE */
U16 MasterBootRecordMagic; /* 0x1FE */
} PACKED MASTER_BOOT_RECORD, *PMASTER_BOOT_RECORD;
//
// Partition type defines
//
#define PARTITION_ENTRY_UNUSED 0x00 // Entry unused
#define PARTITION_FAT_12 0x01 // 12-bit FAT entries
#define PARTITION_XENIX_1 0x02 // Xenix
#define PARTITION_XENIX_2 0x03 // Xenix
#define PARTITION_FAT_16 0x04 // 16-bit FAT entries
#define PARTITION_EXTENDED 0x05 // Extended partition entry
#define PARTITION_HUGE 0x06 // Huge partition MS-DOS V4
#define PARTITION_IFS 0x07 // IFS Partition
#define PARTITION_OS2BOOTMGR 0x0A // OS/2 Boot Manager/OPUS/Coherent swap
#define PARTITION_FAT32 0x0B // FAT32
#define PARTITION_FAT32_XINT13 0x0C // FAT32 using extended int13 services
#define PARTITION_XINT13 0x0E // Win95 partition using extended int13 services
#define PARTITION_XINT13_EXTENDED 0x0F // Same as type 5 but uses extended int13 services
#define PARTITION_PREP 0x41 // PowerPC Reference Platform (PReP) Boot Partition
#define PARTITION_LDM 0x42 // Logical Disk Manager partition
#define PARTITION_UNIX 0x63 // Unix
#define PARTITION_LINUX_SWAP 0x82 // Linux Swap Partition
#define PARTITION_EXT2 0x83 // Linux Ext2/Ext3
///////////////////////////////////////////////////////////////////////////////////////
//
// i386 BIOS Disk Functions (i386disk.c)
//
///////////////////////////////////////////////////////////////////////////////////////
#ifdef __i386__
//BOOL DiskReadLogicalSectors(U32 DriveNumber, U64 SectorNumber, U32 SectorCount, PVOID Buffer);
BOOL DiskReadLogicalSectorsLBA(U32 DriveNumber, U64 SectorNumber, U32 SectorCount, PVOID Buffer);
BOOL DiskReadLogicalSectorsCHS(U32 DriveNumber, U64 SectorNumber, U32 SectorCount, PVOID Buffer);
BOOL DiskResetController(U32 DriveNumber);
BOOL DiskInt13ExtensionsSupported(U32 DriveNumber);
//VOID DiskStopFloppyMotor(VOID);
BOOL DiskGetDriveParameters(U32 DriveNumber, PGEOMETRY Geometry);
BOOL DiskGetExtendedDriveParameters(U32 DriveNumber, PVOID Buffer, U16 BufferSize);
//U32 DiskGetCacheableBlockCount(U32 DriveNumber);
#endif // defined __i386__
///////////////////////////////////////////////////////////////////////////////////////
//
// FreeLoader Disk Functions
//
///////////////////////////////////////////////////////////////////////////////////////
VOID DiskReportError (BOOL bError);
VOID DiskError(PUCHAR ErrorString, U32 ErrorCode);
PUCHAR DiskGetErrorCodeString(U32 ErrorCode);
BOOL DiskGetDriveGeometry(U32 DriveNumber, PGEOMETRY DriveGeometry);
BOOL DiskReadLogicalSectors(U32 DriveNumber, U64 SectorNumber, U32 SectorCount, PVOID Buffer); // Implemented in i386disk.c
BOOL DiskIsDriveRemovable(U32 DriveNumber);
VOID DiskStopFloppyMotor(VOID); // Implemented in i386disk.c
U32 DiskGetCacheableBlockCount(U32 DriveNumber); // Implemented in i386disk.c
///////////////////////////////////////////////////////////////////////////////////////
//
// Fixed Disk Partition Management Functions
//
///////////////////////////////////////////////////////////////////////////////////////
BOOL DiskGetActivePartitionEntry(U32 DriveNumber, PPARTITION_TABLE_ENTRY PartitionTableEntry);
BOOL DiskGetPartitionEntry(U32 DriveNumber, U32 PartitionNumber, PPARTITION_TABLE_ENTRY PartitionTableEntry);
BOOL DiskGetFirstPartitionEntry(PMASTER_BOOT_RECORD MasterBootRecord, PPARTITION_TABLE_ENTRY PartitionTableEntry);
BOOL DiskGetFirstExtendedPartitionEntry(PMASTER_BOOT_RECORD MasterBootRecord, PPARTITION_TABLE_ENTRY PartitionTableEntry);
BOOL DiskReadBootRecord(U32 DriveNumber, U64 LogicalSectorNumber, PMASTER_BOOT_RECORD BootRecord);
#endif // defined __DISK_H

View File

@@ -1,81 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __FREELDR_H
#define __FREELDR_H
#define NULL 0
#define TRUE 1
#define FALSE 0
#define BOOL int
#define BOOLEAN int
typedef BOOLEAN *PBOOLEAN;
#define CHAR char
#define PCHAR char *
#define UCHAR unsigned char
#define PUCHAR unsigned char *
#define WCHAR unsigned short
#define PWCHAR unsigned short *
#define VOID void
#define PVOID VOID*
#ifdef __i386__
#define size_t unsigned int
typedef unsigned char U8;
typedef char S8;
typedef unsigned short U16;
typedef short S16;
typedef unsigned long U32;
typedef long S32;
typedef unsigned long long U64;
typedef long long S64;
typedef U8 __u8;
typedef S8 __s8;
typedef U16 __u16;
typedef S16 __s16;
typedef U32 __u32;
typedef S32 __s32;
typedef U64 __u64;
typedef S64 __s64;
#endif // __i386__
typedef U8 *PU8;
typedef U16 *PU16;
typedef U32 *PU32;
#define ROUND_UP(N, S) ((N) + (S) - ((N) % (S)))
#define ROUND_DOWN(N, S) ((N) - ((N) % (S)))
#define PACKED __attribute__((packed))
extern U32 BootDrive; // BIOS boot drive, 0-A:, 1-B:, 0x80-C:, 0x81-D:, etc.
extern U32 BootPartition; // Boot Partition, 1-4
extern BOOL UserInterfaceUp; // Tells us if the user interface is displayed
void BootMain(void);
VOID RunLoader(VOID);
#endif // defined __FREELDR_H

View File

@@ -1,47 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __FS_H
#define __FS_H
#define EOF -1
#define FS_FAT 1
#define FS_NTFS 2
#define FS_EXT2 3
#define FS_REISER 4
#define FS_ISO9660 5
#define FILE VOID
#define PFILE FILE *
VOID FileSystemError(PUCHAR ErrorString);
BOOL FsOpenVolume(U32 DriveNumber, U32 PartitionNumber);
PFILE FsOpenFile(PUCHAR FileName);
VOID FsCloseFile(PFILE FileHandle);
BOOL FsReadFile(PFILE FileHandle, U32 BytesToRead, U32* BytesRead, PVOID Buffer);
U32 FsGetFileSize(PFILE FileHandle);
VOID FsSetFilePointer(PFILE FileHandle, U32 NewFilePointer);
U32 FsGetFilePointer(PFILE FileHandle);
BOOL FsIsEndOfFile(PFILE FileHandle);
U32 FsGetNumPathParts(PUCHAR Path);
VOID FsGetFirstNameFromPath(PUCHAR Buffer, PUCHAR Path);
#endif // #defined __FS_H

View File

@@ -1,35 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __PARSEINI_H
#define __PARSEINI_H
BOOL IniFileInitialize(VOID);
BOOL IniOpenSection(PUCHAR SectionName, U32* SectionId);
U32 IniGetNumSectionItems(U32 SectionId);
U32 IniGetSectionSettingNameSize(U32 SectionId, U32 SettingIndex);
U32 IniGetSectionSettingValueSize(U32 SectionId, U32 SettingIndex);
BOOL IniReadSettingByNumber(U32 SectionId, U32 SettingNumber, PUCHAR SettingName, U32 NameSize, PUCHAR SettingValue, U32 ValueSize);
BOOL IniReadSettingByName(U32 SectionId, PUCHAR SettingName, PUCHAR Buffer, U32 BufferSize);
BOOL IniAddSection(PUCHAR SectionName, U32* SectionId);
BOOL IniAddSettingValueToSection(U32 SectionId, PUCHAR SettingName, PUCHAR SettingValue);
#endif // defined __PARSEINI_H

View File

@@ -1,139 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <fs.h>
#ifndef __LINUX_H
#define __LINUX_H
#define LINUX_LOADER_TYPE_LILO 0x01
#define LINUX_LOADER_TYPE_LOADLIN 0x11
#define LINUX_LOADER_TYPE_BOOTSECT 0x21
#define LINUX_LOADER_TYPE_SYSLINUX 0x31
#define LINUX_LOADER_TYPE_ETHERBOOT 0x41
#define LINUX_LOADER_TYPE_FREELOADER 0x81
#define LINUX_COMMAND_LINE_MAGIC 0xA33F
#define LINUX_SETUP_HEADER_ID 0x53726448 // 'HdrS'
#define LINUX_BOOT_SECTOR_MAGIC 0xAA55
#define LINUX_KERNEL_LOAD_ADDRESS 0x100000
#define LINUX_FLAG_LOAD_HIGH 0x01
#define LINUX_FLAG_CAN_USE_HEAP 0x80
#define LINUX_MAX_INITRD_ADDRESS 0x38000000
typedef struct
{
U8 BootCode1[0x20];
U16 CommandLineMagic;
U16 CommandLineOffset;
U8 BootCode2[0x1CD];
U8 SetupSectors;
U16 RootFlags;
U16 SystemSize;
U16 SwapDevice;
U16 RamSize;
U16 VideoMode;
U16 RootDevice;
U16 BootFlag; // 0xAA55
} PACKED LINUX_BOOTSECTOR, *PLINUX_BOOTSECTOR;
typedef struct
{
U8 JumpInstruction[2];
U32 SetupHeaderSignature; // Signature for SETUP-header
U16 Version; // Version number of header format
U16 RealModeSwitch; // Default switch
U16 SetupSeg; // SETUPSEG
U16 StartSystemSeg;
U16 KernelVersion; // Offset to kernel version string
U8 TypeOfLoader; // Loader ID
// =0, old one (LILO, Loadlin,
// Bootlin, SYSLX, bootsect...)
// else it is set by the loader:
// 0xTV: T=0 for LILO
// T=1 for Loadlin
// T=2 for bootsect-loader
// T=3 for SYSLX
// T=4 for ETHERBOOT
// V = version
U8 LoadFlags; // flags, unused bits must be zero (RFU)
// LOADED_HIGH = 1
// bit within loadflags,
// if set, then the kernel is loaded high
// CAN_USE_HEAP = 0x80
// if set, the loader also has set heap_end_ptr
// to tell how much space behind setup.S
// can be used for heap purposes.
// Only the loader knows what is free!
U16 SetupMoveSize; // size to move, when we (setup) are not
// loaded at 0x90000. We will move ourselves
// to 0x90000 then just before jumping into
// the kernel. However, only the loader
// know how much of data behind us also needs
// to be loaded.
U32 Code32Start; // here loaders can put a different
// start address for 32-bit code.
//
// 0x1000 = default for zImage
//
// 0x100000 = default for big kernel
U32 RamdiskAddress; // address of loaded ramdisk image
// Here the loader (or kernel generator) puts
// the 32-bit address were it loaded the image.
U32 RamdiskSize; // its size in bytes
U16 BootSectKludgeOffset;
U16 BootSectKludgeSegment;
U16 HeapEnd; // space from here (exclusive) down to
// end of setup code can be used by setup
// for local heap purposes.
U16 Pad1;
U32 CommandLinePointer; // 32-bit pointer to the kernel command line
U32 InitrdAddressMax; // Highest legal initrd address
} PACKED LINUX_SETUPSECTOR, *PLINUX_SETUPSECTOR;
VOID BootNewLinuxKernel(VOID); // Implemented in linux.S
VOID BootOldLinuxKernel(U32 KernelSize); // Implemented in linux.S
VOID LoadAndBootLinux(PUCHAR OperatingSystemName, PUCHAR Description);
BOOL LinuxParseIniSection(PUCHAR OperatingSystemName);
BOOL LinuxReadBootSector(PFILE LinuxKernelFile);
BOOL LinuxReadSetupSector(PFILE LinuxKernelFile);
BOOL LinuxReadKernel(PFILE LinuxKernelFile);
BOOL LinuxCheckKernelVersion(VOID);
BOOL LinuxReadInitrd(PFILE LinuxInitrdFile);
#endif // defined __LINUX_H

View File

@@ -1,58 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __MEMORY_H
#define __MEMORY_H
#define MEMTYPE_USABLE 0x01
#define MEMTYPE_RESERVED 0x02
#define MEMTYPE_ACPI_RECLAIM 0x03
#define MEMTYPE_ACPI_NVS 0x04
typedef struct
{
U64 BaseAddress;
U64 Length;
U32 Type;
U32 Reserved;
} PACKED BIOS_MEMORY_MAP, *PBIOS_MEMORY_MAP;
U32 GetSystemMemorySize(VOID); // Returns the amount of total memory in the system
// These functions are implemented in mem.S
U32 GetExtendedMemorySize(VOID); // Returns extended memory size in KB
U32 GetConventionalMemorySize(VOID); // Returns conventional memory size in KB
U32 GetBiosMemoryMap(PBIOS_MEMORY_MAP BiosMemoryMap, U32 MaxMemoryMapSize); // Fills structure with BIOS memory map and returns memory map item count
//BOOL MmInitializeMemoryManager(U32 LowMemoryStart, U32 LowMemoryLength);
BOOL MmInitializeMemoryManager(VOID);
PVOID MmAllocateMemory(U32 MemorySize);
VOID MmFreeMemory(PVOID MemoryPointer);
//PVOID MmAllocateLowMemory(U32 MemorySize);
//VOID MmFreeLowMemory(PVOID MemoryPointer);
PVOID MmAllocateMemoryAtAddress(U32 MemorySize, PVOID DesiredAddress);
PVOID MmAllocateHighestMemoryBelowAddress(U32 MemorySize, PVOID DesiredAddress);
#endif // defined __MEMORY_H

View File

@@ -1,164 +0,0 @@
/* multiboot.h - the header for Multiboot */
/* Copyright (C) 1999 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef __MULTIBOOT_H
#define __MULTIBOOT_H
/* Macros. */
/* The magic number for the Multiboot header. */
#define MULTIBOOT_HEADER_MAGIC 0x1BADB002
/* The flags for the Multiboot header. */
#define MULTIBOOT_HEADER_FLAGS 0x00010003
/* The magic number passed by a Multiboot-compliant boot loader. */
#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002
/* The size of our stack (16KB). */
#define STACK_SIZE 0x4000
/* C symbol format. HAVE_ASM_USCORE is defined by configure. */
#ifdef HAVE_ASM_USCORE
# define EXT_C(sym) _ ## sym
#else
# define EXT_C(sym) sym
#endif
#define MB_INFO_FLAG_MEM_SIZE 0x00000001
#define MB_INFO_FLAG_BOOT_DEVICE 0x00000002
#define MB_INFO_FLAG_COMMAND_LINE 0x00000004
#define MB_INFO_FLAG_MODULES 0x00000008
#define MB_INFO_FLAG_AOUT_SYMS 0x00000010
#define MB_INFO_FLAG_ELF_SYMS 0x00000020
#define MB_INFO_FLAG_MEMORY_MAP 0x00000040
#define MB_INFO_FLAG_DRIVES 0x00000080
#define MB_INFO_FLAG_CONFIG_TABLE 0x00000100
#define MB_INFO_FLAG_BOOT_LOADER_NAME 0x00000200
#define MB_INFO_FLAG_APM_TABLE 0x00000400
#define MB_INFO_FLAG_GRAPHICS_TABLE 0x00000800
#ifndef ASM
/* Do not include here in boot.S. */
/* Types. */
/* The Multiboot header. */
typedef struct multiboot_header
{
unsigned long magic;
unsigned long flags;
unsigned long checksum;
unsigned long header_addr;
unsigned long load_addr;
unsigned long load_end_addr;
unsigned long bss_end_addr;
unsigned long entry_addr;
} multiboot_header_t;
/* The symbol table for a.out. */
typedef struct aout_symbol_table
{
unsigned long tabsize;
unsigned long strsize;
unsigned long addr;
unsigned long reserved;
} aout_symbol_table_t;
/* The section header table for ELF. */
typedef struct elf_section_header_table
{
unsigned long num;
unsigned long size;
unsigned long addr;
unsigned long shndx;
} elf_section_header_table_t;
/* The Multiboot information. */
typedef struct multiboot_info
{
unsigned long flags;
unsigned long mem_lower;
unsigned long mem_upper;
unsigned long boot_device;
unsigned long cmdline;
unsigned long mods_count;
unsigned long mods_addr;
#if 0
/* reactos and loadros define this entry with a size of 12 byte but the union is 16 byte */
union
{
aout_symbol_table_t aout_sym;
elf_section_header_table_t elf_sec;
} u;
#else
char syms[12];
#endif
unsigned long mmap_length;
unsigned long mmap_addr;
} multiboot_info_t;
/* The module structure. */
typedef struct module
{
unsigned long mod_start;
unsigned long mod_end;
unsigned long string;
unsigned long reserved;
} module_t;
/* The memory map. Be careful that the offset 0 is base_addr_low
but no size. */
typedef struct memory_map
{
//unsigned long size;
unsigned long base_addr_low;
unsigned long base_addr_high;
unsigned long length_low;
unsigned long length_high;
unsigned long type;
unsigned long reserved;
} memory_map_t;
multiboot_header_t mb_header; // Multiboot header structure defined in kernel image file
multiboot_info_t mb_info; // Multiboot info structure passed to kernel
char multiboot_kernel_cmdline[255]; // Command line passed to kernel
module_t multiboot_modules[64]; // Array to hold boot module info loaded for the kernel
char multiboot_module_strings[64][256]; // Array to hold module names
unsigned long multiboot_memory_map_descriptor_size;
memory_map_t multiboot_memory_map[32]; // Memory map
void boot_reactos(void);
#include "fs.h" // Included FILE structure definition
BOOL MultiBootLoadKernel(FILE *KernelImage);
//BOOL MultiBootLoadModule(FILE *ModuleImage, char *ModuleName);
PVOID MultiBootLoadModule(FILE *ModuleImage, char *ModuleName, U32* ModuleSize);
int GetBootPartition(char *OperatingSystemName);
PVOID MultiBootCreateModule(char *ModuleName);
BOOL MultiBootCloseModule(PVOID ModuleBase, U32 dwModuleSize);
#endif /* ! ASM */
#endif // defined __MULTIBOOT_H

View File

@@ -1,78 +0,0 @@
/*
* FreeLoader
* Copyright (C) 2001 Brian Palmer <brianp@sginet.com>
* Copyright (C) 2001 Eric Kohl
* Copyright (C) 2001 Emanuele Aliberti
*
* 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.
*/
#ifndef __PORTIO_H
#define __PORTIO_H
/*
* Port I/O functions
*/
VOID
/*STDCALL*/
READ_PORT_BUFFER_UCHAR (PUCHAR Port, PUCHAR Value, U32 Count);
VOID
/*STDCALL*/
READ_PORT_BUFFER_ULONG (U32* Port, U32* Value, U32 Count);
VOID
/*STDCALL*/
READ_PORT_BUFFER_USHORT (U16* Port, U16* Value, U32 Count);
UCHAR
/*STDCALL*/
READ_PORT_UCHAR (PUCHAR Port);
U32
/*STDCALL*/
READ_PORT_ULONG (U32* Port);
U16
/*STDCALL*/
READ_PORT_USHORT (U16* Port);
VOID
/*STDCALL*/
WRITE_PORT_BUFFER_UCHAR (PUCHAR Port, PUCHAR Value, U32 Count);
VOID
/*STDCALL*/
WRITE_PORT_BUFFER_ULONG (U32* Port, U32* Value, U32 Count);
VOID
/*STDCALL*/
WRITE_PORT_BUFFER_USHORT (U16* Port, U16* Value, U32 Count);
VOID
/*STDCALL*/
WRITE_PORT_UCHAR (PUCHAR Port, UCHAR Value);
VOID
/*STDCALL*/
WRITE_PORT_ULONG (U32* Port, U32 Value);
VOID
/*STDCALL*/
WRITE_PORT_USHORT (U16* Port, U16 Value);
#endif // defined __PORTIO_H

View File

@@ -1,95 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __UI_H
#define __UI_H
extern U32 UiScreenWidth; // Screen Width
extern U32 UiScreenHeight; // Screen Height
extern UCHAR UiStatusBarFgColor; // Status bar foreground color
extern UCHAR UiStatusBarBgColor; // Status bar background color
extern UCHAR UiBackdropFgColor; // Backdrop foreground color
extern UCHAR UiBackdropBgColor; // Backdrop background color
extern UCHAR UiBackdropFillStyle; // Backdrop fill style
extern UCHAR UiTitleBoxFgColor; // Title box foreground color
extern UCHAR UiTitleBoxBgColor; // Title box background color
extern UCHAR UiMessageBoxFgColor; // Message box foreground color
extern UCHAR UiMessageBoxBgColor; // Message box background color
extern UCHAR UiMenuFgColor; // Menu foreground color
extern UCHAR UiMenuBgColor; // Menu background color
extern UCHAR UiTextColor; // Normal text color
extern UCHAR UiSelectedTextColor; // Selected text color
extern UCHAR UiSelectedTextBgColor; // Selected text background color
extern UCHAR UiEditBoxTextColor; // Edit box text color
extern UCHAR UiEditBoxBgColor; // Edit box text background color
extern UCHAR UiTitleBoxTitleText[260]; // Title box's title text
extern BOOL UserInterfaceUp; // Tells us if the user interface is displayed
extern BOOL UiUseSpecialEffects; // Tells us if we should use fade effects
extern UCHAR UiMonthNames[12][15];
///////////////////////////////////////////////////////////////////////////////////////
//
// User Interface Functions
//
///////////////////////////////////////////////////////////////////////////////////////
BOOL UiInitialize(VOID); // Initialize User-Interface
VOID UiUnInitialize(PUCHAR BootText); // Un-initialize User-Interface
VOID UiDrawBackdrop(VOID); // Fills the entire screen with a backdrop
VOID UiFillArea(U32 Left, U32 Top, U32 Right, U32 Bottom, UCHAR FillChar, UCHAR Attr /* Color Attributes */); // Fills the area specified with FillChar and Attr
VOID UiDrawShadow(U32 Left, U32 Top, U32 Right, U32 Bottom); // Draws a shadow on the bottom and right sides of the area specified
VOID UiDrawBox(U32 Left, U32 Top, U32 Right, U32 Bottom, UCHAR VertStyle, UCHAR HorzStyle, BOOL Fill, BOOL Shadow, UCHAR Attr); // Draws a box around the area specified
VOID UiDrawText(U32 X, U32 Y, PUCHAR Text, UCHAR Attr); // Draws text at coordinates specified
VOID UiDrawCenteredText(U32 Left, U32 Top, U32 Right, U32 Bottom, PUCHAR TextString, UCHAR Attr); // Draws centered text at the coordinates specified and clips the edges
VOID UiDrawStatusText(PUCHAR StatusText); // Draws text at the very bottom line on the screen
VOID UiUpdateDateTime(VOID); // Updates the date and time
VOID UiInfoBox(PUCHAR MessageText); // Displays a info box on the screen
VOID UiMessageBox(PUCHAR MessageText); // Displays a message box on the screen with an ok button
VOID UiMessageBoxCritical(PUCHAR MessageText); // Displays a message box on the screen with an ok button using no system resources
VOID UiDrawProgressBarCenter(U32 Position, U32 Range, PUCHAR ProgressText); // Draws the progress bar showing nPos percent filled
VOID UiDrawProgressBar(U32 Left, U32 Top, U32 Right, U32 Bottom, U32 Position, U32 Range, PUCHAR ProgressText); // Draws the progress bar showing nPos percent filled
VOID UiShowMessageBoxesInSection(PUCHAR SectionName); // Displays all the message boxes in a given section
VOID UiEscapeString(PUCHAR String); // Processes a string and changes all occurances of "\n" to '\n'
BOOL UiEditBox(PUCHAR MessageText, PUCHAR EditTextBuffer, U32 Length);
UCHAR UiTextToColor(PUCHAR ColorText); // Converts the text color into it's equivalent color value
UCHAR UiTextToFillStyle(PUCHAR FillStyleText); // Converts the text fill into it's equivalent fill value
VOID UiTruncateStringEllipsis(PUCHAR StringText, U32 MaxChars); // Truncates a string to MaxChars by adding an ellipsis on the end '...'
VOID UiFadeInBackdrop(VOID); // Draws the backdrop and fades the screen in
VOID UiFadeOut(VOID); // Fades the screen out
///////////////////////////////////////////////////////////////////////////////////////
//
// Menu Functions
//
///////////////////////////////////////////////////////////////////////////////////////
typedef BOOL (*UiMenuKeyPressFilterCallback)(U32 KeyPress);
BOOL UiDisplayMenu(PUCHAR MenuItemList[], U32 MenuItemCount, U32 DefaultMenuItem, S32 MenuTimeOut, U32* SelectedMenuItem, BOOL CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter);
#endif // #defined __UI_H

View File

@@ -1,49 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __VERSION_H
#define __VERSION_H
/* just some stuff */
#define VERSION "FreeLoader v1.8.19"
#define COPYRIGHT "Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>"
#define AUTHOR_EMAIL "<brianp@sginet.com>"
#define BY_AUTHOR "by Brian Palmer"
// FreeLoader version defines
//
// NOTE:
// If you fix bugs then you increment the patch version
// If you add features then you increment the minor version and zero the patch version
// If you add major functionality then you increment the major version and zero the minor & patch versions
//
#define FREELOADER_MAJOR_VERSION 1
#define FREELOADER_MINOR_VERSION 8
#define FREELOADER_PATCH_VERSION 19
#ifndef ASM
PUCHAR GetFreeLoaderVersionString(VOID);
#endif // ASM
#endif // defined __VERSION_H

View File

@@ -1,197 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __VIDEO_H
#define __VIDEO_H
#define VIDEOCARD_CGA_OR_OTHER 0
#define VIDEOCARD_EGA 1
#define VIDEOCARD_VGA 2
#define VERTRES_200_SCANLINES 0x00
#define VERTRES_350_SCANLINES 0x01
#define VERTRES_400_SCANLINES 0x02
#define MODETYPE_TEXT 0
#define MODETYPE_GRAPHICS 1
#define VIDEOMODE_NORMAL_TEXT 0
#define VIDEOMODE_EXTENDED_TEXT 1
#define VIDEOMODE_80X28 0x501C
#define VIDEOMODE_80X30 0x501E
#define VIDEOMODE_80X34 0x5022
#define VIDEOMODE_80X43 0x502B
#define VIDEOMODE_80X60 0x503C
#define VIDEOMODE_132X25 0x8419
#define VIDEOMODE_132X43 0x842B
#define VIDEOMODE_132X50 0x8432
#define VIDEOMODE_132X60 0x843C
#define VIDEOPORT_PALETTE_READ 0x03C7
#define VIDEOPORT_PALETTE_WRITE 0x03C8
#define VIDEOPORT_PALETTE_DATA 0x03C9
#define VIDEOPORT_VERTICAL_RETRACE 0x03DA
#define VIDEOVGA_MEM_ADDRESS 0xA0000
#define VIDEOTEXT_MEM_ADDRESS 0xB8000
typedef struct
{
U8 Red;
U8 Green;
U8 Blue;
} PACKED PALETTE_ENTRY, *PPALETTE_ENTRY;
typedef struct
{
U16 ModeAttributes; // mode attributes (see #00080)
U8 WindowAttributesA; // window attributes, window A (see #00081)
U8 WindowsAttributesB; // window attributes, window B (see #00081)
U16 WindowGranularity; // window granularity in KB
U16 WindowSize; // window size in KB
U16 WindowAStartSegment; // start segment of window A (0000h if not supported)
U16 WindowBStartSegment; // start segment of window B (0000h if not supported)
U32 WindowPositioningFunction; // -> FAR window positioning function (equivalent to AX=4F05h)
U16 BytesPerScanLine; // bytes per scan line
//---remainder is optional for VESA modes in v1.0/1.1, needed for OEM modes---
U16 WidthInPixels; // width in pixels (graphics) or characters (text)
U16 HeightInPixels; // height in pixels (graphics) or characters (text)
U8 CharacterWidthInPixels; // width of character cell in pixels
U8 CharacterHeightInPixels; // height of character cell in pixels
U8 NumberOfMemoryPlanes; // number of memory planes
U8 BitsPerPixel; // number of bits per pixel
U8 NumberOfBanks; // number of banks
U8 MemoryModel; // memory model type (see #00082)
U8 BankSize; // size of bank in KB
U8 NumberOfImagePanes; // number of image pages (less one) that will fit in video RAM
U8 Reserved1; // reserved (00h for VBE 1.0-2.0, 01h for VBE 3.0)
//---VBE v1.2+ ---
U8 RedMaskSize; // red mask size
U8 RedMaskPosition; // red field position
U8 GreenMaskSize; // green mask size
U8 GreenMaskPosition; // green field size
U8 BlueMaskSize; // blue mask size
U8 BlueMaskPosition; // blue field size
U8 ReservedMaskSize; // reserved mask size
U8 ReservedMaskPosition; // reserved mask position
U8 DirectColorModeInfo; // direct color mode info
// bit 0:Color ramp is programmable
// bit 1:Bytes in reserved field may be used by application
//---VBE v2.0+ ---
U32 LinearVideoBufferAddress; // physical address of linear video buffer
U32 OffscreenMemoryPointer; // pointer to start of offscreen memory
U16 OffscreenMemorySize; // KB of offscreen memory
//---VBE v3.0 ---
U16 LinearBytesPerScanLine; // bytes per scan line in linear modes
U8 BankedNumberOfImages; // number of images (less one) for banked video modes
U8 LinearNumberOfImages; // number of images (less one) for linear video modes
U8 LinearRedMaskSize; // linear modes:Size of direct color red mask (in bits)
U8 LinearRedMaskPosition; // linear modes:Bit position of red mask LSB (e.g. shift count)
U8 LinearGreenMaskSize; // linear modes:Size of direct color green mask (in bits)
U8 LinearGreenMaskPosition; // linear modes:Bit position of green mask LSB (e.g. shift count)
U8 LinearBlueMaskSize; // linear modes:Size of direct color blue mask (in bits)
U8 LinearBlueMaskPosition; // linear modes:Bit position of blue mask LSB (e.g. shift count)
U8 LinearReservedMaskSize; // linear modes:Size of direct color reserved mask (in bits)
U8 LinearReservedMaskPosition; // linear modes:Bit position of reserved mask LSB
U32 MaximumPixelClock; // maximum pixel clock for graphics video mode, in Hz
U8 Reserved2[190]; // 190 BYTEs reserved (0)
} PACKED SVGA_MODE_INFORMATION, *PSVGA_MODE_INFORMATION;
extern U32 CurrentMemoryBank;
extern SVGA_MODE_INFORMATION VesaVideoModeInformation;
extern PVOID VideoOffScreenBuffer;
VOID BiosSetVideoMode(U32 VideoMode); // Implemented in i386vid.S
VOID BiosSetVideoFont8x8(VOID); // Implemented in i386vid.S
VOID BiosSetVideoFont8x14(VOID); // Implemented in i386vid.S
VOID BiosSetVideoFont8x16(VOID); // Implemented in i386vid.S
VOID BiosSelectAlternatePrintScreen(VOID); // Implemented in i386vid.S
VOID BiosDisableCursorEmulation(VOID); // Implemented in i386vid.S
VOID BiosDefineCursor(U32 StartScanLine, U32 EndScanLine); // Implemented in i386vid.S
U32 BiosDetectVideoCard(VOID); // Implemented in i386vid.S
VOID BiosSetVerticalResolution(U32 ScanLines); // Implemented in i386vid.S, must be called right before BiosSetVideoMode()
VOID BiosSet480ScanLines(VOID); // Implemented in i386vid.S, must be called right after BiosSetVideoMode()
VOID BiosSetVideoDisplayEnd(VOID); // Implemented in i386vid.S
VOID BiosVideoDisableBlinkBit(VOID); // Implemented in i386vid.S
VOID BiosVideoEnableBlinkBit(VOID); // Implemented in i386vid.S
U16 BiosIsVesaSupported(VOID); // Implemented in i386vid.S, returns the VESA version
BOOL BiosVesaSetBank(U16 Bank); // Implemented in i386vid.S
BOOL BiosVesaSetVideoMode(U16 Mode); // Implemented in i386vid.S
BOOL BiosVesaGetSVGAModeInformation(U16 Mode, PSVGA_MODE_INFORMATION ModeInformation); // Implemented in i386vid.S
VOID VideoSetTextCursorPosition(U32 X, U32 Y); // Implemented in i386vid.S
VOID VideoHideTextCursor(VOID); // Implemented in i386vid.S
VOID VideoShowTextCursor(VOID); // Implemented in i386vid.S
U32 VideoGetTextCursorPositionX(VOID); // Implemented in i386vid.S
U32 VideoGetTextCursorPositionY(VOID); // Implemented in i386vid.S
BOOL VideoSetMode(U32 VideoMode);
BOOL VideoSetMode80x25(VOID); // Sets 80x25
BOOL VideoSetMode80x50_80x43(VOID); // Sets 80x50 (VGA) or 80x43 (EGA) 8-pixel mode
BOOL VideoSetMode80x28(VOID); // Sets 80x28. Works on all VGA's. Standard 80x25 with 14-point font
BOOL VideoSetMode80x43(VOID); // Sets 80x43. Works on all VGA's. It's a 350-scanline mode with 8-pixel font.
BOOL VideoSetMode80x30(VOID); // Sets 80x30. Works on all VGA's. 480 scanlines, 16-pixel font.
BOOL VideoSetMode80x34(VOID); // Sets 80x34. Works on all VGA's. 480 scanlines, 14-pixel font.
BOOL VideoSetMode80x60(VOID); // Sets 80x60. Works on all VGA's. 480 scanlines, 8-pixel font.
U32 VideoGetCurrentModeResolutionX(VOID);
U32 VideoGetCurrentModeResolutionY(VOID);
U32 VideoGetBytesPerScanLine(VOID);
U32 VideoGetCurrentMode(VOID);
U32 VideoGetCurrentModeType(VOID); // MODETYPE_TEXT or MODETYPE_GRAPHICS
BOOL VideoIsCurrentModeVesa(VOID);
U32 VideoGetCurrentModeColorDepth(VOID); // Returns 0 for text mode, 16 for 4-bit, 256 for 8-bit, 32768 for 15-bit, 65536 for 16-bit, etc.
VOID VideoClearScreen(VOID);
VOID VideoWaitForVerticalRetrace(VOID);
PVOID VideoAllocateOffScreenBuffer(VOID); // Returns a pointer to an off-screen buffer sufficient for the current video mode
U32 VideoGetMemoryBankForPixel(U32 X, U32 Y);
U32 VideoGetMemoryBankForPixel16(U32 X, U32 Y);
U32 VideoGetBankOffsetForPixel(U32 X, U32 Y);
U32 VideoGetBankOffsetForPixel16(U32 X, U32 Y);
VOID VideoSetMemoryBank(U16 BankNumber);
U32 VideoGetOffScreenMemoryOffsetForPixel(U32 X, U32 Y);
VOID VideoCopyOffScreenBufferToVRAM(VOID);
VOID VideoSetPaletteColor(U8 Color, U8 Red, U8 Green, U8 Blue);
VOID VideoGetPaletteColor(U8 Color, U8* Red, U8* Green, U8* Blue);
VOID VideoSavePaletteState(PPALETTE_ENTRY Palette, U32 ColorCount);
VOID VideoRestorePaletteState(PPALETTE_ENTRY Palette, U32 ColorCount);
VOID VideoSetPixel16(U32 X, U32 Y, U8 Color);
VOID VideoSetPixel256(U32 X, U32 Y, U8 Color);
VOID VideoSetPixelRGB(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue);
VOID VideoSetPixel16_OffScreen(U32 X, U32 Y, U8 Color);
VOID VideoSetPixel256_OffScreen(U32 X, U32 Y, U8 Color);
VOID VideoSetPixelRGB_OffScreen(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue);
VOID VideoSetAllColorsToBlack(U32 ColorCount);
VOID VideoFadeIn(PPALETTE_ENTRY Palette, U32 ColorCount);
VOID VideoFadeOut(U32 ColorCount);
#endif // defined __VIDEO_H

View File

@@ -1,76 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __INI_H
#define __INI_H
#include <rtl.h>
#include <fs.h>
#define INI_FILE_COMMENT_CHAR ';'
// This structure describes a single .ini file item
// The item format in the .ini file is:
// Name=Value
typedef struct
{
LIST_ITEM ListEntry;
PUCHAR ItemName;
PUCHAR ItemValue;
} INI_SECTION_ITEM, *PINI_SECTION_ITEM;
// This structure describes a .ini file section
// The section format in the .ini file is:
// [Section Name]
// This structure has a list of section items with
// one INI_SECTION_ITEM for each line in the section
typedef struct
{
LIST_ITEM ListEntry;
PUCHAR SectionName;
U32 SectionItemCount;
PINI_SECTION_ITEM SectionItemList;
} INI_SECTION, *PINI_SECTION;
extern PINI_SECTION IniFileSectionListHead;
extern U32 IniFileSectionCount;
extern U32 IniFileSettingCount;
PFILE IniOpenIniFile(U8 BootDriveNumber, U8 BootPartitionNumber);
BOOL IniParseFile(PUCHAR IniFileData, U32 IniFileSize);
U32 IniGetNextLineSize(PUCHAR IniFileData, U32 IniFileSize, U32 CurrentOffset);
U32 IniGetNextLine(PUCHAR IniFileData, U32 IniFileSize, PUCHAR Buffer, U32 BufferSize, U32 CurrentOffset);
BOOL IniIsLineEmpty(PUCHAR LineOfText, U32 TextLength);
BOOL IniIsCommentLine(PUCHAR LineOfText, U32 TextLength);
BOOL IniIsSectionName(PUCHAR LineOfText, U32 TextLength);
U32 IniGetSectionNameSize(PUCHAR SectionNameLine, U32 LineLength);
VOID IniExtractSectionName(PUCHAR SectionName, PUCHAR SectionNameLine, U32 LineLength);
BOOL IniIsSetting(PUCHAR LineOfText, U32 TextLength);
U32 IniGetSettingNameSize(PUCHAR SettingNameLine, U32 LineLength);
U32 IniGetSettingValueSize(PUCHAR SettingValueLine, U32 LineLength);
VOID IniExtractSettingName(PUCHAR SettingName, PUCHAR SettingNameLine, U32 LineLength);
VOID IniExtractSettingValue(PUCHAR SettingValue, PUCHAR SettingValueLine, U32 LineLength);
#endif // defined __INI_H

View File

@@ -1,70 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __MEM_H
#define __MEM_H
#ifdef __i386__
#define MM_PAGE_SIZE 4096
#endif // defined __i386__
typedef struct
{
U32 PageAllocated; // Zero = free, non-zero = allocated
U32 PageAllocationLength; // Number of pages allocated (or zero if this isn't the first page in the chain)
} PACKED PAGE_LOOKUP_TABLE_ITEM, *PPAGE_LOOKUP_TABLE_ITEM;
//
// Define this to 1 if you want the entire contents
// of the memory allocation bitmap displayed
// when a chunk is allocated or freed
//
#define DUMP_MEM_MAP_ON_VERIFY 0
extern PVOID PageLookupTableAddress;
extern U32 TotalPagesInLookupTable;
extern U32 FreePagesInLookupTable;
extern U32 LastFreePageHint;
#ifdef DEBUG
PUCHAR MmGetSystemMemoryMapTypeString(U32 Type);
#endif
U32 MmGetPageNumberFromAddress(PVOID Address); // Returns the page number that contains a linear address
PVOID MmGetEndAddressOfAnyMemory(PBIOS_MEMORY_MAP BiosMemoryMap, U32 MapCount); // Returns the last address of memory from the memory map
U32 MmGetAddressablePageCountIncludingHoles(PBIOS_MEMORY_MAP BiosMemoryMap, U32 MapCount); // Returns the count of addressable pages from address zero including any memory holes and reserved memory regions
PVOID MmFindLocationForPageLookupTable(PBIOS_MEMORY_MAP BiosMemoryMap, U32 MapCount); // Returns the address for a memory chunk big enough to hold the page lookup table (starts search from end of memory)
VOID MmSortBiosMemoryMap(PBIOS_MEMORY_MAP BiosMemoryMap, U32 MapCount); // Sorts the BIOS_MEMORY_MAP array so the first element corresponds to the first address in memory
VOID MmInitPageLookupTable(PVOID PageLookupTable, U32 TotalPageCount, PBIOS_MEMORY_MAP BiosMemoryMap, U32 MapCount); // Inits the page lookup table according to the memory types in the memory map
VOID MmMarkPagesInLookupTable(PVOID PageLookupTable, U32 StartPage, U32 PageCount, U32 PageAllocated); // Marks the specified pages as allocated or free in the lookup table
VOID MmAllocatePagesInLookupTable(PVOID PageLookupTable, U32 StartPage, U32 PageCount); // Allocates the specified pages in the lookup table
U32 MmCountFreePagesInLookupTable(PVOID PageLookupTable, U32 TotalPageCount); // Returns the number of free pages in the lookup table
U32 MmFindAvailablePagesFromEnd(PVOID PageLookupTable, U32 TotalPageCount, U32 PagesNeeded); // Returns the page number of the first available page range from the end of memory
U32 MmFindAvailablePagesBeforePage(PVOID PageLookupTable, U32 TotalPageCount, U32 PagesNeeded, U32 LastPage); // Returns the page number of the first available page range before the specified page
VOID MmFixupSystemMemoryMap(PBIOS_MEMORY_MAP BiosMemoryMap, U32* MapCount); // Removes entries in the memory map that describe memory above 4G
VOID MmUpdateLastFreePageHint(PVOID PageLookupTable, U32 TotalPageCount); // Sets the LastFreePageHint to the last usable page of memory
BOOL MmAreMemoryPagesAvailable(PVOID PageLookupTable, U32 TotalPageCount, PVOID PageAddress, U32 PageCount); // Returns TRUE if the specified pages of memory are available, otherwise FALSE
#endif // defined __MEM_H

View File

@@ -1,271 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <arch.h>
#include <rtl.h>
#include <fs.h>
#include <multiboot.h>
#include <ui.h>
#include <inifile.h>
#include <mm.h>
unsigned long next_module_load_base = 0;
module_t* pOpenModule = NULL;
BOOL MultiBootLoadKernel(FILE *KernelImage)
{
U32* ImageHeaders;
int Idx;
U32 dwHeaderChecksum;
U32 dwFileLoadOffset;
U32 dwDataSize;
U32 dwBssSize;
// Allocate 8192 bytes for multiboot header
ImageHeaders = (U32*)MmAllocateMemory(8192);
if (ImageHeaders == NULL)
{
return FALSE;
}
/*
* Load the first 8192 bytes of the kernel image
* so we can search for the multiboot header
*/
if (!FsReadFile(KernelImage, 8192, NULL, ImageHeaders))
{
MmFreeMemory(ImageHeaders);
return FALSE;
}
/*
* Now find the multiboot header and copy it
*/
for (Idx=0; Idx<2048; Idx++)
{
// Did we find it?
if (ImageHeaders[Idx] == MULTIBOOT_HEADER_MAGIC)
{
// Yes, copy it and break out of this loop
memcpy(&mb_header, &ImageHeaders[Idx], sizeof(multiboot_header_t));
break;
}
}
MmFreeMemory(ImageHeaders);
/*
* If we reached the end of the 8192 bytes without
* finding the multiboot header then return error
*/
if (Idx == 2048)
{
UiMessageBox("No multiboot header found!");
return FALSE;
}
/*printf("multiboot header:\n");
printf("0x%x\n", mb_header.magic);
printf("0x%x\n", mb_header.flags);
printf("0x%x\n", mb_header.checksum);
printf("0x%x\n", mb_header.header_addr);
printf("0x%x\n", mb_header.load_addr);
printf("0x%x\n", mb_header.load_end_addr);
printf("0x%x\n", mb_header.bss_end_addr);
printf("0x%x\n", mb_header.entry_addr);
getch();*/
/*
* Calculate the checksum and make sure it matches
*/
dwHeaderChecksum = mb_header.magic;
dwHeaderChecksum += mb_header.flags;
dwHeaderChecksum += mb_header.checksum;
if (dwHeaderChecksum != 0)
{
UiMessageBox("Multiboot header checksum invalid!");
return FALSE;
}
/*
* Get the file offset, this should be 0, and move the file pointer
*/
dwFileLoadOffset = (Idx * sizeof(U32)) - (mb_header.header_addr - mb_header.load_addr);
FsSetFilePointer(KernelImage, dwFileLoadOffset);
/*
* Load the file image
*/
dwDataSize = (mb_header.load_end_addr - mb_header.load_addr);
FsReadFile(KernelImage, dwDataSize, NULL, (void*)mb_header.load_addr);
/*
* Initialize bss area
*/
dwBssSize = (mb_header.bss_end_addr - mb_header.load_end_addr);
memset((void*)mb_header.load_end_addr, 0, dwBssSize);
next_module_load_base = ROUND_UP(mb_header.bss_end_addr, /*PAGE_SIZE*/4096);
return TRUE;
}
#if 0
BOOL MultiBootLoadModule(FILE *ModuleImage, char *ModuleName)
{
U32 dwModuleSize;
module_t* pModule;
char* ModuleNameString;
char * TempName;
/*
* Get current module data structure and module name string array
*/
pModule = &multiboot_modules[mb_info.mods_count];
do {
TempName = strchr( ModuleName, '\\' );
if( TempName )
ModuleName = TempName + 1;
} while( TempName );
ModuleNameString = multiboot_module_strings[mb_info.mods_count];
dwModuleSize = FsGetFileSize(ModuleImage);
pModule->mod_start = next_module_load_base;
pModule->mod_end = next_module_load_base + dwModuleSize;
strcpy(ModuleNameString, ModuleName);
pModule->string = (unsigned long)ModuleNameString;
/*
* Load the file image
*/
FsReadFile(ModuleImage, dwModuleSize, NULL, (void*)next_module_load_base);
next_module_load_base = ROUND_UP(pModule->mod_end, /*PAGE_SIZE*/4096);
mb_info.mods_count++;
return TRUE;
}
#endif
PVOID MultiBootLoadModule(FILE *ModuleImage, char *ModuleName, U32* ModuleSize)
{
U32 dwModuleSize;
module_t* pModule;
char* ModuleNameString;
char * TempName;
/*
* Get current module data structure and module name string array
*/
pModule = &multiboot_modules[mb_info.mods_count];
do {
TempName = strchr( ModuleName, '\\' );
if( TempName )
ModuleName = TempName + 1;
} while( TempName );
ModuleNameString = multiboot_module_strings[mb_info.mods_count];
dwModuleSize = FsGetFileSize(ModuleImage);
pModule->mod_start = next_module_load_base;
pModule->mod_end = next_module_load_base + dwModuleSize;
strcpy(ModuleNameString, ModuleName);
pModule->string = (unsigned long)ModuleNameString;
/*
* Load the file image
*/
FsReadFile(ModuleImage, dwModuleSize, NULL, (void*)next_module_load_base);
next_module_load_base = ROUND_UP(pModule->mod_end, /*PAGE_SIZE*/4096);
mb_info.mods_count++;
if (ModuleSize != NULL)
*ModuleSize = dwModuleSize;
return((PVOID)pModule->mod_start);
}
#if 0
int GetBootPartition(char *OperatingSystemName)
{
int BootPartitionNumber = -1;
char value[1024];
U32 SectionId;
if (IniOpenSection(OperatingSystemName, &SectionId))
{
if (IniReadSettingByName(SectionId, "BootPartition", value, 1024))
{
BootPartitionNumber = atoi(value);
}
}
return BootPartitionNumber;
}
#endif
PVOID MultiBootCreateModule(char *ModuleName)
{
module_t* pModule;
char* ModuleNameString;
/*
* Get current module data structure and module name string array
*/
pModule = &multiboot_modules[mb_info.mods_count];
ModuleNameString = multiboot_module_strings[mb_info.mods_count];
pModule->mod_start = next_module_load_base;
pModule->mod_end = -1;
strcpy(ModuleNameString, ModuleName);
pModule->string = (unsigned long)ModuleNameString;
pOpenModule = pModule;
return((PVOID)pModule->mod_start);
}
BOOL MultiBootCloseModule(PVOID ModuleBase, U32 dwModuleSize)
{
module_t* pModule;
if ((pOpenModule != NULL) &&
((module_t*)ModuleBase == (module_t*)pOpenModule->mod_start) &&
(pOpenModule->mod_end == -1))
{
pModule = pOpenModule;
pModule->mod_end = pModule->mod_start + dwModuleSize;
next_module_load_base = ROUND_UP(pModule->mod_end, /*PAGE_SIZE*/4096);
mb_info.mods_count++;
pOpenModule = NULL;
return(TRUE);
}
return(FALSE);
}

View File

@@ -1,765 +0,0 @@
/*
* FreeLoader
*
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <debug.h>
#include <arch.h>
#include <reactos.h>
#include <rtl.h>
#include <disk.h>
#include <fs.h>
#include <ui.h>
#include <multiboot.h>
#include <mm.h>
#include <inifile.h>
#include "registry.h"
#define NDEBUG
#define IsRecognizedPartition(P) \
((P) == PARTITION_FAT_12 || \
(P) == PARTITION_FAT_16 || \
(P) == PARTITION_HUGE || \
(P) == PARTITION_IFS || \
(P) == PARTITION_FAT32 || \
(P) == PARTITION_FAT32_XINT13 || \
(P) == PARTITION_XINT13)
static BOOL
LoadKernel(PCHAR szFileName, int nPos)
{
PFILE FilePointer;
PCHAR szShortName;
char szBuffer[256];
szShortName = strrchr(szFileName, '\\');
if (szShortName == NULL)
szShortName = szFileName;
else
szShortName = szShortName + 1;
FilePointer = FsOpenFile(szFileName);
if (FilePointer == NULL)
{
strcpy(szBuffer, szShortName);
strcat(szBuffer, " not found.");
UiMessageBox(szBuffer);
return(FALSE);
}
/*
* Update the status bar with the current file
*/
strcpy(szBuffer, "Reading ");
strcat(szBuffer, szShortName);
UiDrawStatusText(szBuffer);
/*
* Load the kernel
*/
MultiBootLoadKernel(FilePointer);
UiDrawProgressBarCenter(nPos, 100, "Loading ReactOS...");
return(TRUE);
}
static BOOL
LoadSymbolFile(PCHAR szSystemRoot,
PCHAR ModuleName,
int nPos)
{
CHAR SymbolFileName[1024];
PFILE FilePointer;
U32 Length;
PCHAR Start;
PCHAR Ext;
char value[256];
char *p;
/* Get the path to the symbol store */
strcpy(SymbolFileName, szSystemRoot);
strcat(SymbolFileName, "symbols\\");
/* Get the symbol filename from the module name */
Start = strrchr(ModuleName, '\\');
if (Start == NULL)
Start = ModuleName;
else
Start++;
Ext = strrchr(ModuleName, '.');
if (Ext != NULL)
Length = Ext - Start;
else
Length = strlen(Start);
strncat(SymbolFileName, Start, Length);
strcat(SymbolFileName, ".sym");
FilePointer = FsOpenFile((PCHAR)&SymbolFileName[0]);
if (FilePointer == NULL)
{
DbgPrint((DPRINT_REACTOS, "Symbol file %s not loaded.\n", SymbolFileName));
/* This is not critical */
return FALSE;
}
DbgPrint((DPRINT_REACTOS, "Symbol file %s is loaded.\n", SymbolFileName));
/*
* Update the status bar with the current file
*/
strcpy(value, "Reading ");
p = strrchr(SymbolFileName, '\\');
if (p == NULL)
strcat(value, SymbolFileName);
else
strcat(value, p + 1);
UiDrawStatusText(value);
/*
* Load the symbol file
*/
MultiBootLoadModule(FilePointer, SymbolFileName, NULL);
UiDrawProgressBarCenter(nPos, 100, "Loading ReactOS...");
return (TRUE);
}
static BOOL
LoadDriver(PCHAR szFileName, int nPos)
{
PFILE FilePointer;
char value[256];
char *p;
FilePointer = FsOpenFile(szFileName);
if (FilePointer == NULL)
{
strcpy(value, szFileName);
strcat(value, " not found.");
UiMessageBox(value);
return(FALSE);
}
/*
* Update the status bar with the current file
*/
strcpy(value, "Reading ");
p = strrchr(szFileName, '\\');
if (p == NULL)
strcat(value, szFileName);
else
strcat(value, p + 1);
UiDrawStatusText(value);
/*
* Load the driver
*/
MultiBootLoadModule(FilePointer, szFileName, NULL);
UiDrawProgressBarCenter(nPos, 100, "Loading ReactOS...");
return(TRUE);
}
static BOOL
LoadNlsFile(PCHAR szFileName, PCHAR szModuleName)
{
PFILE FilePointer;
char value[256];
char *p;
FilePointer = FsOpenFile(szFileName);
if (FilePointer == NULL)
{
strcpy(value, szFileName);
strcat(value, " not found.");
UiMessageBox(value);
return(FALSE);
}
/*
* Update the status bar with the current file
*/
strcpy(value, "Reading ");
p = strrchr(szFileName, '\\');
if (p == NULL)
strcat(value, szFileName);
else
strcat(value, p + 1);
UiDrawStatusText(value);
/*
* Load the driver
*/
MultiBootLoadModule(FilePointer, szModuleName, NULL);
return(TRUE);
}
static VOID
LoadBootDrivers(PCHAR szSystemRoot, int nPos)
{
S32 rc = 0;
HKEY hGroupKey, hServiceKey, hDriverKey;
char ValueBuffer[512];
char ServiceName[256];
U32 BufferSize;
U32 Index;
char *GroupName;
U32 ValueSize;
U32 ValueType;
U32 StartValue;
UCHAR DriverGroup[256];
U32 DriverGroupSize;
UCHAR ImagePath[256];
UCHAR TempImagePath[256];
/* get 'service group order' key */
rc = RegOpenKey(NULL,
"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\ServiceGroupOrder",
&hGroupKey);
if (rc != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REACTOS, "Failed to open the 'ServiceGroupOrder key (rc %d)\n", (int)rc));
return;
}
/* enumerate drivers */
rc = RegOpenKey(NULL,
"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Services",
&hServiceKey);
if (rc != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REACTOS, "Failed to open the 'Services' key (rc %d)\n", (int)rc));
return;
}
BufferSize = sizeof(ValueBuffer);
rc = RegQueryValue(hGroupKey, "List", NULL, (PUCHAR)ValueBuffer, &BufferSize);
DbgPrint((DPRINT_REACTOS, "RegQueryValue(): rc %d\n", (int)rc));
if (rc != ERROR_SUCCESS)
return;
DbgPrint((DPRINT_REACTOS, "BufferSize: %d \n", (int)BufferSize));
DbgPrint((DPRINT_REACTOS, "ValueBuffer: '%s' \n", ValueBuffer));
GroupName = ValueBuffer;
while (*GroupName)
{
DbgPrint((DPRINT_REACTOS, "Driver group: '%s'\n", GroupName));
/* enumerate all drivers */
Index = 0;
while (TRUE)
{
ValueSize = sizeof(ValueBuffer);
rc = RegEnumKey(hServiceKey, Index, ServiceName, &ValueSize);
DbgPrint((DPRINT_REACTOS, "RegEnumKey(): rc %d\n", (int)rc));
if (rc == ERROR_NO_MORE_ITEMS)
break;
if (rc != ERROR_SUCCESS)
return;
DbgPrint((DPRINT_REACTOS, "Service %d: '%s'\n", (int)Index, ServiceName));
/* open driver Key */
rc = RegOpenKey(hServiceKey, ServiceName, &hDriverKey);
ValueSize = sizeof(U32);
rc = RegQueryValue(hDriverKey, "Start", &ValueType, (PUCHAR)&StartValue, &ValueSize);
DbgPrint((DPRINT_REACTOS, " Start: %x \n", (int)StartValue));
DriverGroupSize = 256;
rc = RegQueryValue(hDriverKey, "Group", NULL, (PUCHAR)DriverGroup, &DriverGroupSize);
DbgPrint((DPRINT_REACTOS, " Group: '%s' \n", DriverGroup));
if ((StartValue == 0) && (stricmp(DriverGroup, GroupName) == 0))
{
ValueSize = 256;
rc = RegQueryValue(hDriverKey,
"ImagePath",
NULL,
(PUCHAR)TempImagePath,
&ValueSize);
if (rc != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REACTOS, " ImagePath: not found\n"));
strcpy(ImagePath, szSystemRoot);
strcat(ImagePath, "system32\\drivers\\");
strcat(ImagePath, ServiceName);
strcat(ImagePath, ".sys");
}
else if (TempImagePath[0] != '\\')
{
strcpy(ImagePath, szSystemRoot);
strcat(ImagePath, TempImagePath);
}
else
{
strcpy(ImagePath, TempImagePath);
DbgPrint((DPRINT_REACTOS, " ImagePath: '%s'\n", ImagePath));
}
DbgPrint((DPRINT_REACTOS, " Loading driver: '%s'\n", ImagePath));
if (nPos < 100)
nPos += 5;
LoadDriver(ImagePath, nPos);
LoadSymbolFile(szSystemRoot, ImagePath, nPos);
}
else
{
DbgPrint((DPRINT_REACTOS, " Skipping driver '%s' with Start %d and Group '%s' (Current group '%s')\n",
ImagePath, StartValue, DriverGroup, GroupName));
}
Index++;
}
GroupName = GroupName + strlen(GroupName) + 1;
}
}
static BOOL
LoadNlsFiles(PCHAR szSystemRoot)
{
S32 rc = ERROR_SUCCESS;
HKEY hKey;
char szIdBuffer[80];
char szNameBuffer[80];
char szFileName[256];
U32 BufferSize;
/* open the codepage key */
rc = RegOpenKey(NULL,
"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\NLS\\CodePage",
&hKey);
if (rc != ERROR_SUCCESS)
return(FALSE);
/* get ANSI codepage */
BufferSize = 80;
rc = RegQueryValue(hKey, "ACP", NULL, (PUCHAR)szIdBuffer, &BufferSize);
if (rc != ERROR_SUCCESS)
return(FALSE);
BufferSize = 80;
rc = RegQueryValue(hKey, szIdBuffer, NULL, (PUCHAR)szNameBuffer, &BufferSize);
if (rc != ERROR_SUCCESS)
return(FALSE);
/* load ANSI codepage table */
strcpy(szFileName, szSystemRoot);
strcat(szFileName, "system32\\");
strcat(szFileName, szNameBuffer);
DbgPrint((DPRINT_REACTOS, "ANSI file: %s\n", szFileName));
if (!LoadNlsFile(szFileName, "ansi.nls"))
return(FALSE);
/* get OEM codepage */
BufferSize = 80;
rc = RegQueryValue(hKey, "OEMCP", NULL, (PUCHAR)szIdBuffer, &BufferSize);
if (rc != ERROR_SUCCESS)
return(FALSE);
BufferSize = 80;
rc = RegQueryValue(hKey, szIdBuffer, NULL, (PUCHAR)szNameBuffer, &BufferSize);
if (rc != ERROR_SUCCESS)
return(FALSE);
/* load OEM codepage table */
strcpy(szFileName, szSystemRoot);
strcat(szFileName, "system32\\");
strcat(szFileName, szNameBuffer);
DbgPrint((DPRINT_REACTOS, "Oem file: %s\n", szFileName));
if (!LoadNlsFile(szFileName, "oem.nls"))
return(FALSE);
/* open the language key */
rc = RegOpenKey(NULL,
"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\NLS\\Language",
&hKey);
if (rc != ERROR_SUCCESS)
return(FALSE);
/* get the Unicode case table */
BufferSize = 80;
rc = RegQueryValue(hKey, "Default", NULL, (PUCHAR)szIdBuffer, &BufferSize);
if (rc != ERROR_SUCCESS)
return(FALSE);
BufferSize = 80;
rc = RegQueryValue(hKey, szIdBuffer, NULL, (PUCHAR)szNameBuffer, &BufferSize);
if (rc != ERROR_SUCCESS)
return(FALSE);
/* load Unicode case table */
strcpy(szFileName, szSystemRoot);
strcat(szFileName, "system32\\");
strcat(szFileName, szNameBuffer);
DbgPrint((DPRINT_REACTOS, "Casemap file: %s\n", szFileName));
if (!LoadNlsFile(szFileName, "casemap.nls"))
return(FALSE);
return(TRUE);
}
void
LoadAndBootReactOS(PUCHAR OperatingSystemName)
{
PFILE FilePointer;
char name[1024];
char value[1024];
char szKernelName[1024];
char szHalName[1024];
char szFileName[1024];
char szBootPath[256];
int i;
// int nNumDriverFiles=0;
// int nNumFilesLoaded=0;
char MsgBuffer[256];
U32 SectionId;
char* Base;
U32 Size;
PARTITION_TABLE_ENTRY PartitionTableEntry;
U32 rosPartition;
//
// Open the operating system section
// specified in the .ini file
//
if (!IniOpenSection(OperatingSystemName, &SectionId))
{
sprintf(MsgBuffer,"Operating System section '%s' not found in freeldr.ini", OperatingSystemName);
UiMessageBox(MsgBuffer);
return;
}
/*
* Setup multiboot information structure
*/
mb_info.flags = MB_INFO_FLAG_MEM_SIZE | MB_INFO_FLAG_BOOT_DEVICE | MB_INFO_FLAG_COMMAND_LINE | MB_INFO_FLAG_MODULES;
mb_info.mem_lower = GetConventionalMemorySize();
mb_info.mem_upper = GetExtendedMemorySize();
mb_info.boot_device = 0xffffffff;
mb_info.cmdline = (unsigned long)multiboot_kernel_cmdline;
mb_info.mods_count = 0;
mb_info.mods_addr = (unsigned long)multiboot_modules;
mb_info.mmap_length = (unsigned long)GetBiosMemoryMap((PBIOS_MEMORY_MAP)&multiboot_memory_map, 32) * sizeof(memory_map_t);
if (mb_info.mmap_length)
{
mb_info.mmap_addr = (unsigned long)&multiboot_memory_map;
mb_info.flags |= MB_INFO_FLAG_MEMORY_MAP;
multiboot_memory_map_descriptor_size = sizeof(memory_map_t); // GetBiosMemoryMap uses a fixed value of 24
DbgPrint((DPRINT_REACTOS, "memory map length: %d\n", mb_info.mmap_length));
DbgPrint((DPRINT_REACTOS, "dumping memory map:\n"));
for (i=0; i<(mb_info.mmap_length/sizeof(memory_map_t)); i++)
{
DbgPrint((DPRINT_REACTOS, "start: %x\t size: %x\t type %d\n",
multiboot_memory_map[i].base_addr_low,
multiboot_memory_map[i].length_low,
multiboot_memory_map[i].type));
}
}
DbgPrint((DPRINT_REACTOS, "low_mem = %d\n", mb_info.mem_lower));
DbgPrint((DPRINT_REACTOS, "high_mem = %d\n", mb_info.mem_upper));
/*
* Initialize the registry
*/
RegInitializeRegistry();
/*
* Make sure the system path is set in the .ini file
*/
if (!IniReadSettingByName(SectionId, "SystemPath", value, 1024))
{
UiMessageBox("System path not specified for selected operating system.");
return;
}
/*
* Verify system path
*/
if (!DissectArcPath(value, szBootPath, &BootDrive, &BootPartition))
{
sprintf(MsgBuffer,"Invalid system path: '%s'", value);
UiMessageBox(MsgBuffer);
return;
}
/* set boot drive and partition */
((char *)(&mb_info.boot_device))[0] = (char)BootDrive;
((char *)(&mb_info.boot_device))[1] = (char)BootPartition;
/* recalculate the boot partition for freeldr */
i = 0;
rosPartition = 0;
while (1)
{
if (!DiskGetPartitionEntry(BootDrive, ++i, &PartitionTableEntry))
{
BootPartition = 0;
break;
}
if (IsRecognizedPartition(PartitionTableEntry.SystemIndicator))
{
if (++rosPartition == BootPartition)
{
BootPartition = i;
break;
}
}
}
if (BootPartition == 0)
{
sprintf(MsgBuffer,"Invalid system path: '%s'", value);
UiMessageBox(MsgBuffer);
return;
}
/* copy ARC path into kernel command line */
strcpy(multiboot_kernel_cmdline, value);
/*
* Read the optional kernel parameters (if any)
*/
if (IniReadSettingByName(SectionId, "Options", value, 1024))
{
strcat(multiboot_kernel_cmdline, " ");
strcat(multiboot_kernel_cmdline, value);
}
/* append a backslash */
if ((strlen(szBootPath)==0) ||
szBootPath[strlen(szBootPath)] != '\\')
strcat(szBootPath, "\\");
DbgPrint((DPRINT_REACTOS,"SystemRoot: '%s'\n", szBootPath));
UiDrawBackdrop();
UiDrawStatusText("Detecting Hardware...");
/*
* Detect hardware
*/
DetectHardware();
UiDrawStatusText("Loading...");
UiDrawProgressBarCenter(0, 100, "Loading ReactOS...");
/*
* Try to open boot drive
*/
if (!FsOpenVolume(BootDrive, BootPartition))
{
UiMessageBox("Failed to open boot drive.");
return;
}
/*
* Find the kernel image name
* and try to load the kernel off the disk
*/
if(IniReadSettingByName(SectionId, "Kernel", value, 1024))
{
/*
* Set the name and
*/
if (value[0] == '\\')
{
strcpy(szKernelName, value);
}
else
{
strcpy(szKernelName, szBootPath);
strcat(szKernelName, "SYSTEM32\\");
strcat(szKernelName, value);
}
}
else
{
strcpy(value, "NTOSKRNL.EXE");
strcpy(szKernelName, szBootPath);
strcat(szKernelName, "SYSTEM32\\");
strcat(szKernelName, value);
}
if (!LoadKernel(szKernelName, 5))
return;
/*
* Find the HAL image name
* and try to load the kernel off the disk
*/
if(IniReadSettingByName(SectionId, "Hal", value, 1024))
{
/*
* Set the name and
*/
if (value[0] == '\\')
{
strcpy(szHalName, value);
}
else
{
strcpy(szHalName, szBootPath);
strcat(szHalName, "SYSTEM32\\");
strcat(szHalName, value);
}
}
else
{
strcpy(value, "HAL.DLL");
strcpy(szHalName, szBootPath);
strcat(szHalName, "SYSTEM32\\");
strcat(szHalName, value);
}
if (!LoadDriver(szHalName, 10))
return;
/*
* Load the System hive from disk
*/
strcpy(szFileName, szBootPath);
strcat(szFileName, "SYSTEM32\\CONFIG\\SYSTEM");
DbgPrint((DPRINT_REACTOS, "SystemHive: '%s'", szFileName));
FilePointer = FsOpenFile(szFileName);
if (FilePointer == NULL)
{
UiMessageBox("Could not find the System hive!");
return;
}
/*
* Update the status bar with the current file
*/
strcpy(name, "Reading ");
strcat(name, value);
while (strlen(name) < 80)
strcat(name, " ");
UiDrawStatusText(name);
/*
* Load the System hive
*/
Base = MultiBootLoadModule(FilePointer, szFileName, &Size);
if (Base == NULL || Size == 0)
{
UiMessageBox("Could not load the System hive!\n");
return;
}
DbgPrint((DPRINT_REACTOS, "SystemHive loaded at 0x%x size %u", (unsigned)Base, (unsigned)Size));
/*
* Import the loaded system hive
*/
RegImportBinaryHive(Base, Size);
/*
* Initialize the 'CurrentControlSet' link
*/
RegInitCurrentControlSet(FALSE);
UiDrawProgressBarCenter(15, 100, "Loading ReactOS...");
/*
* Export the hardware hive
*/
Base = MultiBootCreateModule ("HARDWARE");
RegExportBinaryHive ("\\Registry\\Machine\\HARDWARE", Base, &Size);
MultiBootCloseModule (Base, Size);
UiDrawProgressBarCenter(20, 100, "Loading ReactOS...");
/*
* Load NLS files
*/
if (!LoadNlsFiles(szBootPath))
{
UiMessageBox("Could not load the NLS files!\n");
return;
}
UiDrawProgressBarCenter(25, 100, "Loading ReactOS...");
/*
* Load symbol files
*/
LoadSymbolFile(szBootPath, szKernelName, 30);
LoadSymbolFile(szBootPath, szHalName, 30);
UiDrawProgressBarCenter(30, 100, "Loading ReactOS...");
/*
* Load boot drivers
*/
LoadBootDrivers(szBootPath, 30);
#if 0
/*
* Clear the screen and redraw the backdrop and status bar
*/
UiDrawBackdrop();
UiDrawStatusText("Press any key to boot");
/*
* Wait for user
*/
strcpy(name, "Kernel and Drivers loaded.\nPress any key to boot ");
strcat(name, OperatingSystemName);
strcat(name, ".");
MessageBox(name);
#endif
UiUnInitialize("Booting ReactOS...");
/*
* Now boot the kernel
*/
DiskStopFloppyMotor();
boot_reactos();
}
/* EOF */

View File

@@ -1,832 +0,0 @@
/*
* FreeLoader
*
* Copyright (C) 2001, 2002 Eric Kohl
*
* 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.
*/
#include <freeldr.h>
#include <mm.h>
#include <rtl.h>
#include <debug.h>
#include "registry.h"
#include <ui.h>
static HKEY RootKey;
VOID
RegInitializeRegistry (VOID)
{
#if 0
HKEY TestKey;
#endif
/* Create root key */
RootKey = (HKEY) MmAllocateMemory (sizeof(KEY));
InitializeListHead (&RootKey->SubKeyList);
InitializeListHead (&RootKey->ValueList);
InitializeListHead (&RootKey->KeyList);
RootKey->SubKeyCount = 0;
RootKey->ValueCount = 0;
RootKey->NameSize = 2;
RootKey->Name = (PUCHAR)MmAllocateMemory (2);
strcpy (RootKey->Name, "\\");
RootKey->DataType = 0;
RootKey->DataSize = 0;
RootKey->Data = NULL;
/* Create 'SYSTEM' key */
RegCreateKey (RootKey,
"Registry\\Machine\\SYSTEM",
NULL);
/* Create 'HARDWARE' key */
RegCreateKey (RootKey,
"Registry\\Machine\\HARDWARE",
NULL);
/* Create 'HARDWARE\DESCRIPTION' key */
RegCreateKey (RootKey,
"Registry\\Machine\\HARDWARE\\DESCRIPTION",
NULL);
/* Create 'HARDWARE\DEVICEMAP' key */
RegCreateKey (RootKey,
"Registry\\Machine\\HARDWARE\\DEVICEMAP",
NULL);
/* Create 'HARDWARE\RESOURCEMAP' key */
RegCreateKey (RootKey,
"Registry\\Machine\\HARDWARE\\RESOURCEMAP",
NULL);
/* Testcode */
#if 0
RegCreateKey (RootKey,
"Registry\\Machine\\HARDWARE\\DESCRIPTION\\TestKey",
&TestKey);
RegSetValue (TestKey,
"TestValue",
REG_SZ,
(PUCHAR)"TestString",
11);
#endif
}
S32
RegInitCurrentControlSet(BOOL LastKnownGood)
{
CHAR ControlSetKeyName[80];
HKEY SelectKey;
HKEY SystemKey;
HKEY ControlSetKey;
HKEY LinkKey;
U32 CurrentSet = 0;
U32 DefaultSet = 0;
U32 LastKnownGoodSet = 0;
U32 DataSize;
S32 Error;
Error = RegOpenKey(NULL,
"\\Registry\\Machine\\SYSTEM\\Select",
&SelectKey);
if (Error != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REGISTRY, "RegOpenKey() failed (Error %u)\n", (int)Error));
return(Error);
}
DataSize = sizeof(U32);
Error = RegQueryValue(SelectKey,
"Default",
NULL,
(PUCHAR)&DefaultSet,
&DataSize);
if (Error != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REGISTRY, "RegQueryValue('Default') failed (Error %u)\n", (int)Error));
return(Error);
}
DataSize = sizeof(U32);
Error = RegQueryValue(SelectKey,
"LastKnownGood",
NULL,
(PUCHAR)&LastKnownGoodSet,
&DataSize);
if (Error != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REGISTRY, "RegQueryValue('Default') failed (Error %u)\n", (int)Error));
return(Error);
}
CurrentSet = (LastKnownGood == TRUE) ? LastKnownGoodSet : DefaultSet;
strcpy(ControlSetKeyName, "ControlSet");
switch(CurrentSet)
{
case 1:
strcat(ControlSetKeyName, "001");
break;
case 2:
strcat(ControlSetKeyName, "002");
break;
case 3:
strcat(ControlSetKeyName, "003");
break;
case 4:
strcat(ControlSetKeyName, "004");
break;
case 5:
strcat(ControlSetKeyName, "005");
break;
}
Error = RegOpenKey(NULL,
"\\Registry\\Machine\\SYSTEM",
&SystemKey);
if (Error != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REGISTRY, "RegOpenKey(SystemKey) failed (Error %u)\n", (int)Error));
return(Error);
}
Error = RegOpenKey(SystemKey,
ControlSetKeyName,
&ControlSetKey);
if (Error != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REGISTRY, "RegOpenKey(ControlSetKey) failed (Error %u)\n", (int)Error));
return(Error);
}
Error = RegCreateKey(SystemKey,
"CurrentControlSet",
&LinkKey);
if (Error != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REGISTRY, "RegCreateKey(LinkKey) failed (Error %u)\n", (int)Error));
return(Error);
}
Error = RegSetValue(LinkKey,
NULL,
REG_LINK,
(PUCHAR)&ControlSetKey,
sizeof(PVOID));
if (Error != ERROR_SUCCESS)
{
DbgPrint((DPRINT_REGISTRY, "RegSetValue(LinkKey) failed (Error %u)\n", (int)Error));
return(Error);
}
return(ERROR_SUCCESS);
}
S32
RegCreateKey(HKEY ParentKey,
PCHAR KeyName,
PHKEY Key)
{
PLIST_ENTRY Ptr;
HKEY SearchKey = INVALID_HANDLE_VALUE;
HKEY CurrentKey;
HKEY NewKey;
PCHAR p;
PCHAR name;
int subkeyLength;
int stringLength;
DbgPrint((DPRINT_REGISTRY, "KeyName '%s'\n", KeyName));
if (*KeyName == '\\')
{
KeyName++;
CurrentKey = RootKey;
}
else if (ParentKey == NULL)
{
CurrentKey = RootKey;
}
else
{
CurrentKey = ParentKey;
}
/* Check whether current key is a link */
if (CurrentKey->DataType == REG_LINK)
{
CurrentKey = (HKEY)CurrentKey->Data;
}
while (*KeyName != 0)
{
DbgPrint((DPRINT_REGISTRY, "KeyName '%s'\n", KeyName));
if (*KeyName == '\\')
KeyName++;
p = strchr(KeyName, '\\');
if ((p != NULL) && (p != KeyName))
{
subkeyLength = p - KeyName;
stringLength = subkeyLength + 1;
name = KeyName;
}
else
{
subkeyLength = strlen(KeyName);
stringLength = subkeyLength;
name = KeyName;
}
Ptr = CurrentKey->SubKeyList.Flink;
while (Ptr != &CurrentKey->SubKeyList)
{
DbgPrint((DPRINT_REGISTRY, "Ptr 0x%x\n", Ptr));
SearchKey = CONTAINING_RECORD(Ptr,
KEY,
KeyList);
DbgPrint((DPRINT_REGISTRY, "SearchKey 0x%x\n", SearchKey));
DbgPrint((DPRINT_REGISTRY, "Searching '%s'\n", SearchKey->Name));
if (strnicmp(SearchKey->Name, name, subkeyLength) == 0)
break;
Ptr = Ptr->Flink;
}
if (Ptr == &CurrentKey->SubKeyList)
{
/* no key found -> create new subkey */
NewKey = (HKEY)MmAllocateMemory(sizeof(KEY));
if (NewKey == NULL)
return(ERROR_OUTOFMEMORY);
InitializeListHead(&NewKey->SubKeyList);
InitializeListHead(&NewKey->ValueList);
NewKey->SubKeyCount = 0;
NewKey->ValueCount = 0;
NewKey->DataType = 0;
NewKey->DataSize = 0;
NewKey->Data = NULL;
InsertTailList(&CurrentKey->SubKeyList, &NewKey->KeyList);
CurrentKey->SubKeyCount++;
NewKey->NameSize = subkeyLength + 1;
NewKey->Name = (PCHAR)MmAllocateMemory(NewKey->NameSize);
if (NewKey->Name == NULL)
return(ERROR_OUTOFMEMORY);
memcpy(NewKey->Name, name, subkeyLength);
NewKey->Name[subkeyLength] = 0;
DbgPrint((DPRINT_REGISTRY, "NewKey 0x%x\n", NewKey));
DbgPrint((DPRINT_REGISTRY, "NewKey '%s' Length %d\n", NewKey->Name, NewKey->NameSize));
CurrentKey = NewKey;
}
else
{
CurrentKey = SearchKey;
/* Check whether current key is a link */
if (CurrentKey->DataType == REG_LINK)
{
CurrentKey = (HKEY)CurrentKey->Data;
}
}
KeyName = KeyName + stringLength;
}
if (Key != NULL)
*Key = CurrentKey;
return(ERROR_SUCCESS);
}
S32
RegDeleteKey(HKEY Key,
PCHAR Name)
{
if (strchr(Name, '\\') != NULL)
return(ERROR_INVALID_PARAMETER);
return(ERROR_SUCCESS);
}
S32
RegEnumKey(HKEY Key,
U32 Index,
PCHAR Name,
U32* NameSize)
{
PLIST_ENTRY Ptr;
HKEY SearchKey;
U32 Count = 0;
U32 Size;
Ptr = Key->SubKeyList.Flink;
while (Ptr != &Key->SubKeyList)
{
if (Index == Count)
break;
Count++;
Ptr = Ptr->Flink;
}
if (Ptr == &Key->SubKeyList)
return(ERROR_NO_MORE_ITEMS);
SearchKey = CONTAINING_RECORD(Ptr,
KEY,
KeyList);
DbgPrint((DPRINT_REGISTRY, "Name '%s' Length %d\n", SearchKey->Name, SearchKey->NameSize));
Size = min(SearchKey->NameSize, *NameSize);
*NameSize = Size;
memcpy(Name, SearchKey->Name, Size);
return(ERROR_SUCCESS);
}
S32
RegOpenKey(HKEY ParentKey,
PCHAR KeyName,
PHKEY Key)
{
PLIST_ENTRY Ptr;
HKEY SearchKey = INVALID_HANDLE_VALUE;
HKEY CurrentKey;
PCHAR p;
PCHAR name;
int subkeyLength;
int stringLength;
DbgPrint((DPRINT_REGISTRY, "KeyName '%s'\n", KeyName));
*Key = NULL;
if (*KeyName == '\\')
{
KeyName++;
CurrentKey = RootKey;
}
else if (ParentKey == NULL)
{
CurrentKey = RootKey;
}
else
{
CurrentKey = ParentKey;
}
/* Check whether current key is a link */
if (CurrentKey->DataType == REG_LINK)
{
CurrentKey = (HKEY)CurrentKey->Data;
}
while (*KeyName != 0)
{
DbgPrint((DPRINT_REGISTRY, "KeyName '%s'\n", KeyName));
if (*KeyName == '\\')
KeyName++;
p = strchr(KeyName, '\\');
if ((p != NULL) && (p != KeyName))
{
subkeyLength = p - KeyName;
stringLength = subkeyLength + 1;
name = KeyName;
}
else
{
subkeyLength = strlen(KeyName);
stringLength = subkeyLength;
name = KeyName;
}
Ptr = CurrentKey->SubKeyList.Flink;
while (Ptr != &CurrentKey->SubKeyList)
{
DbgPrint((DPRINT_REGISTRY, "Ptr 0x%x\n", Ptr));
SearchKey = CONTAINING_RECORD(Ptr,
KEY,
KeyList);
DbgPrint((DPRINT_REGISTRY, "SearchKey 0x%x\n", SearchKey));
DbgPrint((DPRINT_REGISTRY, "Searching '%s'\n", SearchKey->Name));
if (strnicmp(SearchKey->Name, name, subkeyLength) == 0)
break;
Ptr = Ptr->Flink;
}
if (Ptr == &CurrentKey->SubKeyList)
{
return(ERROR_PATH_NOT_FOUND);
}
else
{
CurrentKey = SearchKey;
/* Check whether current key is a link */
if (CurrentKey->DataType == REG_LINK)
{
CurrentKey = (HKEY)CurrentKey->Data;
}
}
KeyName = KeyName + stringLength;
}
if (Key != NULL)
*Key = CurrentKey;
return(ERROR_SUCCESS);
}
S32
RegSetValue(HKEY Key,
PCHAR ValueName,
U32 Type,
PUCHAR Data,
U32 DataSize)
{
PLIST_ENTRY Ptr;
PVALUE Value = NULL;
DbgPrint((DPRINT_REGISTRY, "Key 0x%x, ValueName '%s', Type %d, Data 0x%x, DataSize %d\n",
(int)Key, ValueName, (int)Type, (int)Data, (int)DataSize));
if ((ValueName == NULL) || (*ValueName == 0))
{
/* set default value */
if ((Key->Data != NULL) && (Key->DataSize > sizeof(PUCHAR)))
{
MmFreeMemory(Key->Data);
}
if (DataSize <= sizeof(PUCHAR))
{
Key->DataSize = DataSize;
Key->DataType = Type;
memcpy(&Key->Data, Data, DataSize);
}
else
{
Key->Data = (PUCHAR)MmAllocateMemory(DataSize);
Key->DataSize = DataSize;
Key->DataType = Type;
memcpy(Key->Data, Data, DataSize);
}
}
else
{
/* set non-default value */
Ptr = Key->ValueList.Flink;
while (Ptr != &Key->ValueList)
{
Value = CONTAINING_RECORD(Ptr,
VALUE,
ValueList);
DbgPrint((DPRINT_REGISTRY, "Value->Name '%s'\n", Value->Name));
if (stricmp(Value->Name, ValueName) == 0)
break;
Ptr = Ptr->Flink;
}
if (Ptr == &Key->ValueList)
{
/* add new value */
DbgPrint((DPRINT_REGISTRY, "No value found - adding new value\n"));
Value = (PVALUE)MmAllocateMemory(sizeof(VALUE));
if (Value == NULL)
return(ERROR_OUTOFMEMORY);
InsertTailList(&Key->ValueList, &Value->ValueList);
Key->ValueCount++;
Value->NameSize = strlen(ValueName)+1;
Value->Name = (PCHAR)MmAllocateMemory(Value->NameSize);
if (Value->Name == NULL)
return(ERROR_OUTOFMEMORY);
strcpy(Value->Name, ValueName);
Value->DataType = REG_NONE;
Value->DataSize = 0;
Value->Data = NULL;
}
/* set new value */
if ((Value->Data != NULL) && (Value->DataSize > sizeof(PUCHAR)))
{
MmFreeMemory(Value->Data);
}
if (DataSize <= sizeof(PUCHAR))
{
Value->DataSize = DataSize;
Value->DataType = Type;
memcpy(&Value->Data, Data, DataSize);
}
else
{
Value->Data = (PUCHAR)MmAllocateMemory(DataSize);
if (Value->Data == NULL)
return(ERROR_OUTOFMEMORY);
Value->DataType = Type;
Value->DataSize = DataSize;
memcpy(Value->Data, Data, DataSize);
}
}
return(ERROR_SUCCESS);
}
S32
RegQueryValue(HKEY Key,
PCHAR ValueName,
U32* Type,
PUCHAR Data,
U32* DataSize)
{
U32 Size;
PLIST_ENTRY Ptr;
PVALUE Value = NULL;
if ((ValueName == NULL) || (*ValueName == 0))
{
/* query default value */
if (Key->Data == NULL)
return(ERROR_INVALID_PARAMETER);
if (Type != NULL)
*Type = Key->DataType;
if ((Data != NULL) && (DataSize != NULL))
{
if (Key->DataSize <= sizeof(PUCHAR))
{
Size = min(Key->DataSize, *DataSize);
memcpy(Data, &Key->Data, Size);
*DataSize = Size;
}
else
{
Size = min(Key->DataSize, *DataSize);
memcpy(Data, Key->Data, Size);
*DataSize = Size;
}
}
else if ((Data == NULL) && (DataSize != NULL))
{
*DataSize = Key->DataSize;
}
}
else
{
/* query non-default value */
Ptr = Key->ValueList.Flink;
while (Ptr != &Key->ValueList)
{
Value = CONTAINING_RECORD(Ptr,
VALUE,
ValueList);
DbgPrint((DPRINT_REGISTRY, "Searching for '%s'. Value name '%s'\n", ValueName, Value->Name));
if (stricmp(Value->Name, ValueName) == 0)
break;
Ptr = Ptr->Flink;
}
if (Ptr == &Key->ValueList)
return(ERROR_INVALID_PARAMETER);
if (Type != NULL)
*Type = Value->DataType;
if ((Data != NULL) && (DataSize != NULL))
{
if (Value->DataSize <= sizeof(PUCHAR))
{
Size = min(Value->DataSize, *DataSize);
memcpy(Data, &Value->Data, Size);
*DataSize = Size;
}
else
{
Size = min(Value->DataSize, *DataSize);
memcpy(Data, Value->Data, Size);
*DataSize = Size;
}
}
else if ((Data == NULL) && (DataSize != NULL))
{
*DataSize = Value->DataSize;
}
}
return(ERROR_SUCCESS);
}
S32
RegDeleteValue(HKEY Key,
PCHAR ValueName)
{
PLIST_ENTRY Ptr;
PVALUE Value = NULL;
if ((ValueName == NULL) || (*ValueName == 0))
{
/* delete default value */
if (Key->Data != NULL)
MmFreeMemory(Key->Data);
Key->Data = NULL;
Key->DataSize = 0;
Key->DataType = 0;
}
else
{
/* delete non-default value */
Ptr = Key->ValueList.Flink;
while (Ptr != &Key->ValueList)
{
Value = CONTAINING_RECORD(Ptr,
VALUE,
ValueList);
if (stricmp(Value->Name, ValueName) == 0)
break;
Ptr = Ptr->Flink;
}
if (Ptr == &Key->ValueList)
return(ERROR_INVALID_PARAMETER);
/* delete value */
Key->ValueCount--;
if (Value->Name != NULL)
MmFreeMemory(Value->Name);
Value->Name = NULL;
Value->NameSize = 0;
if (Value->DataSize > sizeof(PUCHAR))
{
if (Value->Data != NULL)
MmFreeMemory(Value->Data);
}
Value->Data = NULL;
Value->DataSize = 0;
Value->DataType = 0;
RemoveEntryList(&Value->ValueList);
MmFreeMemory(Value);
}
return(ERROR_SUCCESS);
}
S32
RegEnumValue(HKEY Key,
U32 Index,
PCHAR ValueName,
U32* NameSize,
U32* Type,
PUCHAR Data,
U32* DataSize)
{
PLIST_ENTRY Ptr;
PVALUE Value;
U32 Count = 0;
if (Key->Data != NULL)
{
if (Index > 0)
{
Index--;
}
else
{
/* enumerate default value */
if (ValueName != NULL)
*ValueName = 0;
if (Type != NULL)
*Type = Key->DataType;
if (Data != NULL)
{
if (Key->DataSize <= sizeof(PUCHAR))
{
memcpy(Data, &Key->Data, min(Key->DataSize, *DataSize));
}
else
{
memcpy(Data, Key->Data, min(Key->DataSize, *DataSize));
}
}
if (DataSize != NULL)
*DataSize = min(Key->DataSize, *DataSize);
return(ERROR_SUCCESS);
}
}
Ptr = Key->ValueList.Flink;
while (Ptr != &Key->ValueList)
{
if (Index == Count)
break;
Count++;
Ptr = Ptr->Flink;
}
if (Ptr == &Key->ValueList)
return(ERROR_NO_MORE_ITEMS);
Value = CONTAINING_RECORD(Ptr,
VALUE,
ValueList);
/* enumerate non-default value */
if (ValueName != NULL)
memcpy(ValueName, Value->Name, min(Value->NameSize, *NameSize));
if (Type != NULL)
*Type = Value->DataType;
if (Data != NULL)
{
if (Value->DataSize <= sizeof(PUCHAR))
{
memcpy(Data, &Value->Data, min(Value->DataSize, *DataSize));
}
else
{
memcpy(Data, Value->Data, min(Value->DataSize, *DataSize));
}
}
if (DataSize != NULL)
*DataSize = min(Value->DataSize, *DataSize);
return(ERROR_SUCCESS);
}
U32
RegGetSubKeyCount (HKEY Key)
{
return Key->SubKeyCount;
}
U32
RegGetValueCount (HKEY Key)
{
if (Key->DataSize != 0)
return Key->ValueCount + 1;
return Key->ValueCount;
}
/* EOF */

View File

@@ -1,304 +0,0 @@
/*
* FreeLoader - registry.h
*
* Copyright (C) 2001 Eric Kohl
*
* 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.
*/
#ifndef __REGISTRY_H
#define __REGISTRY_H
#define INVALID_HANDLE_VALUE NULL
typedef struct _LIST_ENTRY
{
struct _LIST_ENTRY *Flink;
struct _LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_ENTRY;
typedef struct _REG_KEY
{
LIST_ENTRY KeyList;
LIST_ENTRY SubKeyList;
LIST_ENTRY ValueList;
U32 SubKeyCount;
U32 ValueCount;
U32 NameSize;
PUCHAR Name;
/* default data */
U32 DataType;
U32 DataSize;
PUCHAR Data;
} KEY, *HKEY, **PHKEY;
typedef struct _REG_VALUE
{
LIST_ENTRY ValueList;
/* value name */
U32 NameSize;
PUCHAR Name;
/* value data */
U32 DataType;
U32 DataSize;
PUCHAR Data;
} VALUE, *PVALUE;
#define ERROR_SUCCESS 0L
#define ERROR_PATH_NOT_FOUND 2L
#define ERROR_OUTOFMEMORY 14L
#define ERROR_INVALID_PARAMETER 87L
#define ERROR_MORE_DATA 234L
#define ERROR_NO_MORE_ITEMS 259L
#define assert(x)
/*
* VOID
* InitializeListHead (
* PLIST_ENTRY ListHead
* );
*
* FUNCTION: Initializes a double linked list
* ARGUMENTS:
* ListHead = Caller supplied storage for the head of the list
*/
#define InitializeListHead(ListHead) \
{ \
(ListHead)->Flink = (ListHead); \
(ListHead)->Blink = (ListHead); \
}
/*
* VOID
* InsertHeadList (
* PLIST_ENTRY ListHead,
* PLIST_ENTRY Entry
* );
*
* FUNCTION: Inserts an entry in a double linked list
* ARGUMENTS:
* ListHead = Head of the list
* Entry = Entry to insert
*/
#define InsertHeadList(ListHead, ListEntry) \
{ \
PLIST_ENTRY OldFlink; \
OldFlink = (ListHead)->Flink; \
(ListEntry)->Flink = OldFlink; \
(ListEntry)->Blink = (ListHead); \
OldFlink->Blink = (ListEntry); \
(ListHead)->Flink = (ListEntry); \
assert((ListEntry) != NULL); \
assert((ListEntry)->Blink!=NULL); \
assert((ListEntry)->Blink->Flink == (ListEntry)); \
assert((ListEntry)->Flink != NULL); \
assert((ListEntry)->Flink->Blink == (ListEntry)); \
}
/*
* VOID
* InsertTailList (
* PLIST_ENTRY ListHead,
* PLIST_ENTRY Entry
* );
*
* FUNCTION:
* Inserts an entry in a double linked list
*
* ARGUMENTS:
* ListHead = Head of the list
* Entry = Entry to insert
*/
#define InsertTailList(ListHead, ListEntry) \
{ \
PLIST_ENTRY OldBlink; \
OldBlink = (ListHead)->Blink; \
(ListEntry)->Flink = (ListHead); \
(ListEntry)->Blink = OldBlink; \
OldBlink->Flink = (ListEntry); \
(ListHead)->Blink = (ListEntry); \
assert((ListEntry) != NULL); \
assert((ListEntry)->Blink != NULL); \
assert((ListEntry)->Blink->Flink == (ListEntry)); \
assert((ListEntry)->Flink != NULL); \
assert((ListEntry)->Flink->Blink == (ListEntry)); \
}
/*
* BOOLEAN
* IsListEmpty (
* PLIST_ENTRY ListHead
* );
*
* FUNCTION:
* Checks if a double linked list is empty
*
* ARGUMENTS:
* ListHead = Head of the list
*/
#define IsListEmpty(ListHead) \
((ListHead)->Flink == (ListHead))
/*
*VOID
*RemoveEntryList (
* PLIST_ENTRY Entry
* );
*
* FUNCTION:
* Removes an entry from a double linked list
*
* ARGUMENTS:
* ListEntry = Entry to remove
*/
#define RemoveEntryList(ListEntry) \
{ \
PLIST_ENTRY OldFlink; \
PLIST_ENTRY OldBlink; \
assert((ListEntry) != NULL); \
assert((ListEntry)->Blink!=NULL); \
assert((ListEntry)->Blink->Flink == (ListEntry)); \
assert((ListEntry)->Flink != NULL); \
assert((ListEntry)->Flink->Blink == (ListEntry)); \
OldFlink = (ListEntry)->Flink; \
OldBlink = (ListEntry)->Blink; \
OldFlink->Blink = OldBlink; \
OldBlink->Flink = OldFlink; \
(ListEntry)->Flink = NULL; \
(ListEntry)->Blink = NULL; \
}
/*
* PURPOSE: Returns the byte offset of a field within a structure
*/
#define FIELD_OFFSET(Type,Field) (S32)(&(((Type *)(0))->Field))
/*
* PURPOSE: Returns the base address structure if the caller knows the
* address of a field within the structure
* ARGUMENTS:
* Address = address of the field
* Type = Type of the whole structure
* Field = Name of the field whose address is none
*/
#define CONTAINING_RECORD(Address,Type,Field) \
(Type *)(((S32)Address) - FIELD_OFFSET(Type,Field))
#define REG_NONE 0
#define REG_SZ 1
#define REG_EXPAND_SZ 2
#define REG_BINARY 3
#define REG_DWORD 4
#define REG_DWORD_BIG_ENDIAN 5
#define REG_DWORD_LITTLE_ENDIAN 4
#define REG_LINK 6
#define REG_MULTI_SZ 7
#define REG_RESOURCE_LIST 8
#define REG_FULL_RESOURCE_DESCRIPTOR 9
#define REG_RESOURCE_REQUIREMENTS_LIST 10
VOID
RegInitializeRegistry(VOID);
S32
RegInitCurrentControlSet(BOOL LastKnownGood);
S32
RegCreateKey(HKEY ParentKey,
PCHAR KeyName,
PHKEY Key);
S32
RegDeleteKey(HKEY Key,
PCHAR Name);
S32
RegEnumKey(HKEY Key,
U32 Index,
PCHAR Name,
U32* NameSize);
S32
RegOpenKey(HKEY ParentKey,
PCHAR KeyName,
PHKEY Key);
S32
RegSetValue(HKEY Key,
PCHAR ValueName,
U32 Type,
PUCHAR Data,
U32 DataSize);
S32
RegQueryValue(HKEY Key,
PCHAR ValueName,
U32* Type,
PUCHAR Data,
U32* DataSize);
S32
RegDeleteValue(HKEY Key,
PCHAR ValueName);
S32
RegEnumValue(HKEY Key,
U32 Index,
PCHAR ValueName,
U32* NameSize,
U32* Type,
PUCHAR Data,
U32* DataSize);
U32
RegGetSubKeyCount (HKEY Key);
U32
RegGetValueCount (HKEY Key);
BOOL
RegImportBinaryHive (PCHAR ChunkBase,
U32 ChunkSize);
BOOL
RegExportBinaryHive (PCHAR KeyName,
PCHAR ChunkBase,
U32* ChunkSize);
#endif /* __REGISTRY_H */
/* EOF */

View File

@@ -1,585 +0,0 @@
/*
* FreeLoader
*
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <debug.h>
#include <arch.h>
#include <disk.h>
#include <reactos.h>
#include <rtl.h>
#include <fs.h>
#include <multiboot.h>
#include <mm.h>
#include <ui.h>
#include <inffile.h>
#include "registry.h"
//#define USE_UI
static BOOL
LoadKernel(PCHAR szSourcePath, PCHAR szFileName)
{
CHAR szFullName[256];
#ifdef USE_UI
CHAR szBuffer[80];
#endif
PFILE FilePointer;
PCHAR szShortName;
if (szSourcePath[0] != '\\')
{
strcpy(szFullName, "\\");
strcat(szFullName, szSourcePath);
}
else
{
strcpy(szFullName, szSourcePath);
}
if (szFullName[strlen(szFullName)] != '\\')
{
strcat(szFullName, "\\");
}
if (szFileName[0] != '\\')
{
strcat(szFullName, szFileName);
}
else
{
strcat(szFullName, szFileName + 1);
}
szShortName = strrchr(szFileName, '\\');
if (szShortName == NULL)
szShortName = szFileName;
else
szShortName = szShortName + 1;
FilePointer = FsOpenFile(szFullName);
if (FilePointer == NULL)
{
printf("Could not find %s\n", szShortName);
return(FALSE);
}
/*
* Update the status bar with the current file
*/
#ifdef USE_UI
sprintf(szBuffer, "Reading %s", szShortName);
UiDrawStatusText(szBuffer);
#else
printf("Reading %s\n", szShortName);
#endif
/*
* Load the kernel
*/
MultiBootLoadKernel(FilePointer);
return(TRUE);
}
static BOOL
LoadDriver(PCHAR szSourcePath, PCHAR szFileName)
{
CHAR szFullName[256];
#ifdef USE_UI
CHAR szBuffer[80];
#endif
PFILE FilePointer;
PCHAR szShortName;
if (szSourcePath[0] != '\\')
{
strcpy(szFullName, "\\");
strcat(szFullName, szSourcePath);
}
else
{
strcpy(szFullName, szSourcePath);
}
if (szFullName[strlen(szFullName)] != '\\')
{
strcat(szFullName, "\\");
}
if (szFileName[0] != '\\')
{
strcat(szFullName, szFileName);
}
else
{
strcat(szFullName, szFileName + 1);
}
szShortName = strrchr(szFileName, '\\');
if (szShortName == NULL)
szShortName = szFileName;
else
szShortName = szShortName + 1;
FilePointer = FsOpenFile(szFullName);
if (FilePointer == NULL)
{
printf("Could not find %s\n", szFileName);
return(FALSE);
}
/*
* Update the status bar with the current file
*/
#ifdef USE_UI
sprintf(szBuffer, "Reading %s", szShortName);
UiDrawStatusText(szBuffer);
#else
printf("Reading %s\n", szShortName);
#endif
/* Load the driver */
MultiBootLoadModule(FilePointer, szFileName, NULL);
return(TRUE);
}
static BOOL
LoadNlsFile(PCHAR szSourcePath, PCHAR szFileName, PCHAR szModuleName)
{
CHAR szFullName[256];
#ifdef USE_UI
CHAR szBuffer[80];
#endif
PFILE FilePointer;
PCHAR szShortName;
if (szSourcePath[0] != '\\')
{
strcpy(szFullName, "\\");
strcat(szFullName, szSourcePath);
}
else
{
strcpy(szFullName, szSourcePath);
}
if (szFullName[strlen(szFullName)] != '\\')
{
strcat(szFullName, "\\");
}
if (szFileName[0] != '\\')
{
strcat(szFullName, szFileName);
}
else
{
strcat(szFullName, szFileName + 1);
}
szShortName = strrchr(szFileName, '\\');
if (szShortName == NULL)
szShortName = szFileName;
else
szShortName = szShortName + 1;
FilePointer = FsOpenFile(szFullName);
if (FilePointer == NULL)
{
printf("Could not find %s\n", szFileName);
return(FALSE);
}
/*
* Update the status bar with the current file
*/
#ifdef USE_UI
sprintf(szBuffer, "Reading %s", szShortName);
UiDrawStatusText(szBuffer);
#else
printf("Reading %s\n", szShortName);
#endif
/* Load the driver */
MultiBootLoadModule(FilePointer, szModuleName, NULL);
return(TRUE);
}
VOID RunLoader(VOID)
{
PVOID Base;
U32 Size;
char *SourcePath;
char *LoadOptions;
HINF InfHandle;
U32 ErrorLine;
INFCONTEXT InfContext;
/* Setup multiboot information structure */
mb_info.flags = MB_INFO_FLAG_MEM_SIZE | MB_INFO_FLAG_BOOT_DEVICE | MB_INFO_FLAG_COMMAND_LINE | MB_INFO_FLAG_MODULES;
mb_info.mem_lower = GetConventionalMemorySize();
mb_info.mem_upper = GetExtendedMemorySize();
mb_info.boot_device = 0xffffffff;
mb_info.cmdline = (unsigned long)multiboot_kernel_cmdline;
mb_info.mods_count = 0;
mb_info.mods_addr = (unsigned long)multiboot_modules;
mb_info.mmap_length = (unsigned long)GetBiosMemoryMap((PBIOS_MEMORY_MAP)&multiboot_memory_map, 32) * sizeof(memory_map_t);
if (mb_info.mmap_length)
{
mb_info.mmap_addr = (unsigned long)&multiboot_memory_map;
mb_info.flags |= MB_INFO_FLAG_MEMORY_MAP;
multiboot_memory_map_descriptor_size = sizeof(memory_map_t); // GetBiosMemoryMap uses a fixed value of 24
#if 0
{
int i;
printf("memory map length: %d\n", mb_info.mmap_length);
printf("dumping memory map:\n");
for (i=0; i<(mb_info.mmap_length / sizeof(memory_map_t)); i++)
{
printf("start: %x\t size: %x\t type %d\n",
multiboot_memory_map[i].base_addr_low,
multiboot_memory_map[i].length_low,
multiboot_memory_map[i].type);
}
getch();
}
#endif
}
#if 0
printf("low_mem = %d\n", mb_info.mem_lower);
printf("high_mem = %d\n", mb_info.mem_upper);
getch();
#endif
#ifdef USE_UI
UiInitialize();
UiDrawStatusText("");
#endif
/* Initialize registry */
RegInitializeRegistry();
/* Detect hardware */
#ifdef USE_UI
UiDrawStatusText("Detecting hardware...");
#else
printf("Detecting hardware...\n\n");
#endif
DetectHardware();
#ifdef USE_UI
UiDrawStatusText("");
#endif
/* set boot drive and partition */
((char *)(&mb_info.boot_device))[0] = (char)BootDrive;
((char *)(&mb_info.boot_device))[1] = (char)BootPartition;
/* Open boot drive */
if (!FsOpenVolume(BootDrive, BootPartition))
{
#ifdef USE_UI
UiMessageBox("Failed to open boot drive.");
#else
printf("Failed to open boot drive.");
#endif
return;
}
/* Open 'txtsetup.sif' */
if (!InfOpenFile (&InfHandle,
(BootDrive < 0x80) ? "\\txtsetup.sif" : "\\reactos\\txtsetup.sif",
&ErrorLine))
{
printf("Failed to open 'txtsetup.sif'\n");
return;
}
/* Get load options */
if (!InfFindFirstLine (InfHandle,
"SetupData",
"OsLoadOptions",
&InfContext))
{
printf("Failed to find 'SetupData/OsLoadOptions'\n");
return;
}
if (!InfGetDataField (&InfContext,
1,
&LoadOptions))
{
printf("Failed to get load options\n");
return;
}
#if 0
printf("LoadOptions: '%s'\n", LoadOptions);
#endif
if (BootDrive < 0x80)
{
/* Boot from floppy disk */
SourcePath = "\\";
}
else
{
/* Boot from cdrom */
SourcePath = "\\reactos";
}
/* Set kernel command line */
sprintf(multiboot_kernel_cmdline,
"multi(0)disk(0)%s(%u)%s %s",
(BootDrive < 0x80) ? "fdisk" : "cdrom",
(unsigned int)BootDrive,
SourcePath,
LoadOptions);
/* Load ntoskrnl.exe */
if (!LoadKernel(SourcePath, "ntoskrnl.exe"))
return;
/* Load hal.dll */
if (!LoadDriver(SourcePath, "hal.dll"))
return;
/* Export the hardware hive */
Base = MultiBootCreateModule ("HARDWARE");
RegExportBinaryHive ("\\Registry\\Machine\\HARDWARE", Base, &Size);
MultiBootCloseModule (Base, Size);
#if 0
printf("Base: %x\n", Base);
printf("Size: %u\n", Size);
printf("*** System stopped ***\n");
for(;;);
#endif
/* Insert boot disk 2 */
if (BootDrive < 0x80)
{
#ifdef USE_UI
UiMessageBox("Please insert \"ReactOS Boot Disk 2\" and press ENTER");
#else
printf("\n\n Please insert \"ReactOS Boot Disk 2\" and press ENTER\n");
getch();
#endif
/* Open boot drive */
if (!FsOpenVolume(BootDrive, BootPartition))
{
#ifdef USE_UI
UiMessageBox("Failed to open boot drive.");
#else
printf("Failed to open boot drive.");
#endif
return;
}
/* FIXME: check volume label or disk marker file */
}
/* Get ANSI codepage file */
if (!InfFindFirstLine (InfHandle,
"NLS",
"AnsiCodepage",
&InfContext))
{
printf("Failed to find 'NLS/AnsiCodepage'\n");
return;
}
if (!InfGetDataField (&InfContext,
1,
&LoadOptions))
{
printf("Failed to get load options\n");
return;
}
/* Load ANSI codepage file */
if (!LoadNlsFile(SourcePath, LoadOptions, "ansi.nls"))
{
#ifdef USE_UI
UiMessageBox("Failed to load the ANSI codepage file.");
#else
printf("Failed to load the ANSI codepage file.");
#endif
return;
}
/* Get OEM codepage file */
if (!InfFindFirstLine (InfHandle,
"NLS",
"OemCodepage",
&InfContext))
{
printf("Failed to find 'NLS/AnsiCodepage'\n");
return;
}
if (!InfGetDataField (&InfContext,
1,
&LoadOptions))
{
printf("Failed to get load options\n");
return;
}
/* Load OEM codepage file */
if (!LoadNlsFile(SourcePath, LoadOptions, "oem.nls"))
{
#ifdef USE_UI
UiMessageBox("Failed to load the OEM codepage file.");
#else
printf("Failed to load the OEM codepage file.");
#endif
return;
}
/* Get Unicode Casemap file */
if (!InfFindFirstLine (InfHandle,
"NLS",
"UnicodeCasetable",
&InfContext))
{
printf("Failed to find 'NLS/AnsiCodepage'\n");
return;
}
if (!InfGetDataField (&InfContext,
1,
&LoadOptions))
{
printf("Failed to get load options\n");
return;
}
/* Load Unicode casemap file */
if (!LoadNlsFile(SourcePath, LoadOptions, "casemap.nls"))
{
#ifdef USE_UI
UiMessageBox("Failed to load the Unicode casemap file.");
#else
printf("Failed to load the Unicode casemap file.");
#endif
return;
}
/* Load drivers */
if (BootDrive < 0x80)
{
/*
* Load floppy.sys
*/
if (!LoadDriver(SourcePath, "floppy.sys"))
return;
/*
* Load vfatfs.sys (could be loaded by the setup prog!)
*/
if (!LoadDriver(SourcePath, "vfatfs.sys"))
return;
}
else
{
/*
* Load scsiport.sys
*/
if (!LoadDriver(SourcePath, "scsiport.sys"))
return;
/*
* Load atapi.sys (depends on hardware detection)
*/
if (!LoadDriver(SourcePath, "atapi.sys"))
return;
/*
* Load class2.sys
*/
if (!LoadDriver(SourcePath, "class2.sys"))
return;
/*
* Load cdrom.sys
*/
if (!LoadDriver(SourcePath, "cdrom.sys"))
return;
/*
* Load cdfs.sys
*/
if (!LoadDriver(SourcePath, "cdfs.sys"))
return;
/*
* Load disk.sys
*/
if (!LoadDriver(SourcePath, "disk.sys"))
return;
/*
* Load vfatfs.sys (could be loaded by the setup prog!)
*/
if (!LoadDriver(SourcePath, "vfatfs.sys"))
return;
}
/*
* Load keyboard driver
*/
if (!LoadDriver(SourcePath, "keyboard.sys"))
return;
/*
* Load screen driver
*/
if (!LoadDriver(SourcePath, "blue.sys"))
return;
#ifdef USE_UI
UiUnInitialize("Booting ReactOS...");
#endif
/*
* Now boot the kernel
*/
DiskStopFloppyMotor();
boot_reactos();
}
/* EOF */

View File

@@ -1,142 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <rtl.h>
/*
* print() - prints unformatted text to stdout
*/
void print(char *str)
{
int i;
for(i=0; i<strlen(str); i++)
putchar(str[i]);
}
/*
* printf() - prints formatted text to stdout
* originally from GRUB
*/
void printf(char *format, ... )
{
int *dataptr = (int *) &format;
char c, *ptr, str[16];
dataptr++;
while ((c = *(format++)))
{
if (c != '%')
{
putchar(c);
}
else
{
switch (c = *(format++))
{
case 'd': case 'u': case 'x':
*convert_to_ascii(str, c, *((unsigned long *) dataptr++)) = 0;
ptr = str;
while (*ptr)
{
putchar(*(ptr++));
}
break;
case 'c': putchar((*(dataptr++))&0xff); break;
case 's':
ptr = (char *)(*(dataptr++));
while ((c = *(ptr++)))
{
putchar(c);
}
break;
case '%':
putchar(c);
break;
default:
printf("\nprintf() invalid format specifier - %%%c\n", c);
break;
}
}
}
}
void sprintf(char *buffer, char *format, ... )
{
int *dataptr = (int *) &format;
char c, *ptr, str[16];
char *p = buffer;
dataptr++;
while ((c = *(format++)))
{
if (c != '%')
{
*p = c;
p++;
}
else
{
switch (c = *(format++))
{
case 'd': case 'u': case 'x':
*convert_to_ascii(str, c, *((unsigned long *) dataptr++)) = 0;
ptr = str;
while (*ptr)
{
*p = *(ptr++);
p++;
}
break;
case 'c':
*p = (*(dataptr++))&0xff;
p++;
break;
case 's':
ptr = (char *)(*(dataptr++));
while ((c = *(ptr++)))
{
*p = c;
p++;
}
break;
case '%':
*p = c;
p++;
break;
default:
printf("\nsprintf() invalid format specifier - %%%c\n", c);
break;
}
}
}
*p=0;
}

View File

@@ -1,176 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <rtl.h>
int strlen(char *str)
{
int len;
for(len=0; str[len] != '\0'; len++);
return len;
}
char *strcpy(char *dest, char *src)
{
char *ret = dest;
while(*src)
*dest++ = *src++;
*dest = 0;
return ret;
}
char *strncpy(char *dest, char *src, size_t count)
{
char *ret = dest;
while((*src) && (count--))
*dest++ = *src++;
if (count)
*dest = 0;
return ret;
}
char *strcat(char *dest, char *src)
{
char *ret = dest;
while(*dest)
dest++;
while(*src)
*dest++ = *src++;
*dest = 0;
return ret;
}
char *strncat(char *dst, const char *src, size_t n)
{
if (n != 0)
{
char *d = dst;
const char *s = src;
while (*d != 0)
d++;
do
{
if ((*d = *s++) == 0)
break;
d++;
}
while (--n != 0);
*d = 0;
}
return dst;
}
char *strchr(const char *s, int c)
{
char cc = c;
while (*s)
{
if (*s == cc)
return (char *)s;
s++;
}
if (cc == 0)
return (char *)s;
return 0;
}
char *strrchr(const char *s, int c)
{
char cc = c;
const char *sp=(char *)0;
while (*s)
{
if (*s == cc)
sp = s;
s++;
}
if (cc == 0)
sp = s;
return (char *)sp;
}
int strcmp(const char *string1, const char *string2)
{
while(*string1 == *string2)
{
if(*string1 == 0)
return 0;
string1++;
string2++;
}
return *(unsigned const char *)string1 - *(unsigned const char *)(string2);
}
int stricmp(const char *string1, const char *string2)
{
while(tolower(*string1) == tolower(*string2))
{
if(*string1 == 0)
return 0;
string1++;
string2++;
}
return (int)tolower(*string1) - (int)tolower(*string2);
}
int strnicmp(const char *string1, const char *string2, size_t length)
{
if (length == 0)
return 0;
do
{
if (toupper(*string1) != toupper(*string2++))
return toupper(*(unsigned const char *)string1) - toupper(*(unsigned const char *)--string2);
if (*string1++ == 0)
break;
}
while (--length != 0);
return 0;
}
int strncmp(const char *string1, const char *string2, size_t length)
{
if (length == 0)
return 0;
do
{
if (*string1 != *string2++)
return *(unsigned const char *)string1 - *(unsigned const char *)--string2;
if (*string1++ == 0)
break;
}
while (--length != 0);
return 0;
}

View File

@@ -1,56 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __GUI_H
#define __GUI_H
#define TUI_SCREEN_MEM 0xB8000
#define TITLE_BOX_CHAR_HEIGHT 5
///////////////////////////////////////////////////////////////////////////////////////
//
// Graphical User Interface Functions
//
///////////////////////////////////////////////////////////////////////////////////////
VOID GuiDrawBackdrop(VOID); // Fills the entire screen with a backdrop
VOID GuiFillArea(U32 Left, U32 Top, U32 Right, U32 Bottom, UCHAR FillChar, UCHAR Attr /* Color Attributes */); // Fills the area specified with FillChar and Attr
VOID GuiDrawShadow(U32 Left, U32 Top, U32 Right, U32 Bottom); // Draws a shadow on the bottom and right sides of the area specified
VOID GuiDrawBox(U32 Left, U32 Top, U32 Right, U32 Bottom, UCHAR VertStyle, UCHAR HorzStyle, BOOL Fill, BOOL Shadow, UCHAR Attr); // Draws a box around the area specified
VOID GuiDrawText(U32 X, U32 Y, PUCHAR Text, UCHAR Attr); // Draws text at coordinates specified
VOID GuiDrawStatusText(PUCHAR StatusText); // Draws text at the very bottom line on the screen
VOID GuiUpdateDateTime(VOID); // Updates the date and time
VOID GuiSaveScreen(PUCHAR Buffer); // Saves the screen so that it can be restored later
VOID GuiRestoreScreen(PUCHAR Buffer); // Restores the screen from a previous save
VOID GuiMessageBox(PUCHAR MessageText); // Displays a message box on the screen with an ok button
VOID GuiMessageBoxCritical(PUCHAR MessageText); // Displays a message box on the screen with an ok button using no system resources
VOID GuiDrawProgressBar(U32 Position, U32 Range); // Draws the progress bar showing nPos percent filled
UCHAR GuiTextToColor(PUCHAR ColorText); // Converts the text color into it's equivalent color value
UCHAR GuiTextToFillStyle(PUCHAR FillStyleText); // Converts the text fill into it's equivalent fill value
///////////////////////////////////////////////////////////////////////////////////////
//
// Menu Functions
//
///////////////////////////////////////////////////////////////////////////////////////
BOOL GuiDisplayMenu(PUCHAR MenuItemList[], U32 MenuItemCount, U32 DefaultMenuItem, S32 MenuTimeOut, U32* SelectedMenuItem);
#endif // #defined __GUI_H

View File

@@ -1,150 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __TUI_H
#define __TUI_H
#define TUI_SCREEN_MEM 0xB8000
#define TUI_TITLE_BOX_CHAR_HEIGHT 5
///////////////////////////////////////////////////////////////////////////////////////
//
// Textual User Interface Functions
//
///////////////////////////////////////////////////////////////////////////////////////
BOOL TuiInitialize(VOID); // Initialize User-Interface
VOID TuiUnInitialize(VOID); // Un-initialize User-Interface
VOID TuiDrawBackdrop(VOID); // Fills the entire screen with a backdrop
VOID TuiFillArea(U32 Left, U32 Top, U32 Right, U32 Bottom, UCHAR FillChar, UCHAR Attr /* Color Attributes */); // Fills the area specified with FillChar and Attr
VOID TuiDrawShadow(U32 Left, U32 Top, U32 Right, U32 Bottom); // Draws a shadow on the bottom and right sides of the area specified
VOID TuiDrawBox(U32 Left, U32 Top, U32 Right, U32 Bottom, UCHAR VertStyle, UCHAR HorzStyle, BOOL Fill, BOOL Shadow, UCHAR Attr); // Draws a box around the area specified
VOID TuiDrawText(U32 X, U32 Y, PUCHAR Text, UCHAR Attr); // Draws text at coordinates specified
VOID TuiDrawCenteredText(U32 Left, U32 Top, U32 Right, U32 Bottom, PUCHAR TextString, UCHAR Attr); // Draws centered text at the coordinates specified and clips the edges
VOID TuiDrawStatusText(PUCHAR StatusText); // Draws text at the very bottom line on the screen
VOID TuiUpdateDateTime(VOID); // Updates the date and time
VOID TuiSaveScreen(PUCHAR Buffer); // Saves the screen so that it can be restored later
VOID TuiRestoreScreen(PUCHAR Buffer); // Restores the screen from a previous save
VOID TuiMessageBox(PUCHAR MessageText); // Displays a message box on the screen with an ok button
VOID TuiMessageBoxCritical(PUCHAR MessageText); // Displays a message box on the screen with an ok button using no system resources
VOID TuiDrawProgressBarCenter(U32 Position, U32 Range, PUCHAR ProgressText); // Draws the progress bar showing nPos percent filled
VOID TuiDrawProgressBar(U32 Left, U32 Top, U32 Right, U32 Bottom, U32 Position, U32 Range, PUCHAR ProgressText); // Draws the progress bar showing nPos percent filled
BOOL TuiEditBox(PUCHAR MessageText, PUCHAR EditTextBuffer, U32 Length);
UCHAR TuiTextToColor(PUCHAR ColorText); // Converts the text color into it's equivalent color value
UCHAR TuiTextToFillStyle(PUCHAR FillStyleText); // Converts the text fill into it's equivalent fill value
VOID TuiFadeInBackdrop(VOID); // Draws the backdrop and fades the screen in
VOID TuiFadeOut(VOID); // Fades the screen out
///////////////////////////////////////////////////////////////////////////////////////
//
// Menu Functions
//
///////////////////////////////////////////////////////////////////////////////////////
typedef struct
{
PUCHAR *MenuItemList;
U32 MenuItemCount;
S32 MenuTimeRemaining;
U32 SelectedMenuItem;
U32 Left;
U32 Top;
U32 Right;
U32 Bottom;
} TUI_MENU_INFO, *PTUI_MENU_INFO;
VOID TuiCalcMenuBoxSize(PTUI_MENU_INFO MenuInfo);
VOID TuiDrawMenu(PTUI_MENU_INFO MenuInfo);
VOID TuiDrawMenuBox(PTUI_MENU_INFO MenuInfo);
VOID TuiDrawMenuItem(PTUI_MENU_INFO MenuInfo, U32 MenuItemNumber);
U32 TuiProcessMenuKeyboardEvent(PTUI_MENU_INFO MenuInfo, UiMenuKeyPressFilterCallback KeyPressFilter);
BOOL TuiDisplayMenu(PUCHAR MenuItemList[], U32 MenuItemCount, U32 DefaultMenuItem, S32 MenuTimeOut, U32* SelectedMenuItem, BOOL CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter);
/*
* Combines the foreground and background colors into a single attribute byte
*/
#define ATTR(cFore, cBack) ((cBack << 4)|cFore)
/*
* Fill styles for DrawBackdrop()
*/
#define LIGHT_FILL 0xB0
#define MEDIUM_FILL 0xB1
#define DARK_FILL 0xB2
/*
* Screen colors
*/
#define COLOR_BLACK 0
#define COLOR_BLUE 1
#define COLOR_GREEN 2
#define COLOR_CYAN 3
#define COLOR_RED 4
#define COLOR_MAGENTA 5
#define COLOR_BROWN 6
#define COLOR_GRAY 7
#define COLOR_DARKGRAY 8
#define COLOR_LIGHTBLUE 9
#define COLOR_LIGHTGREEN 10
#define COLOR_LIGHTCYAN 11
#define COLOR_LIGHTRED 12
#define COLOR_LIGHTMAGENTA 13
#define COLOR_YELLOW 14
#define COLOR_WHITE 15
/* Add COLOR_BLINK to a background to cause blinking */
#define COLOR_BLINK 8
/*
* Defines for IBM box drawing characters
*/
#define HORZ (0xc4) /* Single horizontal line */
#define D_HORZ (0xcd) /* Double horizontal line.*/
#define VERT (0xb3) /* Single vertical line */
#define D_VERT (0xba) /* Double vertical line. */
/* Definitions for corners, depending on HORIZ and VERT */
#define UL (0xda)
#define UR (0xbf) /* HORZ and VERT */
#define LL (0xc0)
#define LR (0xd9)
#define D_UL (0xc9)
#define D_UR (0xbb) /* D_HORZ and D_VERT */
#define D_LL (0xc8)
#define D_LR (0xbc)
#define HD_UL (0xd5)
#define HD_UR (0xb8) /* D_HORZ and VERT */
#define HD_LL (0xd4)
#define HD_LR (0xbe)
#define VD_UL (0xd6)
#define VD_UR (0xb7) /* HORZ and D_VERT */
#define VD_LL (0xd3)
#define VD_LR (0xbd)
#endif // #defined __TUI_H

View File

@@ -1,152 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <video.h>
#include <comm.h>
#include <rtl.h>
#include <debug.h>
U32 CurrentMemoryBank = 0;
VOID VideoSetMemoryBank(U16 BankNumber)
{
if (CurrentMemoryBank != BankNumber)
{
BiosVesaSetBank(BankNumber);
CurrentMemoryBank = BankNumber;
}
}
U32 VideoGetMemoryBankForPixel(U32 X, U32 Y)
{
U32 Bank;
U32 MemoryPos;
U32 BankSize;
U32 BytesPerPixel;
//BytesPerPixel = ROUND_UP(VesaVideoModeInformation.BitsPerPixel, 8) / 8;
BytesPerPixel = (VesaVideoModeInformation.BitsPerPixel + 7) >> 3;
MemoryPos = (Y * VideoGetBytesPerScanLine()) + (X * BytesPerPixel);
//BankSize = VesaVideoModeInformation.WindowGranularity * 1024;
BankSize = VesaVideoModeInformation.WindowGranularity << 10;
Bank = MemoryPos / BankSize;
return Bank;
}
U32 VideoGetMemoryBankForPixel16(U32 X, U32 Y)
{
U32 Bank;
U32 MemoryPos;
U32 BankSize;
MemoryPos = (Y * VideoGetBytesPerScanLine()) + (X / 2);
//BankSize = VesaVideoModeInformation.WindowGranularity * 1024;
BankSize = VesaVideoModeInformation.WindowGranularity << 10;
Bank = MemoryPos / BankSize;
return Bank;
}
U32 VideoGetBankOffsetForPixel(U32 X, U32 Y)
{
U32 BankOffset;
U32 MemoryPos;
U32 BankSize;
U32 BytesPerPixel;
//BytesPerPixel = ROUND_UP(VesaVideoModeInformation.BitsPerPixel, 8) / 8;
BytesPerPixel = (VesaVideoModeInformation.BitsPerPixel + 7) >> 3;
MemoryPos = (Y * VideoGetBytesPerScanLine()) + (X * BytesPerPixel);
//BankSize = VesaVideoModeInformation.WindowGranularity * 1024;
BankSize = VesaVideoModeInformation.WindowGranularity << 10;
BankOffset = MemoryPos % BankSize;
return BankOffset;
}
U32 VideoGetBankOffsetForPixel16(U32 X, U32 Y)
{
U32 BankOffset;
U32 MemoryPos;
U32 BankSize;
MemoryPos = (Y * VideoGetBytesPerScanLine()) + (X / 2);
//BankSize = VesaVideoModeInformation.WindowGranularity * 1024;
BankSize = VesaVideoModeInformation.WindowGranularity << 10;
BankOffset = MemoryPos % BankSize;
return BankOffset;
}
U32 VideoGetOffScreenMemoryOffsetForPixel(U32 X, U32 Y)
{
U32 MemoryPos;
U32 BytesPerPixel;
//BytesPerPixel = ROUND_UP(VesaVideoModeInformation.BitsPerPixel, 8) / 8;
BytesPerPixel = (VesaVideoModeInformation.BitsPerPixel + 7) >> 3;
MemoryPos = (Y * VesaVideoModeInformation.BytesPerScanLine) + (X * BytesPerPixel);
return MemoryPos;
}
VOID VideoCopyOffScreenBufferToVRAM(VOID)
{
U32 BanksToCopy;
U32 BytesInLastBank;
U32 CurrentBank;
U32 BankSize;
U32 BufferSize;
//VideoWaitForVerticalRetrace();
// Text mode (BIOS or VESA)
if (VideoGetCurrentModeType() == MODETYPE_TEXT)
{
BufferSize = VideoGetCurrentModeResolutionX() * VideoGetBytesPerScanLine();
RtlCopyMemory((PVOID)VIDEOTEXT_MEM_ADDRESS, VideoOffScreenBuffer, BufferSize);
}
// VESA graphics mode
else if (VideoGetCurrentModeType() == MODETYPE_GRAPHICS && VideoIsCurrentModeVesa())
{
BankSize = VesaVideoModeInformation.WindowGranularity << 10;
BanksToCopy = (VesaVideoModeInformation.HeightInPixels * VesaVideoModeInformation.BytesPerScanLine) / BankSize;
BytesInLastBank = (VesaVideoModeInformation.HeightInPixels * VesaVideoModeInformation.BytesPerScanLine) % BankSize;
// Copy all the banks but the last one because
// it is probably a partial bank
for (CurrentBank=0; CurrentBank<BanksToCopy; CurrentBank++)
{
VideoSetMemoryBank(CurrentBank);
RtlCopyMemory((PVOID)VIDEOVGA_MEM_ADDRESS, VideoOffScreenBuffer, BankSize);
}
// Copy the remaining bytes into the last bank
VideoSetMemoryBank(CurrentBank);
RtlCopyMemory((PVOID)VIDEOVGA_MEM_ADDRESS, VideoOffScreenBuffer, BytesInLastBank);
}
// BIOS graphics mode
else
{
UNIMPLEMENTED();
}
}

View File

@@ -1,61 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <video.h>
#include <portio.h>
VOID VideoSetPaletteColor(U8 Color, U8 Red, U8 Green, U8 Blue)
{
WRITE_PORT_UCHAR((U8*)VIDEOPORT_PALETTE_WRITE, Color);
WRITE_PORT_UCHAR((U8*)VIDEOPORT_PALETTE_DATA, Red);
WRITE_PORT_UCHAR((U8*)VIDEOPORT_PALETTE_DATA, Green);
WRITE_PORT_UCHAR((U8*)VIDEOPORT_PALETTE_DATA, Blue);
}
VOID VideoGetPaletteColor(U8 Color, U8* Red, U8* Green, U8* Blue)
{
WRITE_PORT_UCHAR((U8*)VIDEOPORT_PALETTE_READ, Color);
*Red = READ_PORT_UCHAR((U8*)VIDEOPORT_PALETTE_DATA);
*Green = READ_PORT_UCHAR((U8*)VIDEOPORT_PALETTE_DATA);
*Blue = READ_PORT_UCHAR((U8*)VIDEOPORT_PALETTE_DATA);
}
VOID VideoSavePaletteState(PPALETTE_ENTRY Palette, U32 ColorCount)
{
U32 Color;
for (Color=0; Color<ColorCount; Color++)
{
VideoGetPaletteColor(Color, &Palette[Color].Red, &Palette[Color].Green, &Palette[Color].Blue);
}
}
VOID VideoRestorePaletteState(PPALETTE_ENTRY Palette, U32 ColorCount)
{
U32 Color;
VideoWaitForVerticalRetrace();
for (Color=0; Color<ColorCount; Color++)
{
VideoSetPaletteColor(Color, Palette[Color].Red, Palette[Color].Green, Palette[Color].Blue);
}
}

View File

@@ -1,343 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <video.h>
#include <portio.h>
#include <debug.h>
//
// Arrrggh!
// I really really hate 16 color bit plane modes.
// They should all burn in hell for what they've
// done to my sleeping habits. And I still can't
// get this code to work and I have absolutely
// no idea why...
//
// Someone else can take up this portion of the
// boot loader because my give up...
//
// I was going to store the offscreen buffer as
// a big array of bytes (as opposed to four bits)
// and that makes it a bit easier to set a pixel
// on the offscreen buffer, but will have to be
// handled in the VideoCopyOffScreenBufferToVRAM()
// function.
//
VOID VideoSetPixel16(U32 X, U32 Y, U8 Color)
{
//U8 CurrentColor;
U8* MemoryPointer;
U32 ByteOffset;
U8 BitInByte;
U8 ReadByte;
U8 BitToChange;
MemoryPointer = (U8*)(VIDEOVGA_MEM_ADDRESS);
// Calculate the byte offset into the bit-plane
// where the pixel is to be set and the bit
// offset in that byte.
//ByteOffset = (Y * VideoGetBytesPerScanLine()) + (X >> 3);
//ByteOffset = (Y * 80) + (X >> 3);
ByteOffset = (Y * 640) + X;
BitInByte = ByteOffset & 7;
ByteOffset = ByteOffset >> 3;
//BitToChange = 0x80 >> BitInByte;
BitToChange = 0x80;
DbgPrint((DPRINT_WARNING, "X = %d Y = %d Color = %d ByteOffset = %d BitInByte = %d BitToChange = %d\n", X, Y, Color, ByteOffset, BitInByte, BitToChange));
//getch();
// Read the byte of memory to be changed. This is a
// read for the video card latches and the data read
// from memory does not need to be used.
ReadByte = MemoryPointer[ByteOffset];
// Select the bit or bits in the byte that need to be
// changed through index 8 of the VGA card address
// register by sending an 8 out to I/O port 3CEh.
// Next get the bits to be changed (a one-bit represents
// a bit to be changed) and send this out to I/O
// port 3CFh, the bit mask register (BMR).
//WRITE_PORT_USHORT((U16*)0x3CE, (((U16)BitToChange) << 8) + 0x08);
WRITE_PORT_UCHAR((U8*)0x3CE, 0x08);
//WRITE_PORT_UCHAR((U8*)0x3CF, BitToChange);
WRITE_PORT_UCHAR((U8*)0x3CF, BitInByte);
// Next set all mask bits to 1111 in the map mask register
// (MMR) at sequencer offset 2, and write color 0 to the
// VGA card to set the color to black. The mask bits select
// the bit planes to be changed. If all are selected and a
// color of 0 is written, all four bit-planes are clear to zero.
WRITE_PORT_USHORT((U16*)0x3C4, 0x0F02);
//WRITE_PORT_UCHAR((U8*)0x3C4, 0x02);
//WRITE_PORT_UCHAR((U8*)0x3C5, 0x0F); // Mask to 1111 binary
MemoryPointer[ByteOffset] = 0x00;
// Send the desired color number to the map mask register and
// write an FFh to the video memory. This places a logic one
// in only the selected bit planes to write a new color to
// a pixel or dot on the screen.
WRITE_PORT_UCHAR((U8*)0x3C4, 0x02);
//WRITE_PORT_UCHAR((U8*)0x3C5, Color);
WRITE_PORT_UCHAR((U8*)0x3C5, 0x0F);
//WRITE_PORT_USHORT((U16*)0x3C4, 0x0A02);
MemoryPointer[ByteOffset] = 0xFF;
/*CurrentColor = Color;
MemoryPointer = (U8*)(VIDEOVGA_MEM_ADDRESS);
WRITE_PORT_USHORT((U16*)0x3CE, 0x00 | (CurrentColor << 8));
WRITE_PORT_USHORT((U16*)0x3CE, 0x08 | 0x8000 >> (X & 7));
MemoryPointer += (Y * VideoGetBytesPerScanLine()) + (X >> 3);
*MemoryPointer = *MemoryPointer;
getch();*/
// First select the color plane
//ColorPlane = Color;
//ColorPlane = (ColorPlane << 8) + 0x02;
//WRITE_PORT_USHORT((U16*)0x3C4, ColorPlane);
// Now calculate the byte offset in the
// color plane that contains our pixel
// Since there are 8 pixels per byte we
// have to adjust accordingly
/*ByteOffset = (Y * VideoGetCurrentModeResolutionX()) + X;
BitInByte = ByteOffset % 8;
ByteOffset = ByteOffset / 8;
// Shift the color to the right bit
Color = 1;
Color = Color << BitInByte;
// Get the current color
CurrentColor = MemoryPointer[ByteOffset];
// Add the new color
CurrentColor = CurrentColor | Color;
// Now set the color
MemoryPointer[ByteOffset] = CurrentColor;*/
}
VOID VideoSetPixel256(U32 X, U32 Y, U8 Color)
{
U32 Bank;
U32 Offset;
U8* MemoryPointer;
MemoryPointer = (U8*)(VIDEOVGA_MEM_ADDRESS);
Bank = VideoGetMemoryBankForPixel(X, Y);
Offset = VideoGetBankOffsetForPixel(X, Y);
VideoSetMemoryBank(Bank);
MemoryPointer[Offset] = Color;
}
VOID VideoSetPixelRGB_15Bit(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue)
{
U32 Bank;
U32 Offset;
U8* MemoryPointer;
U16 Pixel;
MemoryPointer = (U8*)(VIDEOVGA_MEM_ADDRESS);
Bank = VideoGetMemoryBankForPixel(X, Y);
Offset = VideoGetBankOffsetForPixel(X, Y);
VideoSetMemoryBank(Bank);
Red = Red >> 3;
Green = Green >> 3;
Blue = Blue >> 3;
Pixel = Red << 11 | Green << 6 | Blue << 1;
MemoryPointer[Offset] = Pixel & 0xFF;
MemoryPointer[Offset+1] = Pixel >> 8;
}
VOID VideoSetPixelRGB_16Bit(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue)
{
U32 Bank;
U32 Offset;
U8* MemoryPointer;
U16 Pixel;
MemoryPointer = (U8*)(VIDEOVGA_MEM_ADDRESS);
Bank = VideoGetMemoryBankForPixel(X, Y);
Offset = VideoGetBankOffsetForPixel(X, Y);
VideoSetMemoryBank(Bank);
Red = Red >> 3;
Green = Green >> 2;
Blue = Blue >> 3;
Pixel = (U16)Red << 11 | (U16)Green << 5 | (U16)Blue << 0;
MemoryPointer[Offset] = Pixel & 0xFF;
MemoryPointer[Offset+1] = Pixel >> 8;
}
VOID VideoSetPixelRGB_24Bit(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue)
{
U32 Bank;
U32 Offset;
U8* MemoryPointer;
MemoryPointer = (U8*)(VIDEOVGA_MEM_ADDRESS);
Bank = VideoGetMemoryBankForPixel(X, Y);
Offset = VideoGetBankOffsetForPixel(X, Y);
VideoSetMemoryBank(Bank);
MemoryPointer[Offset] = Blue;
MemoryPointer[Offset+1] = Green;
MemoryPointer[Offset+2] = Red;
}
VOID VideoSetPixelRGB(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue)
{
if (VesaVideoModeInformation.BitsPerPixel >= 24)
{
VideoSetPixelRGB_24Bit(X, Y, Red, Green, Blue);
}
else if (VesaVideoModeInformation.BitsPerPixel >= 16)
{
// 16-bit color modes give green an extra bit (5:6:5)
// 15-bit color modes have just 5:5:5 for R:G:B
if (VesaVideoModeInformation.GreenMaskSize == 6)
{
VideoSetPixelRGB_16Bit(X, Y, Red, Green, Blue);
}
else
{
VideoSetPixelRGB_15Bit(X, Y, Red, Green, Blue);
}
}
else
{
BugCheck((DPRINT_UI, "This function does not support %d bits per pixel!", VesaVideoModeInformation.BitsPerPixel));
}
}
VOID VideoSetPixel16_OffScreen(U32 X, U32 Y, U8 Color)
{
}
VOID VideoSetPixel256_OffScreen(U32 X, U32 Y, U8 Color)
{
U8* MemoryPointer;
MemoryPointer = (U8*)(VideoOffScreenBuffer + VideoGetOffScreenMemoryOffsetForPixel(X, Y));
*MemoryPointer = Color;
}
VOID VideoSetPixelRGB_15Bit_OffScreen(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue)
{
U32 Offset;
U8* MemoryPointer;
U16 Pixel;
MemoryPointer = (U8*)(VideoOffScreenBuffer);
Offset = VideoGetOffScreenMemoryOffsetForPixel(X, Y);
Red = Red >> 3;
Green = Green >> 3;
Blue = Blue >> 3;
Pixel = Red << 11 | Green << 6 | Blue << 1;
MemoryPointer[Offset] = Pixel & 0xFF;
MemoryPointer[Offset+1] = Pixel >> 8;
}
VOID VideoSetPixelRGB_16Bit_OffScreen(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue)
{
U32 Offset;
U8* MemoryPointer;
U16 Pixel;
MemoryPointer = (U8*)(VideoOffScreenBuffer);
Offset = VideoGetOffScreenMemoryOffsetForPixel(X, Y);
Red = Red >> 3;
Green = Green >> 2;
Blue = Blue >> 3;
Pixel = (U16)Red << 11 | (U16)Green << 5 | (U16)Blue << 0;
MemoryPointer[Offset] = Pixel & 0xFF;
MemoryPointer[Offset+1] = Pixel >> 8;
}
VOID VideoSetPixelRGB_24Bit_OffScreen(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue)
{
U32 Offset;
U8* MemoryPointer;
MemoryPointer = (U8*)(VideoOffScreenBuffer);
Offset = VideoGetOffScreenMemoryOffsetForPixel(X, Y);
MemoryPointer[Offset] = Blue;
MemoryPointer[Offset+1] = Green;
MemoryPointer[Offset+2] = Red;
}
VOID VideoSetPixelRGB_OffScreen(U32 X, U32 Y, U8 Red, U8 Green, U8 Blue)
{
if (VesaVideoModeInformation.BitsPerPixel >= 24)
{
VideoSetPixelRGB_24Bit_OffScreen(X, Y, Red, Green, Blue);
}
else if (VesaVideoModeInformation.BitsPerPixel >= 16)
{
// 16-bit color modes give green an extra bit (5:6:5)
// 15-bit color modes have just 5:5:5 for R:G:B
if (VesaVideoModeInformation.GreenMaskSize == 6)
{
VideoSetPixelRGB_16Bit_OffScreen(X, Y, Red, Green, Blue);
}
else
{
VideoSetPixelRGB_15Bit_OffScreen(X, Y, Red, Green, Blue);
}
}
else
{
BugCheck((DPRINT_UI, "This function does not support %d bits per pixel!", VesaVideoModeInformation.BitsPerPixel));
}
}

View File

@@ -1,67 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <video.h>
#include <portio.h>
#include <mm.h>
PVOID VideoOffScreenBuffer = NULL;
VOID VideoClearScreen(VOID)
{
VideoSetMode(VideoGetCurrentMode());
}
VOID VideoWaitForVerticalRetrace(VOID)
{
while ((READ_PORT_UCHAR((U8*)VIDEOPORT_VERTICAL_RETRACE) & 0x08) == 1)
{
// Keep reading the port until bit 3 is clear
// This waits for the current retrace to end and
// we can catch the next one so we know we are
// getting a full retrace.
}
while ((READ_PORT_UCHAR((U8*)VIDEOPORT_VERTICAL_RETRACE) & 0x08) == 0)
{
// Keep reading the port until bit 3 is set
// Now that we know we aren't doing a vertical
// retrace we need to wait for the next one.
}
}
PVOID VideoAllocateOffScreenBuffer(VOID)
{
U32 BufferSize;
if (VideoOffScreenBuffer != NULL)
{
MmFreeMemory(VideoOffScreenBuffer);
VideoOffScreenBuffer = NULL;
}
BufferSize = VideoGetCurrentModeResolutionX() * VideoGetBytesPerScanLine();
VideoOffScreenBuffer = MmAllocateMemory(BufferSize);
return VideoOffScreenBuffer;
}

View File

@@ -1,313 +0,0 @@
/*
* FreeLoader
* Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <freeldr.h>
#include <video.h>
#include <debug.h>
#include <portio.h>
U32 CurrentVideoMode = VIDEOMODE_NORMAL_TEXT;
U32 VideoResolutionX = 80;
U32 VideoResolutionY = 25;
U32 VideoBytesPerScanLine = 0; // Number of bytes per scan line
U32 CurrentModeType = MODETYPE_TEXT;
BOOL VesaVideoMode = FALSE;
SVGA_MODE_INFORMATION VesaVideoModeInformation;
BOOL VideoSetMode(U32 VideoMode)
{
CurrentMemoryBank = 0;
// Set the values for the default text modes
// If they are setting a graphics mode then
// these values will be changed.
CurrentVideoMode = VideoMode;
VideoResolutionX = 80;
VideoResolutionY = 25;
VideoBytesPerScanLine = 160;
CurrentModeType = MODETYPE_TEXT;
VesaVideoMode = FALSE;
switch (VideoMode)
{
case VIDEOMODE_NORMAL_TEXT:
case 0x03: /* BIOS 80x25 text mode number */
return VideoSetMode80x25();
case VIDEOMODE_EXTENDED_TEXT:
return VideoSetMode80x50_80x43();
case VIDEOMODE_80X28:
return VideoSetMode80x28();
case VIDEOMODE_80X30:
return VideoSetMode80x30();
case VIDEOMODE_80X34:
return VideoSetMode80x34();
case VIDEOMODE_80X43:
return VideoSetMode80x43();
case VIDEOMODE_80X60:
return VideoSetMode80x60();
}
if (VideoMode == 0x12)
{
// 640x480x16
BiosSetVideoMode(VideoMode);
//WRITE_PORT_USHORT((U16*)0x03CE, 0x0205); // For some reason this is necessary?
WRITE_PORT_USHORT((U16*)0x03CE, 0x0F01); // For some reason this is necessary?
VideoResolutionX = 640;
VideoResolutionY = 480;
VideoBytesPerScanLine = 80;
CurrentVideoMode = 0x12;
CurrentModeType = MODETYPE_GRAPHICS;
return TRUE;
}
else if (VideoMode == 0x13)
{
// 320x200x256
BiosSetVideoMode(VideoMode);
VideoResolutionX = 320;
VideoResolutionY = 200;
VideoBytesPerScanLine = 320;
CurrentVideoMode = 0x13;
CurrentModeType = MODETYPE_GRAPHICS;
return TRUE;
}
else if (VideoMode >= 0x0108 && VideoMode <= 0x010C)
{
// VESA Text Mode
if (!BiosVesaGetSVGAModeInformation(VideoMode, &VesaVideoModeInformation))
{
return FALSE;
}
if (!BiosVesaSetVideoMode(VideoMode))
{
return FALSE;
}
VideoResolutionX = VesaVideoModeInformation.WidthInPixels;
VideoResolutionY = VesaVideoModeInformation.HeightInPixels;
VideoBytesPerScanLine = VesaVideoModeInformation.BytesPerScanLine;
CurrentVideoMode = VideoMode;
CurrentModeType = MODETYPE_TEXT;
VesaVideoMode = TRUE;
return TRUE;
}
else
{
// VESA Graphics Mode
if (!BiosVesaGetSVGAModeInformation(VideoMode, &VesaVideoModeInformation))
{
return FALSE;
}
if (!BiosVesaSetVideoMode(VideoMode))
{
return FALSE;
}
VideoResolutionX = VesaVideoModeInformation.WidthInPixels;
VideoResolutionY = VesaVideoModeInformation.HeightInPixels;
VideoBytesPerScanLine = VesaVideoModeInformation.BytesPerScanLine;
CurrentVideoMode = VideoMode;
CurrentModeType = MODETYPE_GRAPHICS;
VesaVideoMode = TRUE;
return TRUE;
}
return FALSE;
}
BOOL VideoSetMode80x25(VOID)
{
BiosSetVideoMode(0x03);
VideoResolutionX = 80;
VideoResolutionY = 25;
return TRUE;
}
BOOL VideoSetMode80x50_80x43(VOID)
{
if (BiosDetectVideoCard() == VIDEOCARD_VGA)
{
BiosSetVideoMode(0x03);
BiosSetVideoFont8x8();
BiosSelectAlternatePrintScreen();
BiosDisableCursorEmulation();
BiosDefineCursor(6, 7);
VideoResolutionX = 80;
VideoResolutionY = 50;
}
else if (BiosDetectVideoCard() == VIDEOCARD_EGA)
{
BiosSetVideoMode(0x03);
BiosSetVideoFont8x8();
BiosSelectAlternatePrintScreen();
BiosDisableCursorEmulation();
BiosDefineCursor(6, 7);
VideoResolutionX = 80;
VideoResolutionY = 43;
}
else // VIDEOCARD_CGA_OR_OTHER
{
return FALSE;
}
return TRUE;
}
BOOL VideoSetMode80x28(VOID)
{
// FIXME: Is this VGA-only?
VideoSetMode80x25();
BiosSetVideoFont8x14();
BiosDefineCursor(11, 12);
VideoResolutionX = 80;
VideoResolutionY = 28;
return TRUE;
}
BOOL VideoSetMode80x43(VOID)
{
// FIXME: Is this VGA-only?
BiosSetVerticalResolution(VERTRES_350_SCANLINES);
VideoSetMode80x25();
BiosSetVideoFont8x8();
BiosSelectAlternatePrintScreen();
BiosDisableCursorEmulation();
BiosDefineCursor(6, 7);
VideoResolutionX = 80;
VideoResolutionY = 43;
return TRUE;
}
BOOL VideoSetMode80x30(VOID)
{
// FIXME: Is this VGA-only?
VideoSetMode80x25();
BiosSet480ScanLines();
VideoResolutionX = 80;
VideoResolutionY = 30;
return TRUE;
}
BOOL VideoSetMode80x34(VOID)
{
// FIXME: Is this VGA-only?
VideoSetMode80x25();
BiosSet480ScanLines();
BiosSetVideoFont8x14();
BiosDefineCursor(11, 12);
BiosSetVideoDisplayEnd();
VideoResolutionX = 80;
VideoResolutionY = 34;
return TRUE;
}
BOOL VideoSetMode80x60(VOID)
{
// FIXME: Is this VGA-only?
VideoSetMode80x25();
BiosSet480ScanLines();
BiosSetVideoFont8x8();
BiosSelectAlternatePrintScreen();
BiosDisableCursorEmulation();
BiosDefineCursor(6, 7);
BiosSetVideoDisplayEnd();
VideoResolutionX = 80;
VideoResolutionY = 60;
return TRUE;
}
U32 VideoGetCurrentModeResolutionX(VOID)
{
return VideoResolutionX;
}
U32 VideoGetCurrentModeResolutionY(VOID)
{
return VideoResolutionY;
}
U32 VideoGetBytesPerScanLine(VOID)
{
return VideoBytesPerScanLine;
}
U32 VideoGetCurrentMode(VOID)
{
return CurrentVideoMode;
}
U32 VideoGetCurrentModeType(VOID)
{
return CurrentModeType;
}
BOOL VideoIsCurrentModeVesa(VOID)
{
return VesaVideoMode;
}
U32 VideoGetCurrentModeColorDepth(VOID)
{
U32 ColorDepth = 2;
U32 i;
if (CurrentModeType == MODETYPE_TEXT)
{
return 0;
}
else // CurrentModeType == MODETYPE_GRAPHICS
{
// Calculate 2^BitsPerPixel'th power
for (i=0; i<(VesaVideoModeInformation.BitsPerPixel-1); i++)
{
ColorDepth *= 2;
}
// This algorithm works great for 24-bit & 8-bit color modes
// but 15-bit color modes really use 16 bits per pixel.
// So check to see if green has an extra bit, if so then
// it is 16-bit, if not it is 15-bit
if (ColorDepth == 65536)
{
if (VesaVideoModeInformation.GreenMaskSize == 6)
{
return ColorDepth;
}
else
{
return 32768;
}
}
return ColorDepth;
}
}

View File

@@ -1,67 +0,0 @@
#
# FreeLoader
# Copyright (C) 1999, 2000, 2001 Brian Palmer <brianp@sginet.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Windows is default host environment
ifeq ($(HOST),)
HOST = mingw32-windows
endif
#
# Choose various options
#
ifeq ($(HOST),mingw32-linux)
RM = rm -f
SEP = /
else
RM = cmd /C del
SEP = \$(EMPTY_VAR)
endif
CC = mingw32-gcc
LD = mingw32-ld
FLAGS = -Wall
OBJS = install.o volume.o
LIBS = -lkernel32
.PHONY : clean
all: ..$(SEP)bootsect$(SEP)fat.h ..$(SEP)bootsect$(SEP)fat32.h install.exe
..$(SEP)bootsect$(SEP)fat.h ..$(SEP)bootsect$(SEP)fat32.h :
@$(MAKE) --no-print-directory -C ..$(SEP)bootsect
install.exe: $(OBJS)
@echo ===================================================== LINKING install
$(CC) $(FLAGS) -o install.exe $(OBJS)
install.o: install.c install.h volume.h
@echo ===================================================== Compiling $*
$(CC) $(FLAGS) -o install.o -c install.c
volume.o: volume.c volume.h install.h
@echo ===================================================== Compiling $*
$(CC) $(FLAGS) -o volume.o -c volume.c
clean:
@-$(RM) *.o
@-$(RM) *.exe
@echo Clean ALL done.

View File

@@ -1,46 +0,0 @@
FreeLoader notes
Memory layout:
0000:0000 - 0000:0FFF: Interrupt vector table & BIOS data
0000:1000 - 0000:6FFF: Real mode stack area
0000:7000 - 0000:7FFF: Unused
0000:8000 - xxxx:xxxx: FreeLoader program & data area
xxxx:xxxx - 7000:7FFF: Random memory allocation heap
7000:8000 - 7000:FFFF: Protected mode stack area
8000:0000 - 8000:FFFF: File system read buffer
9000:0000 - 9000:FFFF: Disk read buffer for BIOS Int 13h
A000:0000 - FFFF:FFFF: reserved
FreeLoader Boot Process
FAT 12/16/32 Boot Sector
The BIOS loads the boot sector at 0000:7C00. The FAT32 boot sector
relocates itself higher in memory at 9000:0000 and loads it's extra sector
at 9000:0200 and then looks for freeldr.sys on the file system. Once found
it loads freeldr.sys to 0000:7E00 and then jumps to it's entry point at
0000:8000. The FAT12/16 boot sector does no relocation, it just searches for
the freeldr.sys and loads the first 512 bytes to 0000:7E00. This extra code
enables it to fully navigate the file allocation table. Then it loads
freeldr.sys to 0000:7E00 and jumps to it's entry point at 0000:8000. Before
FreeLoader gets control the boot sector saves the screen contents to a buffer
at 9000:8000 and the cursor x & y position to bytes at 9000:8FA0 & 9000:8FA1
respectively.
ISO-9660 (CD-ROM) Boot Sector
The BIOS loads the boot sector (2048 bytes) at 0000:7C00. First, the
boot sector relocates itself to 0000:7000 (up to 0000:7800). Then it looks
for the I386 directory and makes it the current directory. Next it looks for
FREELDR.SYS and loads it at 0000:8000. Finally it restores the boot drive
number in the DL register and jumps to FreeLoader's entry point at 0000:8000.
FreeLoader Initialization
When FreeLoader gets control it saves the boot drive, passed to it in
the DL register, and sets up the stack, enables protected mode, and calls
BootMain().

View File

@@ -1,62 +0,0 @@
#
# FreeLoader
# Copyright (C) 1998-2002 Brian Palmer <brianp@sginet.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#############################################
# PROGRAMS
#
CC = gcc
ifeq ($(HOST),mingw32-linux)
RM = rm -f
else
RM = cmd /C del
endif
#############################################
TOOLS = deptool \
bin2c \
hosttype \
rdel \
rcopy \
rmkdir \
rrmdir
#############################################
all : $(TOOLS)
@echo Tools are up to date.
% :: all
#############################################
%: %.c
@echo ===================================================== Compiling $*
@$(CC) -Wall -O3 -o $@ $<
#############################################
.PHONY : clean
clean:
@-$(RM) $(TOOLS)
@-$(RM) *.exe
@echo Clean ALL done.

View File

@@ -1,19 +0,0 @@
//
// hosttype.c
// Copyright (C) 2002 by Brian Palmer <brianp@sginet.com>
//
#include <stdio.h>
int main(int argc, char *argv[])
{
#if defined (__DJGPP__)
printf("dos\n");
#elif defined (__WIN32__)
printf("win32\n");
#else
printf("linux\n");
#endif // defined __DJGPP__
return 0;
}

View File

@@ -1,2 +0,0 @@
*.ncb
*.opt

View File

@@ -1,102 +0,0 @@
ReactOS Microsoft Visual C/C++ 6.0 IDE files
This is the Microsoft Visual C/C++ 6.0 project workspace and project
files for a few of the ReactOS binaries. They are ONLY included as a
convenience, and is NOT to be considered supported, or even correct.
If you build a binary that misbehaves using these files, you _might_
be able to get in touch with someone to fix the problem
BUT DO NOT COUNT ON IT!
The only supported build system for ReactOS is the one documented at
www.reactos.com.
------------------------------------------------------------------
Please, before you start playing with this, read the whole of
this document.
Before you can use these project files, you _need_ to make a successful
build using the normal ReactOS build system. There are some vital files
that needs to be created, and currently only the normal build creates these.
Once that is done, you need to generate the kernel-mode service "table"
file by running nmake (from this point on you can use the "native"
MSVC tools) from the directory MSVC6\iface\native.
This will generate MSVC6\ntoskrnl\nt_zw_msvc.c, an MSVC compatible inline-
assembler version of the file otherwise known as reactos\ntoskrnl\nt\zw.c.
Next, go to def_converter and run nmake. This builds the tool to convert
the .def files for HAL and the kernel from the MinGW format to something
more suitable for the MSVC linker, and also generates these .def files
to their target location [1].
Now you should be set to fire up the IDE and load the project workspace.
When building HAL or the kernel for the first time using these
project files, just doing it the "normal" way _will not work_.
The linker will complain about missing library, and it will fail.
The reason for this is a circular dependency between these two binaries.
Currently you need to follow these procedures [2]:
- Select hal as your active project.
- Select Project/Settings.
- Select the Link tab.
- Select "General" from the Category drop-list.
- Temporary remove the explicit linker library
(e.g. "..\ntoskrnl\Debug\ntoskrnl.lib")
- Select "Customize" from the Category drop-list.
- Check the "Force file output" checkbox.
- Build hal.
- Uncheck "Force file output".
- Put back the removed import library.
- Now build the ntoskrnl. Do NOT try to build hal again until
you have sucessfully built the kernel, and the linker has
generated its import library!
- Now you can "Clean" hal, and build it as usual.
If everything worked as expected, you should now have both ntoskrnl.exe
and hal.dll freshly built.
LIMITATIONS/DEVIATIONS (from the MinGW build):
- Since there can only be one resource file/project, the kernel had
to choose between either its version resource, or its message table.
The messages won.
- Do NOT open the .rc files in the IDE's resource editor. Chances are
it will assume ownership over them and fill them up with at least
conditional compilation macros.
NOTES:
[1] This is needed due to differences in handling of decorated names
in .def files. While both MinGW GCC and MSVC generates decorated names
in the same way for at least plain cdecl and stdcall C functions, the
MSVC linker expects names in the .def file to be either
- an exact match of the decorated name, in case it exports the
decorated name from the linked binary, or
- just the name without any decoration, in case it exports just the
name of the symbol from the linked binary (to allow for e.g.
GetProcAddress using the undecorated name) - but keeps the decorated
names in the import library to handle and "redirect" linker requests
for those decorated symbols, and point them to the undercorated names
in the binary exporting them - so that a binary A, at link time,
importing symbols from binary B of the form "_name@0" will resolve
that symbol from the import library, but the linked binary A will
reference it as just "name".
The ROS .def files contains a mix, "half-decorated", where the leading
undescores are missing, but the trailing "@n" (for stdcall functions)
are present.
[2] Theoretically it could be possible to use a hal.lib generated by the
following procedure, removing the need for the manual steps above.
cd MSVC6\hal\Debug
lib \def:..\..\..\reactos\hal\hal\hal.def
but I have not tested it, and take no responsibility for its effectiveness.

View File

@@ -1,41 +0,0 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "hal"=.\hal\hal.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "ntoskrnl"=.\ntoskrnl\ntoskrnl.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,64 +0,0 @@
// Uses hard-coded filenames to require a minimum of input.
// You think this file should be licensed? OK then,
// Copyright (C) 2004, Mike Nordell. Use as you whish.
#include <fstream>
#include <string>
#include <algorithm>
const char szSrc1[] = "..\\..\\reactos\\ntoskrnl\\ntoskrnl.def";
const char szDst1[] = "..\\ntoskrnl\\ntoskrnl.def";
const char szSrc2[] = "..\\..\\reactos\\hal\\hal\\hal.def";
const char szDst2[] = "..\\hal\\hal.def";
enum File
{
Kernel,
HAL
};
std::string do_kernel_replacements(std::string& s)
{
std::string s2 = s.c_str(); // to fixup size after replacements
if (s2 == "ExAllocateFromPagedLookasideList") {
s2 += "=ExiAllocateFromPagedLookasideList";
} else
if (s2 == "ExFreeToPagedLookasideList") {
s2 += "=ExiFreeToPagedLookasideList";
} else
if (s2 == "MmLockPagableImageSection") {
s2 += "=MmLockPagableDataSection";
}
return s2;
}
void convert_def(const char* szSrc, const char* szDst, File file)
{
using namespace std;
ifstream in(szSrc);
ofstream out(szDst);
string s;
while (getline(in, s).good()) {
if (!s.size()) {
continue;
}
if (s[0] != ';') { // only replace non-comment lines
if (s[0] == '@') {
s.erase(0, 1);
}
replace(s.begin(), s.end(), '@', '\0');
if (file == Kernel) {
s = do_kernel_replacements(s);
}
}
out << s << endl;
}
}
int main()
{
convert_def(szSrc1, szDst1, Kernel);
convert_def(szSrc2, szDst2, HAL);
return 0;
}

View File

@@ -1,19 +0,0 @@
# $Id: makefile,v 1.1 2004/02/06 08:21:54 fireball Exp $
#
# ReactOS Operating System - .def converter for HAL and the kernel
#
DEF_HAL = ..\hal\hal.def
DEF_KRNL = ..\ntoskrnl\ntoskrnl.def
CPPFLAGS = /GX
all: def_converter.exe $(DEF_HAL) $(DEF_KRNL)
$(DEF_HAL) : ..\..\reactos\hal\hal\hal.def
def_converter.exe
$(DEF_KRNL) : ..\..\reactos\ntoskrnl\ntoskrnl.def
def_converter.exe
def_converter.exe : def_converter.cpp

View File

@@ -1,3 +0,0 @@
Debug
Release
hal.def

View File

@@ -1,243 +0,0 @@
# Microsoft Developer Studio Project File - Name="hal" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=hal - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "hal.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "hal.mak" CFG="hal - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "hal - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "hal - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "hal - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HAL_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /Ot /Og /Os /Ob1 /I "..\..\reactos\include" /I "..\..\reactos\hal\halx86\include" /I "..\..\reactos\ntoskrnl\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "i386" /D "__NTHAL__" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x41d /d "NDEBUG"
# ADD RSC /l 0x417 /i "..\..\reactos\include" /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /dll /machine:I386
# ADD LINK32 ..\ntoskrnl\Release\ntoskrnl.lib /nologo /dll /machine:I386 /fixed:no
# SUBTRACT LINK32 /pdb:none /force
!ELSEIF "$(CFG)" == "hal - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HAL_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Z7 /Od /I "..\..\reactos\include" /I "..\..\reactos\hal\halx86\include" /I "..\..\reactos\ntoskrnl\include" /D "_WINDOWS" /D "__NTHAL__" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "i386" /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x41d /d "_DEBUG"
# ADD RSC /l 0x417 /i "..\..\reactos\include" /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 ..\ntoskrnl\Debug\ntoskrnl.lib /nologo /dll /incremental:no /debug /machine:I386 /pdbtype:sept /fixed:no
# SUBTRACT LINK32 /pdb:none
!ENDIF
# Begin Target
# Name "hal - Win32 Release"
# Name "hal - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\adapter.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\beep.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\bus.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\display.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\dma.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\drive.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\enum.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\fmutex.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\fmutex_tmn.c
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\halinit.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\halx86mp.rc
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\halx86up.rc
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\irql.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\isa.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\kdbg.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\mca.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\misc.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\mp.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\mpsirql.c
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\pci.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\portio.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\pwroff.c
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\reboot.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\spinlock.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\spinlock_tmn.c
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\sysbus.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\sysinfo.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\time.c
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\timer.c
# End Source File
# End Group
# Begin Group "include"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\include\bus.h
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\include\hal.h
# End Source File
# Begin Source File
SOURCE=..\..\reactos\hal\halx86\include\mps.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# Begin Source File
SOURCE=.\hal.def
# End Source File
# End Target
# End Project

View File

@@ -1,392 +0,0 @@
/* $Id: genntdll.c,v 1.1 2004/02/06 08:21:56 fireball Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS version of ntdll
* FILE: iface/native/genntdll.c
* PURPOSE: Generates the system call stubs in ntdll
* CHANGE HISTORY: Added a '@xx' to deal with stdcall [ Ariadne ]
* 19990616 (ea)
* Four arguments now required; 4th is the file
* for ntoskrnl ZwXXX functions (which are merely calls
* to twin NtXXX calls, via int 0x2e (x86).
* 19990617 (ea)
* Fixed a bug in function numbers in kernel ZwXXX stubs.
*
*/
/* INCLUDE ******************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define PARAMETERIZED_LIBS
/* #define VERBOSE */
#define INPUT_BUFFER_SIZE 255
/* FUNCTIONS ****************************************************************/
void write_syscall_stub(FILE* out, FILE* out3, char* name, char* name2,
char* nr_args, unsigned int sys_call_idx)
{
int i;
int nArgBytes = atoi(nr_args);
#ifdef PARAMETERIZED_LIBS
fprintf(out,"__asm__(\"\\n\\t.global _%s@%s\\n\\t\"\n",name,nr_args);
fprintf(out,"\".global _%s@%s\\n\\t\"\n",name2,nr_args);
fprintf(out,"\"_%s@%s:\\n\\t\"\n",name,nr_args);
fprintf(out,"\"_%s@%s:\\n\\t\"\n",name2,nr_args);
#else
fprintf(out,"__asm__(\"\\n\\t.global _%s\\n\\t\"\n",name);
fprintf(out,"\".global _%s\\n\\t\"\n",name2);
fprintf(out,"\"_%s:\\n\\t\"\n",name);
fprintf(out,"\"_%s:\\n\\t\"\n",name2);
#endif
fprintf(out,"\t\"pushl\t%%ebp\\n\\t\"\n");
fprintf(out,"\t\"movl\t%%esp, %%ebp\\n\\t\"\n");
fprintf(out,"\t\"mov\t$%d,%%eax\\n\\t\"\n",sys_call_idx);
fprintf(out,"\t\"lea\t8(%%ebp),%%edx\\n\\t\"\n");
fprintf(out,"\t\"int\t$0x2E\\n\\t\"\n");
fprintf(out,"\t\"popl\t%%ebp\\n\\t\"\n");
fprintf(out,"\t\"ret\t$%s\\n\\t\");\n\n",nr_args);
/*
* Now write the NTOSKRNL stub for the
* current system call. ZwXXX does NOT
* alias the corresponding NtXXX call.
*/
#if 0
fprintf(out3,"__asm__(\n");
fprintf(out3,"\".global _%s@%s\\n\\t\"\n",name2,nr_args);
fprintf(out3,"\"_%s@%s:\\n\\t\"\n",name2,nr_args);
fprintf(out3,"\t\"pushl\t%%ebp\\n\\t\"\n");
fprintf(out3,"\t\"movl\t%%esp, %%ebp\\n\\t\"\n");
fprintf(out3,"\t\"mov\t$%d,%%eax\\n\\t\"\n",sys_call_idx);
fprintf(out3,"\t\"lea\t8(%%ebp),%%edx\\n\\t\"\n");
fprintf(out3,"\t\"int\t$0x2E\\n\\t\"\n");
fprintf(out3,"\t\"popl\t%%ebp\\n\\t\"\n");
fprintf(out3,"\t\"ret\t$%s\\n\\t\");\n\n",nr_args);
#else
fprintf(out3,"__declspec(naked) __stdcall\n");
fprintf(out3,"%s(", name2); // make it emit callconv, reval and full signature too
for (i=0; i*4 < nArgBytes; ++i) {
fprintf(out3,"int dummy%d", i);
if (((i+1)*4) < nArgBytes) fprintf(out3,",");
}
fprintf(out3,")\n{\n");
fprintf(out3,"\t__asm {\n");
fprintf(out3,"\t\tpush\tebp\n");
fprintf(out3,"\t\tmov\tebp, esp\n");
fprintf(out3,"\t\tmov\teax,%d\n",sys_call_idx);
fprintf(out3,"\t\tlea\tedx, 8[ebp]\n");
fprintf(out3,"\t\tint\t0x2E\n");
fprintf(out3,"\t\tpop\tebp\n");
fprintf(out3,"\t\tret\t%s\n",nr_args);
fprintf(out3,"\t}\n");
fprintf(out3,"}\n\n");
#endif
}
int makeSystemServiceTable(FILE *in, FILE *out)
{
char line [INPUT_BUFFER_SIZE];
char *s;
char *name;
char *name2;
int sys_call_idx;
char *nr_args;
char *stmp;
/*
* Main SSDT Header
*/
fprintf(out,"// Machine generated, don't edit\n");
fprintf(out,"\n\n");
/*
* First we build the Main SSDT
*/
fprintf(out,"\n\n\n");
fprintf(out,"SSDT MainSSDT[] = {\n");
for ( /* First system call has index zero */
sys_call_idx = 0;
/* Go on until EOF or read zero bytes */
( (!feof(in))
&& (fgets(line, sizeof line, in) != NULL)
);
/* Next system call index */
sys_call_idx++
)
{
if ((s = (char *) strchr(line,'\r')) != NULL)
{
*s = '\0';
}
/*
* Skip comments (#) and empty lines.
*/
s = & line[0];
if ((*s) != '#' && (*s) != '\0')
{
/* Extract the NtXXX name */
name = (char *)strtok(s," \t");
/* Extract the ZwXXX name */
name2 = (char *)strtok(NULL," \t");
//value = strtok(NULL," \t");
/* Extract the stack size */
nr_args = (char *)strtok(NULL," \t");
/*
* Remove, if present, the trailing LF.
*/
if ((stmp = strchr(nr_args, '\n')) != NULL)
{
*stmp = '\0';
}
#ifdef VERBOSE
printf("%3d \"%s\"\n",sys_call_idx,name);
#endif
if (sys_call_idx > 0)
{
fprintf(out,",\n");
}
/*
* Now write the current system call's name
* in the service table.
*/
fprintf(out,"\t\t{ (ULONG)%s }",name);
}
}
/* Close the service table (C syntax) */
fprintf(out,"\n};\n");
/*
* Now we build the Main SSPT
*/
rewind(in);
fprintf(out,"\n\n\n");
fprintf(out,"SSPT MainSSPT[] = {\n");
for ( /* First system call has index zero */
sys_call_idx = 0;
/* Go on until EOF or read zero bytes */
( (!feof(in))
&& (fgets(line, sizeof line, in) != NULL)
);
/* Next system call index */
sys_call_idx++
)
{
if ((s = (char *) strchr(line,'\r')) != NULL)
{
*s = '\0';
}
/*
* Skip comments (#) and empty lines.
*/
s = & line[0];
if ((*s) != '#' && (*s) != '\0')
{
/* Extract the NtXXX name */
name = (char *)strtok(s," \t");
/* Extract the ZwXXX name */
name2 = (char *)strtok(NULL," \t");
//value = strtok(NULL," \t");
/* Extract the stack size */
nr_args = (char *)strtok(NULL," \t");
/*
* Remove, if present, the trailing LF.
*/
if ((stmp = strchr(nr_args, '\n')) != NULL)
{
*stmp = '\0';
}
#ifdef VERBOSE
printf("%3d \"%s\"\n",sys_call_idx,name);
#endif
if (sys_call_idx > 0)
{
fprintf(out,",\n");
}
/*
* Now write the current system call's ID
* in the service table along with its Parameters Size.
*/
fprintf(out,"\t\t{ %s }",nr_args);
}
}
/*
* Close the service table (C syntax)
*/
fprintf(out,"\n};\n");
/*
* We write some useful defines
*/
fprintf(out, "\n\n#define MIN_SYSCALL_NUMBER 0\n");
fprintf(out, "#define MAX_SYSCALL_NUMBER %d\n", sys_call_idx-1);
fprintf(out, "#define NUMBER_OF_SYSCALLS %d\n", sys_call_idx);
return(0);
}
int
process(
FILE * in,
FILE * out,
FILE * out2,
FILE * out3
)
{
char line [INPUT_BUFFER_SIZE];
char * s;
char * name; /* NtXXX name */
char * name2; /* ZwXXX name */
int sys_call_idx; /* NtXXX index number in the service table */
char * nr_args; /* stack_size / machine_word_size */
char * stmp;
/*
* NTDLL stubs file header
*/
fprintf(out,"// Machine generated, don't edit\n");
fprintf(out,"\n\n");
/*
* NTOSKRNL Zw functions stubs header
*/
fprintf(out3,"// Machine generated by genntdll, don't edit\n");
fprintf(out3,"\n\n");
/*
* Scan the database. DB is a text file; each line
* is a record, which contains data for one system
* function. Each record has three columns:
*
* NT_NAME (e.g. NtCreateProcess)
* ZW_NAME (e.g. ZwCreateProcess)
* STACK_SIZE (in machine words: for x[3456]86
* processors a machine word is 4 bytes)
*/
for ( /* First system call has index zero */
sys_call_idx = 0;
/* Go on until EOF or read zero bytes */
( (!feof(in))
&& (fgets(line, sizeof line, in) != NULL)
);
/* Next system call index */
sys_call_idx++
)
{
/*
* Remove, if present, the trailing CR.
* (os specific?)
*/
if ((s = (char *) strchr(line,'\r')) != NULL)
{
*s = '\0';
}
/*
* Skip comments (#) and empty lines.
*/
s = & line[0];
if ((*s) != '#' && (*s) != '\0')
{
/* Extract the NtXXX name */
name = (char *)strtok(s," \t");
/* Extract the ZwXXX name */
name2 = (char *)strtok(NULL," \t");
//value = strtok(NULL," \t");
/* Extract the stack size */
nr_args = (char *)strtok(NULL," \t");
/*
* Remove, if present, the trailing LF.
*/
if ((stmp = strchr(nr_args, '\n')) != NULL)
{
*stmp = '\0';
}
#ifdef VERBOSE
printf("%3d \"%s\"\n",sys_call_idx,name);
#endif
/*
* Write the NTDLL stub for the current
* system call: NtXXX and ZwXXX symbols
* are aliases.
*/
write_syscall_stub(out, out3, name, name2,
nr_args, sys_call_idx);
}
}
return(0);
}
void usage(char * argv0)
{
printf("Usage: %s sysfuncs.lst napi.c napi.h zw.c\n"
" sysfuncs.lst system functions database\n"
" napi.c NTDLL stubs\n"
" napi.h NTOSKRNL service table\n"
" zw.c NTOSKRNL Zw stubs\n",
argv0
);
}
int main(int argc, char* argv[])
{
FILE * in; /* System calls database */
FILE * out1; /* NTDLL stubs */
FILE * out2; /* SERVICE_TABLE */
FILE * out3; /* NTOSKRNL Zw stubs */
int ret;
if (argc != 5)
{
usage(argv[0]);
return(1);
}
in = fopen(argv[1],"rb");
if (in == NULL)
{
perror("Failed to open input file (system calls database)");
return(1);
}
out1 = fopen(argv[2],"wb");
if (out1 == NULL)
{
perror("Failed to open output file (NTDLL stubs)");
return(1);
}
out2 = fopen(argv[3],"wb");
if (out2 == NULL)
{
perror("Failed to open output file (NTOSKRNL service table)");
return(1);
}
out3 = fopen(argv[4],"wb");
if (out3 == NULL)
{
perror("Failed to open output file (NTOSKRNL Zw stubs)");
return(1);
}
ret = process(in,out1,out2,out3);
rewind(in);
ret = makeSystemServiceTable(in, out2);
fclose(in);
fclose(out1);
fclose(out2);
fclose(out3);
return(ret);
}

View File

@@ -1,22 +0,0 @@
# $Id: makefile,v 1.1 2004/02/06 08:21:56 fireball Exp $
#
# ReactOS Operating System - MSVC6 Zw functions stubs to call generator
#
SYSTEM_CALLS_DB = ..\..\..\reactos\iface\native\sysfuncs.lst
KERNEL_ZW_CALLS =..\..\ntoskrnl\nt_zw_msvc.c
all: genntdll.exe $(KERNEL_ZW_CALLS)
$(KERNEL_ZW_CALLS) : $(SYSTEM_CALLS_DB)
genntdll.exe $(SYSTEM_CALLS_DB) foo1 foo2 $(KERNEL_ZW_CALLS)
-@del foo1
-@del foo2
genntdll.exe : genntdll.c
clean:
-@del *.exe
-@del *.obj
-@del $(KERNEL_ZW_CALLS)

View File

@@ -1,4 +0,0 @@
Debug
Release
nt_zw_msvc.c
ntoskrnl.def

View File

@@ -1,167 +0,0 @@
/*
* ReactOS kernel
* Copyright (C) 2000 David Welch <welch@cwcom.net>
*
* Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-25
*
* 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.
*/
/* $Id: ke_i386_bthread.c,v 1.1 2004/02/06 08:21:56 fireball Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ke/i386/bthread.S
* PURPOSE: Trap handlers
* PROGRAMMER: David Welch (david.welch@seh.ox.ac.uk)
*/
/* INCLUDES ******************************************************************/
#include <ddk/ntddk.h>
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/i386/fpu.h>
#include <internal/ps.h>
#include <ddk/defines.h>
/* Values for contextflags */
#define CONTEXT_i386 0x10000
#ifndef CONTEXT_CONTROL
#define CONTEXT_CONTROL (CONTEXT_i386 | 1)
#endif
#ifndef CONTEXT_INTEGER
#define CONTEXT_INTEGER (CONTEXT_i386 | 2)
#endif
#ifndef CONTEXT_SEGMENTS
#define CONTEXT_SEGMENTS (CONTEXT_i386 | 4)
#endif
#ifndef CONTEXT_FLOATING_POINT
#define CONTEXT_FLOATING_POINT (CONTEXT_i386 | 8)
#endif
#ifndef CONTEXT_DEBUG_REGISTERS
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x10)
#endif
#ifndef CONTEXT_FULL
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
#endif
/* FUNCTIONS *****************************************************************/
void KeReturnFromSystemCallWithHook();
VOID PiBeforeBeginThread(CONTEXT c);
/*
*
*/
__declspec(naked)
VOID PsBeginThread(PKSTART_ROUTINE StartRoutine, PVOID StartContext)
{
/*
* This isn't really a function, we are called as the return address
* of the context switch function
*/
/*
* Do the necessary prolog after a context switch
*/
__asm
{
call PiBeforeBeginThread
/*
* Call the actual start of the thread
*/
// We must NOT use the arguments by name. VC then uses EBP-relative
// addressing, and with an EBP of 0 you can imagine what happens.
mov ebx, 4[esp] // StartRoutine
mov eax, 8[esp] // StartContext
push eax
call ebx /* Call the start routine */
add esp, 4
/*
* Terminate the thread
*/
push eax
call PsTerminateSystemThread
add esp, 4
}
/* If that fails then bug check */
KeBugCheck(0);
/* And if that fails then loop */
for (;;)
; // forever
}
__declspec(naked)
VOID PsBeginThreadWithContextInternal(VOID)
{
/*
* This isn't really a function, we are called as the return
* address of a context switch
*/
/*
* Do the necessary prolog before the context switch
*/
__asm
{
call PiBeforeBeginThread
/*
* Load the context flags.
*/
pop ebx
/*
* Load the debugging registers
*/
test ebx, (CONTEXT_DEBUG_REGISTERS & ~CONTEXT_i386)
jz L1
pop eax __asm mov dr0, eax
pop eax __asm mov dr1, eax
pop eax __asm mov dr2, eax
pop eax __asm mov dr3, eax
pop eax __asm mov dr6, eax
pop eax __asm mov dr7, eax
jmp L3
L1:
add esp, 24
L3:
/*
* Load the floating point registers
*/
mov eax, HardwareMathSupport
test eax,eax
jz L2
test ebx, (CONTEXT_FLOATING_POINT & ~CONTEXT_i386)
jz L2
frstor [esp]
L2:
add esp, 112
/* Load the rest of the thread's user mode context. */
mov eax, 0
jmp KeReturnFromSystemCallWithHook
}
}

View File

@@ -1,114 +0,0 @@
/*
* ReactOS kernel
* Copyright (C) 2000 David Welch <welch@cwcom.net>
*
* Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
*
* 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.
*/
/*
* FILE: ntoskrnl/ke/i386/vm86_sup.S
* PURPOSE: V86 mode support
* PROGRAMMER: David Welch (welch@cwcom.net)
* UPDATE HISTORY:
* Created 09/10/00
*/
/* INCLUDES ******************************************************************/
#pragma hdrstop
#include <ddk/ntddk.h>
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/i386/fpu.h>
#include <internal/ps.h>
#include <ddk/defines.h>
#include <internal/v86m.h>
#include <ntos/tss.h>
#include <internal/trap.h>
#include <internal/ps.h>
#include <roscfg.h>
#include <internal/ntoskrnl.h>
#include <internal/i386/segment.h>
// no arg-list, but asm doesn't care anyway
void KiInterruptDispatch();
#define DEFINE_INT_HANDLER(N) \
__declspec(naked) \
void irq_handler_##N() \
{ \
__asm pushad \
__asm push ds \
__asm push es \
__asm push fs \
__asm mov eax, 0xceafbeef \
__asm push eax \
__asm mov ax, KERNEL_DS \
__asm mov ds, ax \
__asm mov es, ax \
__asm mov ax, PCR_SELECTOR \
__asm mov fs, ax \
__asm push esp \
__asm push N \
__asm call KiInterruptDispatch \
__asm pop eax \
__asm pop eax \
__asm pop eax \
__asm pop fs \
__asm pop es \
__asm pop ds \
__asm popad \
__asm iretd
// NOTE: The inline assembler can't deal with having the final brace,
// ending the function, on the same line as an __asm, why there is
// none here and it MUST be added when using the macro!
DEFINE_INT_HANDLER(0)
}
DEFINE_INT_HANDLER(1)
}
DEFINE_INT_HANDLER(2)
}
DEFINE_INT_HANDLER(3)
}
DEFINE_INT_HANDLER(4)
}
DEFINE_INT_HANDLER(5)
}
DEFINE_INT_HANDLER(6)
}
DEFINE_INT_HANDLER(7)
}
DEFINE_INT_HANDLER(8)
}
DEFINE_INT_HANDLER(9)
}
DEFINE_INT_HANDLER(10)
}
DEFINE_INT_HANDLER(11)
}
DEFINE_INT_HANDLER(12)
}
DEFINE_INT_HANDLER(13)
}
DEFINE_INT_HANDLER(14)
}
DEFINE_INT_HANDLER(15)
}

View File

@@ -1,655 +0,0 @@
/*
* ReactOS kernel
* Copyright (C) 2003 Mike Nordell
* Based on multiboot.S (no copyright note present), but so heavily
* modified that it bears close to no resemblance to the original work.
*
* MSVC compatible combination of plain C and inline assembler to:
* 1 Relocated all the sections in the kernel - something I feel the
* bootloader should have done, but multiboot being just a "raw image"
* loader, it unfortunately had to be done here - in-place.
* 2 Set up page directories and stuff.
* 3 Load IDT, GDT and turn on paging, making us execute at the intended
* target address (as if the image was PE-loaded and parsed into that addr.)
* 4 Call _main, and let the rest of the startup run...
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
//
// TODO: Fix the MP parts
//
/* INCLUDES ******************************************************************/
#pragma hdrstop
#include <ddk/ntddk.h>
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/i386/fpu.h>
#include <internal/ps.h>
#include <ddk/defines.h>
#include <pe.h>
#include <roscfg.h>
#include <internal/ntoskrnl.h>
#include <internal/i386/segment.h>
#include <internal/ps.h>
#include <internal/ldr.h>
// some notes:
// The MSVC linker (by defult) emits no special .bss section, but uses the data
// section with a rawsize smaller than virtualsize. The "slack" is BSS.
//////////////////////////////////////////////////////////////////
// Some macros we need
// some stuff straight from freeloaders multiboot.h
#define MULTIBOOT_HEADER_MAGIC (0x1BADB002)
#define MULTIBOOT_HEADER_FLAGS (0x00010003)
#define TARGET_LOAD_ADDR 0x00200000
#define BASE_TO_PHYS_DIST (KERNEL_BASE - TARGET_LOAD_ADDR)
#define V2P(x) (x - BASE_TO_PHYS_DIST)
#ifdef MP
#define AP_MAGIC (0x12481020)
#endif /* MP */
void initialize_page_directory(void);
void* relocate_pointer_log_to_phys(const void* p)
{
// DON'T CALL this function until relocation of .data and/or .rdata,
// is completed - but still be sure that we have not yet enabled paging!
return (void*)((DWORD)p - BASE_TO_PHYS_DIST);
}
#ifdef _DEBUG
// Macro to emit one character to Bochs debug-port (0x9e).
// We need to do it this way, since at this point of the startup, obviously
// we have neither HAL nor DbgPrint support.
#define BOCHS_OUT_CHAR(c1) __asm push eax __asm push edx __asm mov dx, 0xe9 __asm mov al, c1 __asm out dx, al __asm pop edx __asm pop eax
void boch_out_hex_digit(unsigned char ch1)
{
if (ch1 <= 9) { ch1 += '0'; } else { ch1 += 'a' - 10; }
BOCHS_OUT_CHAR(ch1)
}
void bochs_dump_hex(DWORD p)
{
unsigned char ch3 = (unsigned char)((p >> 28) & 0x0f);
unsigned char cl3 = (unsigned char)((p >> 24) & 0x0f);
unsigned char ch2 = (unsigned char)((p >> 20) & 0x0f);
unsigned char cl2 = (unsigned char)((p >> 16) & 0x0f);
unsigned char ch1 = (unsigned char)((p >> 12) & 0x0f);
unsigned char cl1 = (unsigned char)((p >> 8) & 0x0f);
unsigned char ch0 = (unsigned char)((p >> 4) & 0x0f);
unsigned char cl0 = (unsigned char)((p >> 0) & 0x0f);
BOCHS_OUT_CHAR('0') BOCHS_OUT_CHAR('x')
boch_out_hex_digit(ch3);
boch_out_hex_digit(cl3);
boch_out_hex_digit(ch2);
boch_out_hex_digit(cl2);
boch_out_hex_digit(ch1);
boch_out_hex_digit(cl1);
boch_out_hex_digit(ch0);
boch_out_hex_digit(cl0);
BOCHS_OUT_CHAR('\n')
}
static void bochs_out_string(const char* s /* logical address! */)
{
s = relocate_pointer_log_to_phys(s);
__asm
{
pushad
mov dx, 0xe9
mov ebx, s
L1:
cmp byte ptr[ebx], 0
je end
mov al, [ebx]
out dx, al
inc ebx
jmp L1
end:
popad
}
}
#else
#define BOCHS_OUT_CHAR(c1)
#define bochs_dump_hex(VAL)
#define bochs_out_string(STR)
#endif // _DEBUG
//////////////////////////////////////////////////////////////////
typedef char kernel_page_t[4096];
// Use 4096 (pagesize) more bytes that actually needed for each *_holder,
// to be able to make sure that the other stuff is page aligned.
// No other way to do this portably... :-(
//
// TODO: Consider allocating just one large block of BSS memory here, align
// just the first pointer, and then get the other ones just as offsets from
// this (now-aligned) pointer. That way we could get away with wasting just
// one page of memory, instead of 4 (like 16KB would matter... but still)
static kernel_page_t* startup_pagedirectory_holder[1024 * 2];
static kernel_page_t* lowmem_pagetable_holder[1024 * 2];
static kernel_page_t* kernel_pagetable_holder[32*1024 + 1];
static __int32 kpcr_pagetable_holder[4096/4 * 2];
#ifdef MP
char apic_pagetable[4096];
#endif /* MP */
__int32 unmap_me[4096/4];
__int32 unmap_me2[4096/4];
__int32 unmap_me3[4096/4];
__int32 init_stack[3*4096/4];
int init_stack_top;
__int32 trap_stack[3*4096/4];
int trap_stack_top;
void _main();
// lie a bit about types - since C is basically typeless anyway, it
// doesn't really matter what type we say it is here...
extern int KiGdtDescriptor;
extern int KiIdtDescriptor;
/*
* This is called by the realmode loader, with protected mode
* enabled, paging disabled and the segment registers pointing
* a 4Gb, 32-bit segment starting at zero.
*
* EAX = Multiboot magic or application processor magic
*
* EBX = Points to a structure in lowmem with data from the
* loader
*/
#pragma intrinsic(memset)
// We need to implement this ourself, to be able to get to it by short call's
void our_memmove(void* pDest, const void* pSrc, DWORD size)
{
char* pD = (char*)pDest;
const char* pS = (char*)pSrc;
if (pDest < pSrc)
{
while (size--)
{
*pD++ = *pS++;
}
}
else if (pSrc < pDest)
{
while (size--)
{
pD[size] = pS[size];
}
}
}
void dummy_placeholder(void)
{
// NOTE: This function MUST be placed JUST AFTER MultibootStub in memory.
// Yes, it's BEFORE it in this file, but linkorder.txt fixes this for us.
}
// This one is needed, since the boot loader hasn't relocated us
__declspec(naked)
void MultibootStub()
{
__asm
{
jmp _multiboot_entry
// This sucks, I know...
#define EMIT_DWORD(x) __asm __emit ((x) >> 0) & 0xff __asm _emit ((x) >> 8) & 0xff __asm _emit ((x) >> 16) & 0xff __asm _emit ((x) >> 24) & 0xff
ALIGN 4
EMIT_DWORD(MULTIBOOT_HEADER_MAGIC)
EMIT_DWORD(MULTIBOOT_HEADER_FLAGS)
EMIT_DWORD(-(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS))
EMIT_DWORD(TARGET_LOAD_ADDR + 0x0400 + 0x04)
// Now just make something up, since there is no way we can know, beforehand,
// where any BSS data is...
EMIT_DWORD((TARGET_LOAD_ADDR))
EMIT_DWORD((TARGET_LOAD_ADDR + 1*1024*1024)) /* assume ntoskrnel.exe is < 1MB! */
EMIT_DWORD((TARGET_LOAD_ADDR + 2*1024*1024)) /* just to have something, let's say BSS is 1MB too */
/* This is *REALLY* ugly! If MultibootStub is *EVER* at */
/* any other offset, this will crash like crazy! */
/* 0x0400 is the file alignment of the binary (ntoskrnl.exe) */
EMIT_DWORD((TARGET_LOAD_ADDR + 0x0400)) // entry_addr
_multiboot_entry:
cld // just for good measure
}
{
/* Save the multiboot or application processor magic */
DWORD saved_eax;
DWORD saved_ebx;
__asm mov saved_eax, eax
__asm mov saved_ebx, ebx
// bochs_out_string("MultibootStub()\n");
// OK, time to relocate the brute-loaded image in-place...
// If we don't watch it, we will overwrite ourselves here - imagine
// the fireworks! :-) That's why the function dummy_placeholder()
// MUST be placed JUST JUST AFTER this function.
{
PIMAGE_NT_HEADERS NtHeader = RtlImageNtHeader((PVOID)TARGET_LOAD_ADDR);
PIMAGE_SECTION_HEADER Section = IMAGE_FIRST_SECTION(NtHeader);
const int count = NtHeader->FileHeader.NumberOfSections;
int i;
Section += count - 1; // make it point to the last section
// NOTE: We MUST walk the sections "backwards".
for (i = count-1; i >= 0; --i, --Section)
{
DWORD dwSrc = TARGET_LOAD_ADDR + Section->PointerToRawData;
DWORD dwDst = TARGET_LOAD_ADDR + Section->VirtualAddress;
DWORD dwSiz = Section->SizeOfRawData;
const char* pEndThisFunc;
if (dwSrc == dwDst)
{
continue;
}
//bochs_out_string("MultibootStub: relocating section\n");
if (Section->Characteristics & IMAGE_SCN_MEM_EXECUTE)
{
// can't get a pointer to a label from plain C :-(
__asm mov pEndThisFunc, offset dummy_placeholder
pEndThisFunc -= BASE_TO_PHYS_DIST;
if (dwDst < (DWORD)pEndThisFunc)
{
// We must not move the code from under our feet!
// This can only happen in the code segment - the first segment
DWORD diff = (DWORD)pEndThisFunc - dwDst;
dwDst += diff;
dwSrc += diff;
dwSiz -= diff;
}
}
// obviously we must use memmove, since memory can overlap
our_memmove((void*)dwDst, (void*)dwSrc, dwSiz);
// While at it, we might as well zero any uninitialized data in the section...
if (Section->SizeOfRawData < Section->Misc.VirtualSize)
{
memset((char*)(Section->VirtualAddress + Section->SizeOfRawData + TARGET_LOAD_ADDR),
0,
Section->Misc.VirtualSize - Section->SizeOfRawData);
}
}
// Now all sections are relocated to their intended in-memory layout,
// but we are still running int the low TARGET_LOAD_ADDR memory.
{
// Time to jump to the real startup, the entry-point function.
// We must do this using assembler, since both eax and ebx are assumed
// to hold some magic values.
typedef VOID (STDCALL* pfn_t)(PPEB);
pfn_t pfn = (pfn_t)(NtHeader->OptionalHeader.AddressOfEntryPoint + TARGET_LOAD_ADDR);
#if 1
__asm mov eax, saved_eax
__asm mov ebx, saved_ebx
__asm mov ecx, pfn
__asm jmp ecx
#else
__asm mov ebx, saved_ebx
(*pfn)((PPEB)saved_eax);
#endif
}
}
}
}
// TMN: TODO: Convert this to the extent possible to plain C code
// Due to the "magic" above, we enter this function with all kernel sections
// properly relocated wrt. offsets from start-of-mem. But, we are still running
// without paging, meaning that the address that is to be KERNEL_BASE+xyz is
// currently still TARGET_LOAD_ADDR+xyz.
// We get aways with a few of the functions call here since they are near calls
// (PC-relative), but don't even _think_ about calling any other functions
// until we have turned on paging!
VOID STDCALL
NtProcessStartup(
IN PPEB Peb
)
{
DWORD saved_ebx;
DWORD saved_eax;
__asm mov saved_ebx, ebx
__asm mov saved_eax, eax
bochs_out_string("NtProcessStartup: Just entered\n");
#ifdef MP
if (saved_eax != AP_MAGIC)
{
#endif /* MP */
bochs_out_string("NtProcessStartup: Calling initialize_page_directory()\n");
initialize_page_directory(); // Initialize the page directory
bochs_out_string("NtProcessStartup: Page directory initialized\n");
#ifdef MP
__asm
{
/*
* Initialize the page table that maps the APIC register address space
*/
/*
* FIXME: APIC register address space can be non-standard so do the
* mapping later
*/
mov esi, V2P(apic_pagetable)
mov edi, 0
mov eax, 0xFEC0001B
mov [esi+edi], eax
mov edi, 0x800
mov eax, 0xFEE0001B
mov [esi+edi], eax
}
}
#endif /* MP */
{
bochs_out_string("NtProcessStartup: Enabling paging...\n");
/*
* Enable paging and set write protect
* bit 31: PG, bit 16: WP
*/
__asm mov eax, cr0
__asm or eax, 0x80010000
__asm mov cr0, eax
bochs_out_string("NtProcessStartup: Paging enabled!\n");
bochs_out_string("NtProcessStartup: But we're still at the \"low\" address\n");
/*
* Do an absolute jump because we now want to execute above KERNEL_BASE
*/
__asm mov eax, offset l2_
__asm jmp eax
}
l2_:
bochs_out_string("We have now left \"low\" memory, and is flying at an altitude of...\n");
bochs_out_string("OK, we're not flying, we're just executing above KERNEL_BASE\n");
/*
* Load the GDTR and IDTR with new tables located above
* KERNEL_BASE
*/
#ifdef _DEBUG
{
DWORD val = (DWORD)&KiGdtDescriptor;
bochs_out_string("&KiGdtDescriptor: ");
bochs_dump_hex(val);
val = (DWORD)&KiIdtDescriptor;
bochs_out_string("&KiIdtDescriptor: ");
bochs_dump_hex(val);
}
#endif
bochs_out_string("Loading GDT and IDT...\n");
/* FIXME: Application processors should have their own GDT/IDT */
__asm lgdt KiGdtDescriptor
__asm lidt KiIdtDescriptor
bochs_out_string("GDT and IDT loaded\n");
__asm
{
/*
* Reload the data segment registers
*/
mov eax, KERNEL_DS
mov ds, ax
mov es, ax
mov gs, ax
mov ss, ax
mov eax, 0
mov fs, ax
}
bochs_out_string("NtProcessStartup: segment registers loaded\n");
#ifdef MP
if (saved_eax == AP_MAGIC)
{
__asm
{
/*
* This is an application processor executing
*/
/*
* Initialize EFLAGS
*/
push 0
popfd
/*
* Call the application processor initialization code
*/
push 0
push offset l7_
push KERNEL_CS
push KiSystemStartup
retf
/*
* Catch illegal returns from KiSystemStartup
*/
l7_:
pop eax
}
KeBugCheck(0);
for (;;)
; /*forever */
}
#endif /* MP */
bochs_out_string("Loading fs with PCR_SELECTOR\n");
/* Load the PCR selector */
__asm mov eax, PCR_SELECTOR
__asm mov fs, ax
bochs_out_string("Loading esp with init_stack_top : "); bochs_dump_hex((DWORD)&init_stack_top);
bochs_out_string("Just for interest, init_stack is at: "); bochs_dump_hex((DWORD)init_stack);
bochs_out_string("Meaing the init_stack in bytes is : "); bochs_dump_hex((DWORD)&init_stack_top - (DWORD)init_stack);
/* Load the initial kernel stack */
__asm mov esp, offset init_stack_top
bochs_out_string("Loaded esp with init_stack_top\n");
/*
* Initialize EFLAGS
*/
__asm push 0
__asm popfd
bochs_out_string("Loaded eflags\n");
/*
* Call the main kernel initialization
*/
bochs_out_string("TMN: Calling _main...\n");
__asm
{
xor ebp,ebp
push ebx
push edx
push offset l5_
push KERNEL_CS
push offset _main
retf
/*
* Catch illegal returns from main, try bug checking the system,
* if that fails then loop forever.
*/
l5_:
pop eax
pop eax
} // end of __asm block
bochs_out_string("TMN: Back from _main ?! Let's crash!\n");
KeBugCheck(0);
for (;;)
; /*forever */
}
void initialize_page_directory(void)
{
/*
* Initialize the page directory
*/
// First convert the pointers from the virtual address the compiler generated
// code thinks we are at, to the currently active physical address we actually
// got loaded into by the loader. At this point we have been relocated, so
// that there is a 1:1 mapping between KERNEL_BASE+n and TARGET_LOAD_ADDR+n.
kernel_page_t** startup_pagedirectory = startup_pagedirectory_holder;
kernel_page_t** lowmem_pagetable = lowmem_pagetable_holder;
kernel_page_t** kernel_pagetable = kernel_pagetable_holder;
__int32* kpcr_pagetable = kpcr_pagetable_holder;
bochs_out_string("startup_pagedirectory before reloc: ");
bochs_dump_hex((DWORD)startup_pagedirectory);
startup_pagedirectory = (kernel_page_t**)relocate_pointer_log_to_phys(startup_pagedirectory);
lowmem_pagetable = (kernel_page_t**)relocate_pointer_log_to_phys(lowmem_pagetable);
kernel_pagetable = (kernel_page_t**)relocate_pointer_log_to_phys(kernel_pagetable);
kpcr_pagetable = (__int32*) relocate_pointer_log_to_phys(kpcr_pagetable);
bochs_out_string("startup_pagedirectory after reloc : ");
bochs_dump_hex((DWORD)startup_pagedirectory);
// Now align the pointers to PAGE_SIZE...
startup_pagedirectory = (kernel_page_t**)(((ULONG_PTR)startup_pagedirectory + 4095) & ~4095);
lowmem_pagetable = (kernel_page_t**)(((ULONG_PTR)lowmem_pagetable + 4095) & ~4095);
kernel_pagetable = (kernel_page_t**)(((ULONG_PTR)kernel_pagetable + 4095) & ~4095);
kpcr_pagetable = (__int32* ) (((ULONG_PTR)kpcr_pagetable + 4095) & ~4095);
#ifdef _DEBUG
bochs_out_string("startup_pagedirectory aligned : ");
bochs_dump_hex((DWORD)startup_pagedirectory);
#endif
// Ugly macros, I know...
#define DEST(PAGE) startup_pagedirectory[(PAGE) + 0xc00 / 4]
#define SRC(PAGE) (kernel_page_t*)((char*)kernel_pagetable + (PAGE)*4096 + 0x7)
startup_pagedirectory[0] = (kernel_page_t*)((char*)lowmem_pagetable + 0x7);
{
unsigned int i;
for (i=0; i<32; ++i)
{
DEST(i) = SRC(i);
}
}
DEST( 64) = (kernel_page_t*)((char*)lowmem_pagetable + 0x7);
DEST(192) = (kernel_page_t*)((char*)startup_pagedirectory + 0x7);
#ifdef MP
DEST(251) = (kernel_page_t*)((char*)apic_pagetable + 0x7);
#endif /* MP */
DEST(252) = (kernel_page_t*)((char*)kpcr_pagetable + 0x7);
{
unsigned int i;
/* Initialize the page table that maps low memory */
for (i=0; i<1024; ++i) {
lowmem_pagetable[i] = (kernel_page_t*)(i*4096 + 7);
}
/* Initialize the page table that maps kernel memory */
for (i=0; i<6144/4 /* 1536 pages = 6MB */; ++i) {
kernel_pagetable[i] = (kernel_page_t*)(i*4096 + TARGET_LOAD_ADDR + 0x7);
}
/* Initialize the page table that maps the initial KPCR (at FF000000) */
kpcr_pagetable[0] = 0x1007;
}
/*
* Set up the PDBR
*/
__asm mov eax, startup_pagedirectory
__asm mov cr3, eax
}

View File

@@ -1,110 +0,0 @@
/*
* ReactOS kernel
* Copyright (C) 2000 David Welch <welch@cwcom.net>
*
* Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
*
* 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.
*/
/*
* FILE: ntoskrnl/ke/i386/vm86_sup.S
* PURPOSE: V86 mode support
* PROGRAMMER: David Welch (welch@cwcom.net)
* UPDATE HISTORY:
* Created 09/10/00
*/
/* INCLUDES ******************************************************************/
#pragma hdrstop
#include <ddk/ntddk.h>
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/i386/fpu.h>
#include <internal/ps.h>
#include <ddk/defines.h>
#include <internal/v86m.h>
#include <ntos/tss.h>
//#include <ntos/service.h>
#include <internal/trap.h>
#include <internal/ps.h>
#include <roscfg.h>
#include <internal/ntoskrnl.h>
#include <internal/i386/segment.h>
void KeReturnFromSystemCall();
/*
* FUNCTION: KeStackSwitchAndRet
* PURPOSE: Switch to a new stack and return from the first frame on
* the new stack which was assumed to a stdcall function with
* 8 bytes of arguments and which saved edi, esi and ebx.
*/
__declspec(naked)
VOID STDCALL
KeStackSwitchAndRet(PVOID NewStack)
{
__asm
{
push ebp
mov ebp, esp
cli
mov esp, NewStack
sti
pop edi
pop esi
pop ebx
pop ebp
ret 8
}
}
__declspec(naked)
VOID STDCALL
KePushAndStackSwitchAndSysRet(ULONG Push, PVOID NewStack)
{
__asm
{
push ebp
mov ebp, esp
push ebx
push esi
push edi
cli
push 8[ebp]
mov ebx, fs:KPCR_CURRENT_THREAD
mov KTHREAD_CALLBACK_STACK[ebx], esp
mov esp, 12[ebp]
sti
push 0
call KeLowerIrql
jmp KeReturnFromSystemCall
}
}

View File

@@ -1,325 +0,0 @@
/*
* ReactOS kernel
* Copyright (C) 2000 David Welch <welch@cwcom.net>
*
* Converted to MSVC-compatible inline assembler by Mike Nordell, 2003.
*
* 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.
*/
/*
* FILE: MSVC6/ntoskrnl/ke_i386_syscall.c
* based on ntoskrnl/ke/i386/syscall.s
* PURPOSE: syscall dispatching and support
* PROGRAMMER: David Welch (welch@cwcom.net)
* UPDATE HISTORY:
* Created 09/10/00
*/
/* INCLUDES ******************************************************************/
#pragma hdrstop
#include <ddk/ntddk.h>
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/i386/fpu.h>
#include <internal/ps.h>
#include <ddk/defines.h>
#include <internal/v86m.h>
#include <ntos/tss.h>
//#include <ntos/service.h>
#include <internal/trap.h>
#include <internal/ps.h>
#include <roscfg.h>
#include <internal/ntoskrnl.h>
#include <internal/i386/segment.h>
#define KernelMode (0)
#define UserMode (1)
// TMN: Replicated here to reduce mess-time
#ifdef STATUS_INVALID_SYSTEM_SERVICE
#undef STATUS_INVALID_SYSTEM_SERVICE
#endif
#define STATUS_INVALID_SYSTEM_SERVICE 0xc000001c
/*
*
*/
void KiServiceCheck (ULONG Nr);
ULONG KiAfterSystemCallHook(ULONG NtStatus, PKTRAP_FRAME TrapFrame);
VOID KiSystemCallHook(ULONG Nr, ...);
void KeReturnFromSystemCallWithHook();
void KeReturnFromSystemCall();
__declspec(naked)
void interrupt_handler2e(void)
{
__asm
{
/* Construct a trap frame on the stack */
/* Error code */
push 0
push ebp
push ebx
push esi
push edi
push fs
/* Load PCR selector into fs */
mov ebx, PCR_SELECTOR
mov fs, bx
/* Save the old exception list */
mov ebx, fs:KPCR_EXCEPTION_LIST
push ebx
/* Set the exception handler chain terminator */
mov dword ptr fs:KPCR_EXCEPTION_LIST, 0xffffffff
/* Get a pointer to the current thread */
mov esi, fs:KPCR_CURRENT_THREAD
/* Save the old previous mode */
xor ebx,ebx
mov bl, ss:KTHREAD_PREVIOUS_MODE[esi]
push ebx
/* Set the new previous mode based on the saved CS selector */
mov ebx, 0x24[esp]
and ebx, 0x0000FFFF
cmp ebx, KERNEL_CS
#if 0
// TODO: Verify implementation change and use this code path
// to remove two conditional jumps.
setnz bl
mov ss:KTHREAD_PREVIOUS_MODE[esi], bl
#else
jne L1
mov ss:KTHREAD_PREVIOUS_MODE[esi], KernelMode
jmp L3
L1:
mov ss:KTHREAD_PREVIOUS_MODE[esi], UserMode
L3:
#endif
/* Save other registers */
push eax
push ecx
push edx
push ds
push es
push gs
push 0 /* DR7 */
push 0 /* DR6 */
push 0 /* DR3 */
push 0 /* DR2 */
push 0 /* DR1 */
push 0 /* DR0 */
push 0 /* XXX: TempESP */
push 0 /* XXX: TempCS */
push 0 /* XXX: DebugPointer */
push 0 /* XXX: DebugArgMark */
mov ebx, 0x60[esp]
push ebx /* DebugEIP */
push ebp /* DebugEBP */
/* Load the segment registers */
mov bx, KERNEL_DS
mov ds, bx
mov es, bx
mov gs, bx
/*
* Save the old trap frame pointer over where we would save the EDX
* register.
*/
mov ebx, KTHREAD_TRAP_FRAME[esi]
mov 0x3C[esp], ebx
/* Save a pointer to the trap frame in the TCB */
mov KTHREAD_TRAP_FRAME[esi], esp
/* Set ES to kernel segment */
mov bx, KERNEL_DS
mov es, bx
/* Allocate new Kernel stack frame */
mov ebp, esp
/* Users's current stack frame pointer is source */
mov esi, edx
/* Determine system service table to use */
cmp eax, 0x0fff
ja new_useShadowTable
/* Check to see if EAX is valid/inrange */
cmp eax, es:KeServiceDescriptorTable + 8
jbe new_serviceInRange
mov eax, STATUS_INVALID_SYSTEM_SERVICE
jmp KeReturnFromSystemCall
new_serviceInRange:
/* Allocate room for argument list from kernel stack */
mov ecx, es:KeServiceDescriptorTable + 12
mov ecx, es:[ecx + eax * 4]
sub esp, ecx
/* Copy the arguments from the user stack to the kernel stack */
mov edi, esp
cld
repe movsb
/* DS is now also kernel segment */
mov ds, bx
/* Call system call hook */
push eax
call KiSystemCallHook
pop eax
/* Make the system service call */
mov ecx, es:KeServiceDescriptorTable
mov eax, es:[ecx + eax * 4]
call eax
#if CHECKED
/* Bump Service Counter */
#endif
/* Deallocate the kernel stack frame */
mov esp, ebp
/* Call the post system call hook and deliver any pending APCs */
push ebp
push eax
call KiAfterSystemCallHook
add esp, 8
jmp KeReturnFromSystemCall
new_useShadowTable:
sub eax, 0x1000
/* Check to see if EAX is valid/inrange */
cmp eax, es:KeServiceDescriptorTableShadow + 24
jbe new_shadowServiceInRange
mov eax, STATUS_INVALID_SYSTEM_SERVICE
jmp KeReturnFromSystemCall
new_shadowServiceInRange:
/* Allocate room for argument list from kernel stack */
mov ecx, es:KeServiceDescriptorTableShadow + 28
mov ecx, es:[ecx + eax * 4]
sub esp, ecx
/* Copy the arguments from the user stack to the kernel stack */
mov edi, esp
cld
repe movsb
/* DS is now also kernel segment */
mov ds, bx
/* Call system call hook */
// pushl %eax
// call _KiSystemCallHook
// popl %eax
/* Call service check routine */
push eax
call KiServiceCheck
pop eax
/* Make the system service call */
mov ecx, es:KeServiceDescriptorTableShadow + 16
mov eax, es:[ecx + eax * 4]
call eax
#if CHECKED
/* Bump Service Counter */
#endif
/* Deallocate the kernel stack frame */
mov esp, ebp
// TMN: Added, to be able to separate this into different functions
jmp KeReturnFromSystemCallWithHook
}
}
__declspec(naked)
void KeReturnFromSystemCallWithHook()
{
__asm
{
/* Call the post system call hook and deliver any pending APCs */
push esp
push eax
call KiAfterSystemCallHook
add esp, 8
// TMN: Added, to be able to separate this into different functions
jmp KeReturnFromSystemCall
}
}
__declspec(naked)
void KeReturnFromSystemCall()
{
__asm
{
/* Restore the user context */
/* Get a pointer to the current thread */
mov esi, fs:0x124
/* Restore the old trap frame pointer */
mov ebx, 0x3c[esp]
mov KTHREAD_TRAP_FRAME[esi], ebx
/* Skip debug information and unsaved registers */
add esp, 0x30
pop gs
pop es
pop ds
pop edx
pop ecx
add esp, 4 /* Don't restore eax */
/* Restore the old previous mode */
pop ebx
mov ss:KTHREAD_PREVIOUS_MODE[esi], bl
/* Restore the old exception handler list */
pop ebx
mov fs:KPCR_EXCEPTION_LIST, ebx
pop fs
pop edi
pop esi
pop ebx
pop ebp
add esp, 4 /* Ignore error code */
iretd
}
}

View File

@@ -1,468 +0,0 @@
/*
* ReactOS kernel
* Copyright (C) 2000 David Welch <welch@cwcom.net>
*
* Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
*
* 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.
*/
/*
* FILE: ntoskrnl/ke/i386/vm86_sup.S
* PURPOSE: V86 mode support
* PROGRAMMER: David Welch (welch@cwcom.net)
* UPDATE HISTORY:
* Created 09/10/00
*/
/* INCLUDES ******************************************************************/
#pragma hdrstop
#include <ddk/ntddk.h>
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/i386/fpu.h>
#include <internal/ps.h>
#include <ddk/defines.h>
#include <internal/v86m.h>
#include <ntos/tss.h>
#include <internal/trap.h>
#include <internal/ps.h>
#include <roscfg.h>
#include <internal/ntoskrnl.h>
#include <internal/i386/segment.h>
void KiV86Complete(void);
void KiTrapHandler(void);
void KiDoubleFaultHandler(void);
extern int KiPcrInitDone;
/*
* Epilog for exception handlers
*/
__declspec(naked)
void KiTrapEpilog()
{
__asm
{
cmp eax, 1 /* Check for v86 recovery */
jne _KiTrapRet
jmp KiV86Complete
_KiTrapRet:
/* Skip debug information and unsaved registers */
add esp, 0x30
pop gs
pop es
pop ds
pop edx
pop ecx
pop eax
/* Restore the old previous mode */
pop ebx
mov ss:KTHREAD_PREVIOUS_MODE[esi], bl
/* Restore the old exception handler list */
pop ebx
mov fs:KPCR_EXCEPTION_LIST, ebx
pop fs
pop edi
pop esi
pop ebx
pop ebp
add esp, 4 /* Ignore error code */
iretd
}
}
__declspec(naked)
void KiTrapProlog()
{
__asm
{
push edi
push fs
/*
* Check that the PCR exists, very early in the boot process it may
* not
*/
cmp ss:KiPcrInitDone, 0
je L5_
/* Load the PCR selector into fs */
mov ebx, PCR_SELECTOR
mov fs, bx
/* Save the old exception list */
mov ebx, fs:KPCR_EXCEPTION_LIST
push ebx
/* Put the exception handler chain terminator */
mov dword ptr fs:KPCR_EXCEPTION_LIST, 0xffffffff
/* Get a pointer to the current thread */
mov edi, fs:KPCR_CURRENT_THREAD
/* The current thread may be NULL early in the boot process */
cmp edi, 0
je L4_
/* Save the old previous mode */
xor ebx, ebx
mov bl, ss:KTHREAD_PREVIOUS_MODE[edi]
push ebx
/* Set the new previous mode based on the saved CS selector */
mov ebx, 0x24[esp]
and ebx, 0x0000FFFF
cmp ebx, KERNEL_CS
jne L1_
mov ss:KTHREAD_PREVIOUS_MODE[edi], KernelMode
jmp L3_
L1_:
mov ss:KTHREAD_PREVIOUS_MODE[edi], UserMode
L3_:
/* Save other registers */
push eax
push ecx
push edx
push ds
push es
push gs
push 0 /* DR7 */
push 0 /* DR6 */
push 0 /* DR3 */
push 0 /* DR2 */
push 0 /* DR1 */
push 0 /* DR0 */
push 0 /* XXX: TempESP */
push 0 /* XXX: TempCS */
push 0 /* XXX: DebugPointer */
push 0 /* XXX: DebugArgMark */
mov ebx, 0x60[esp]
push ebx /* XXX: DebugEIP */
push ebp /* XXX: DebugEBP */
/* Load the segment registers */
mov ebx, KERNEL_DS
mov ds, bx
mov es, bx
mov gs, bx
/* Set ES to kernel segment */
mov bx, KERNEL_DS
mov es, bx
mov ebx, esp
mov ebp, esp
/* Save the old trap frame. */
cmp edi, 0
je L7_
mov edx, ss:KTHREAD_TRAP_FRAME[edi]
push edx
jmp L8_
L7_:
push 0
L8_:
/* Save a pointer to the trap frame in the current KTHREAD */
cmp edi, 0
je L6_
mov ss:KTHREAD_TRAP_FRAME[edi], ebx
L6_:
/* Call the C exception handler */
push esi
push ebx
call KiTrapHandler
add esp, 8
/* Get a pointer to the current thread */
mov esi, fs:KPCR_CURRENT_THREAD
/* Restore the old trap frame pointer */
pop ebx
mov KTHREAD_TRAP_FRAME[esi], ebx
/* Return to the caller */
jmp KiTrapEpilog
/* Handle the no-pcr case out of line */
L5_:
push 0
/* Handle the no-thread case out of line */
L4_:
push 0
jmp L3_
} // end of __asm block
}
__declspec(naked)
void KiTrap0()
{
__asm
{
/* No error code */
push 0
push ebp
push ebx
push esi
mov esi, 0
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap1()
{
__asm
{
/* No error code */
push 0
push ebp
push ebx
push esi
mov esi, 1
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap2()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 2
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap3()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 3
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap4()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 4
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap5()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 5
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap6()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 6
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap7()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 7
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap8()
{
__asm
{
call KiDoubleFaultHandler
iretd
}
}
__declspec(naked)
void KiTrap9()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 9
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap10()
{
__asm
{
push ebp
push ebx
push esi
mov esi, 10
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap11()
{
__asm
{
push ebp
push ebx
push esi
mov esi, 11
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap12()
{
__asm
{
push ebp
push ebx
push esi
mov esi, 12
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap13()
{
__asm
{
push ebp
push ebx
push esi
mov esi, 13
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap14()
{
__asm
{
push ebp
push ebx
push esi
mov esi, 14
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap15()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 15
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrap16()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 16
jmp KiTrapProlog
}
}
__declspec(naked)
void KiTrapUnknown()
{
__asm
{
push 0
push ebp
push ebx
push esi
mov esi, 255
jmp KiTrapProlog
}
}
/* EOF */

View File

@@ -1,217 +0,0 @@
/*
* ReactOS kernel
* Copyright (C) 2000 David Welch <welch@cwcom.net>
*
* Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
*
* 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.
*/
/*
* FILE: ntoskrnl/ke/i386/vm86_sup.S
* PURPOSE: V86 mode support
* PROGRAMMER: David Welch (welch@cwcom.net)
* UPDATE HISTORY:
* Created 09/10/00
*/
/* INCLUDES ******************************************************************/
#pragma hdrstop
#include <ddk/ntddk.h>
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/i386/fpu.h>
#include <internal/ps.h>
#include <ddk/defines.h>
#include <internal/v86m.h>
#include <ntos/tss.h>
//#include <ntos/service.h>
#include <internal/trap.h>
#include <internal/ps.h>
#include <roscfg.h>
#include <internal/ntoskrnl.h>
#include <internal/i386/segment.h>
extern KSPIN_LOCK PiThreadListLock;
extern ULONG PiNrThreadsAwaitingReaping;
extern ULONG MmGlobalKernelPageDirectory[1024];
VOID STDCALL PiWakeupReaperThread(VOID);
VOID KeSetBaseGdtSelector(ULONG Entry, PVOID Base);
/*
* FUNCTIONS: Switches to another thread's context
* ARGUMENTS:
* Thread = Thread to switch to
* OldThread = Thread to switch from
*/
__declspec(naked)
VOID
Ki386ContextSwitch(struct _KTHREAD* NewThread, struct _KTHREAD* OldThread)
{
__asm
{
push ebp
mov ebp, esp
/* Save callee save registers. */
push ebx
push esi
push edi
cli /* This is a critical section for this processor. */
/* Get the pointer to the new thread. */
mov ebx, NewThread
/*
* Set the base of the TEB selector to the base of the TEB for
* this thread.
*/
push ebx
push KTHREAD_TEB[ebx]
push TEB_SELECTOR
call KeSetBaseGdtSelector
add esp, 8
pop ebx
/*
* Load the PCR selector.
*/
mov eax, PCR_SELECTOR
mov fs, ax
/*
* Set the current thread information in the PCR.
*/
mov fs:KPCR_CURRENT_THREAD, ebx
/*
* Set the current LDT
*/
xor eax, eax
mov edi, ETHREAD_THREADS_PROCESS[ebx]
test word ptr KPROCESS_LDT_DESCRIPTOR0[edi], 0xFFFF
jz L4
push KPROCESS_LDT_DESCRIPTOR1[edi]
push KPROCESS_LDT_DESCRIPTOR0[edi]
push LDT_SELECTOR
call KeSetGdtSelector
add esp, 12
mov eax, LDT_SELECTOR
L4:
lldt ax
/*
* Load up the iomap offset for this thread in
* preparation for setting it below.
*/
mov eax, KPROCESS_IOPM_OFFSET[edi]
/*
* FIXME: Save debugging state.
*/
/*
* FIXME: Save floating point state.
*/
/*
* Switch stacks
*/
mov ebx, 12[ebp]
mov KTHREAD_KERNEL_STACK[ebx], esp
mov ebx, 8[ebp]
mov esp, KTHREAD_KERNEL_STACK[ebx]
mov edi, KTHREAD_STACK_LIMIT[ebx]
/*
* Set the stack pointer in this processors TSS
*/
mov esi, fs:KPCR_TSS
/*
* Set current IOPM offset in the TSS
*/
mov KTSS_IOMAPBASE[esi], ax
mov eax, KTHREAD_INITIAL_STACK[ebx]
mov KTSS_ESP0[esi], eax
/*
* Change the address space
*/
mov ebx, ETHREAD_THREADS_PROCESS[ebx]
mov eax, KPROCESS_DIRECTORY_TABLE_BASE[ebx]
mov cr3, eax
/*
* Set up the PDE for the top of the new stack.
*/
mov ebx, 0
L2:
mov esi, edi
shr esi, 22
mov eax, 0xF03C0000[esi*4]
cmp eax, 0
jne L1
mov eax, MmGlobalKernelPageDirectory[esi*4]
mov 0xF03C0000[esi*4], eax
L1:
add edi, 4096
inc ebx
cmp ebx, (MM_STACK_SIZE / 4096)
jl L2
/*
* FIXME: Restore floating point state
*/
/*
* FIXME: Restore debugging state
*/
/*
* Exit the critical section
*/
sti
}
KeReleaseSpinLockFromDpcLevel(&PiThreadListLock);
if (PiNrThreadsAwaitingReaping) {
PiWakeupReaperThread();
}
__asm
{
/*
* Restore the saved register and exit
*/
pop edi
pop esi
pop ebx
pop ebp
ret
}
}

View File

@@ -1,256 +0,0 @@
/*
* ReactOS kernel
* Copyright (C) 2000 David Welch <welch@cwcom.net>
*
* Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-25
*
* 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.
*/
/*
* FILE: ntoskrnl/ke/i386/vm86_sup.S
* PURPOSE: V86 mode support
* PROGRAMMER: David Welch (welch@cwcom.net)
* UPDATE HISTORY:
* Created 09/10/00
*/
/* INCLUDES ******************************************************************/
#pragma hdrstop
#include <ddk/ntddk.h>
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/i386/fpu.h>
#include <internal/ps.h>
#include <ddk/defines.h>
#include <internal/v86m.h>
#include <ntos/tss.h>
#include <internal/trap.h>
#include <internal/ps.h>
#include <roscfg.h>
#include <internal/ntoskrnl.h>
#include <internal/i386/segment.h>
#include <internal/ps.h>
// Taken from ntoskrnl/include/internal/v86m.h, since that one must be fixed
// a bit before it could be used from here.
#define KV86M_REGISTERS_EBP (0x0)
#define KV86M_REGISTERS_EDI (0x4)
#define KV86M_REGISTERS_ESI (0x8)
#define KV86M_REGISTERS_EDX (0xC)
#define KV86M_REGISTERS_ECX (0x10)
#define KV86M_REGISTERS_EBX (0x14)
#define KV86M_REGISTERS_EAX (0x18)
#define KV86M_REGISTERS_DS (0x1C)
#define KV86M_REGISTERS_ES (0x20)
#define KV86M_REGISTERS_FS (0x24)
#define KV86M_REGISTERS_GS (0x28)
#define KV86M_REGISTERS_EIP (0x2C)
#define KV86M_REGISTERS_CS (0x30)
#define KV86M_REGISTERS_EFLAGS (0x34)
#define KV86M_REGISTERS_ESP (0x38)
#define KV86M_REGISTERS_SS (0x3C)
void KiV86Complete();
/*
* Starts in v86 mode with the registers set to the
* specified values.
*/
__declspec(naked)
VOID Ki386RetToV86Mode(KV86M_REGISTERS* InRegs,
KV86M_REGISTERS* OutRegs)
{
__asm
{
/*
* Setup a stack frame
*/
push ebp
mov ebp, esp
pushad /* Save registers */
mov ebx, InRegs
/*
* Save ebp
*/
push ebp
/*
* Save a pointer to IN_REGS which the v86m exception handler will
* use to handle exceptions
*/
push ebx
/*
* Since we are going to fiddle with the stack pointer this must be
* a critical section for this processor
*/
/*
* Save the old initial stack
*/
mov esi, fs:KPCR_CURRENT_THREAD
mov edi, KTHREAD_INITIAL_STACK[esi]
push edi
/*
* We also need to set the stack in the kthread structure
*/
mov KTHREAD_INITIAL_STACK[esi], esp
/*
* The stack used for handling exceptions from v86 mode in this thread
* will be the current stack adjusted so we don't overwrite the
* existing stack frames
*/
mov esi, fs:KPCR_TSS
mov KTSS_ESP0[esi], esp
/*
* Create the stack frame for an iret to v86 mode
*/
push KV86M_REGISTERS_GS[ebx]
push KV86M_REGISTERS_FS[ebx]
push KV86M_REGISTERS_DS[ebx]
push KV86M_REGISTERS_ES[ebx]
push KV86M_REGISTERS_SS[ebx]
push KV86M_REGISTERS_ESP[ebx]
push KV86M_REGISTERS_EFLAGS[ebx]
push KV86M_REGISTERS_CS[ebx]
push KV86M_REGISTERS_EIP[ebx]
/*
* Setup the CPU registers
*/
mov eax, KV86M_REGISTERS_EAX[ebx]
mov ecx, KV86M_REGISTERS_ECX[ebx]
mov edx, KV86M_REGISTERS_EDX[ebx]
mov esi, KV86M_REGISTERS_ESI[ebx]
mov edi, KV86M_REGISTERS_EDI[ebx]
mov ebp, KV86M_REGISTERS_EBP[ebx]
mov ebx, KV86M_REGISTERS_EBX[ebx]
/*
* Go to v86 mode
*/
iretd
/*
* Handle the completion of a vm86 routine. We are called from
* an exception handler with the registers at the point of the
* exception on the stack.
*/
jmp KiV86Complete // TMN: Function-splitting
}
}
__declspec(naked)
void KiV86Complete()
{
__asm
{
/* Restore the original ebp */
mov ebp, TF_ORIG_EBP[esp]
/* Get a pointer to the OUT_REGS structure */
mov ebx, 12[ebp] // OutRegs
/* Skip debug information and unsaved registers */
add esp, 0x30
/* Ignore 32-bit segment registers */
add esp, 12
/* Save the vm86 registers into the OUT_REGS structure */
pop dword ptr KV86M_REGISTERS_EDX[ebx]
pop dword ptr KV86M_REGISTERS_ECX[ebx]
pop dword ptr KV86M_REGISTERS_EAX[ebx]
/* Restore the old previous mode */
pop eax
mov ss:KTHREAD_PREVIOUS_MODE[esi], al
/* Restore the old exception handler list */
pop eax
mov fs:KPCR_EXCEPTION_LIST, eax
/* Ignore the 32-bit fs register */
add esp, 4
pop dword ptr KV86M_REGISTERS_EDI[ebx]
pop dword ptr KV86M_REGISTERS_ESI[ebx]
pop dword ptr KV86M_REGISTERS_EBX[ebx]
pop dword ptr KV86M_REGISTERS_EBP[ebx]
/* Ignore error code */
add esp, 4
pop dword ptr KV86M_REGISTERS_EIP[ebx]
pop dword ptr KV86M_REGISTERS_CS[ebx]
pop dword ptr KV86M_REGISTERS_EFLAGS[ebx]
pop dword ptr KV86M_REGISTERS_ESP[ebx]
pop dword ptr KV86M_REGISTERS_SS[ebx]
pop dword ptr KV86M_REGISTERS_ES[ebx]
pop dword ptr KV86M_REGISTERS_DS[ebx]
pop dword ptr KV86M_REGISTERS_FS[ebx]
pop dword ptr KV86M_REGISTERS_GS[ebx]
/*
* We are going to fiddle with the stack so this must be a critical
* section for this process
*/
cli
/*
* Restore the initial stack
*/
pop eax
mov esi, fs:KPCR_TSS
mov KTSS_ESP0[esi], eax
/*
* We also need to set the stack in the kthread structure
*/
mov esi, fs:KPCR_CURRENT_THREAD
mov edi, KTHREAD_INITIAL_STACK[esi]
mov KTHREAD_INITIAL_STACK[esi], eax
/* Exit the critical section */
sti
/* Ignore IN_REGS pointer */
add esp, 4
/* Ignore ebp restored above */
add esp, 4
/* Return to caller */
popad
mov esp, ebp
pop ebp
ret
} // end of __asm block
}

View File

@@ -1,15 +0,0 @@
; This file is vital. It tells the linker how to order some functions
; and some data, that unfortunately is assumed to be at low location
; and in known order to eachother respectively?
MultibootStub
our_memmove
dummy_placeholder
NtProcessStartup@4
initialize_page_directory
relocate_pointer_log_to_phys
; Order some data that there is some assumptions about...
init_stack
init_stack_top
trap_stack
trap_stack_top

View File

@@ -1,126 +0,0 @@
#include <ddk/ntddk.h>
void MmSafeCopyToUserRestart();
void MmSafeCopyToUserUnsafeStart();
void MmSafeCopyFromUserUnsafeStart();
void MmSafeCopyFromUserRestart();
/*
* NTSTATUS MmSafeCopyFromUser(PVOID Dest, PVOID Src,
* ULONG NumberOfBytes)
*/
__declspec(naked)
NTSTATUS MmSafeCopyFromUser(PVOID Dest, const VOID *Src, ULONG Count)
{
__asm
{
push ebp
mov ebp,esp
push esi
push edi
push ecx
mov edi, 8[ebp]
mov esi, 12[ebp]
mov ecx, 16[ebp]
/*
* Default return code
*/
xor eax,eax
jmp MmSafeCopyFromUserUnsafeStart
}
}
__declspec(naked)
void MmSafeCopyFromUserUnsafeStart()
{
__asm
{
/*
* This is really a synthetic instruction since if we incur a
* pagefault then eax will be set to an appropiate STATUS code
*/
cld
rep movsb
jmp MmSafeCopyFromUserRestart
}
}
__declspec(naked)
void MmSafeCopyFromUserRestart()
{
__asm
{
pop ecx
pop edi
pop esi
pop ebp
ret
}
}
/*****************************************************************************/
/*
* NTSTATUS MmSafeCopyToUser(PVOID Dest, PVOID Src,
* ULONG NumberOfBytes)
*/
NTSTATUS MmSafeCopyToUser(PVOID Dest, const VOID *Src, ULONG Count)
{
__asm
{
push ebp
mov esp,ebp
push esi
push edi
push ecx
mov edi, 8[ebp]
mov esi, 12[ebp]
mov ecx, 16[ebp]
/*
* Default return code
*/
xor eax,eax
jmp MmSafeCopyToUserUnsafeStart
}
}
__declspec(naked)
void MmSafeCopyToUserUnsafeStart()
{
__asm
{
/*
* This is really a synthetic instruction since if we incur a
* pagefault then eax will be set to an appropiate STATUS code
*/
cld
rep movsb
jmp MmSafeCopyToUserRestart
}
}
__declspec(naked)
void MmSafeCopyToUserRestart()
{
__asm
{
pop ecx
pop edi
pop esi
pop ebp
ret
}
}

View File

@@ -1,574 +0,0 @@
/* $Id: mm_mminit_msvc.c,v 1.1 2004/02/06 08:22:01 fireball Exp $
*
* COPYRIGHT: See COPYING in the top directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/mm/mminit.c
* PURPOSE: kernel memory managment initialization functions
* PROGRAMMER: David Welch (welch@cwcom.net)
* UPDATE HISTORY:
* Created 9/4/98
*/
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include <roscfg.h>
#include <internal/i386/segment.h>
#include <internal/mm.h>
#include <internal/ntoskrnl.h>
#include <internal/io.h>
#include <internal/ps.h>
#include <internal/pool.h>
#define NDEBUG
#include <internal/debug.h>
/* GLOBALS *****************************************************************/
/*
* Size of extended memory (kb) (fixed for now)
*/
#define EXTENDED_MEMORY_SIZE (3*1024*1024)
/*
* Compiler defined symbols
*/
#if defined(_MSC_VER)
#pragma intrinsic(strcmp)
static PIMAGE_SECTION_HEADER FindSection(const char* szSeg)
{
PIMAGE_NT_HEADERS NtHeader = RtlImageNtHeader((PVOID)KERNEL_BASE);
PIMAGE_SECTION_HEADER Section = IMAGE_FIRST_SECTION(NtHeader);
const int count = NtHeader->FileHeader.NumberOfSections;
int i;
for (i = 0; i < count; ++i, ++Section)
{
if (!strcmp(szSeg, Section->Name))
{
return Section;
}
}
return NULL;
}
static void* FindSegmentStart(const char* szSeg)
{
PIMAGE_SECTION_HEADER Section = FindSection(szSeg);
if (Section)
{
return (void*)(KERNEL_BASE + Section->VirtualAddress);
}
return NULL;
}
static void* FindSegmentEnd(const char* szSeg)
{
PIMAGE_SECTION_HEADER Section = FindSection(szSeg);
if (Section)
{
return (void*)(KERNEL_BASE + Section->VirtualAddress + Section->Misc.VirtualSize);
}
return NULL;
}
#endif // defined(_MSC_VER)
static BOOLEAN IsThisAnNtAsSystem = FALSE;
static MM_SYSTEM_SIZE MmSystemSize = MmSmallSystem;
static MEMORY_AREA* kernel_text_desc = NULL;
static MEMORY_AREA* kernel_init_desc = NULL;
static MEMORY_AREA* kernel_map_desc = NULL;
static MEMORY_AREA* kernel_kpcr_desc = NULL;
static MEMORY_AREA* kernel_data_desc = NULL;
static MEMORY_AREA* kernel_param_desc = NULL;
static MEMORY_AREA* kernel_pool_desc = NULL;
static MEMORY_AREA* kernel_shared_data_desc = NULL;
static MEMORY_AREA* kernel_mapped_low_mem_desc = NULL;
static MEMORY_AREA* MiKernelMapDescriptor = NULL;
static MEMORY_AREA* MiPagedPoolDescriptor = NULL;
PHYSICAL_ADDRESS MmSharedDataPagePhysicalAddress;
PVOID MiNonPagedPoolStart;
ULONG MiNonPagedPoolLength;
PVOID MiKernelMapStart;
ULONG MiKernelMapLength;
/* FUNCTIONS ****************************************************************/
/*
* @implemented
*/
BOOLEAN STDCALL MmIsThisAnNtAsSystem(VOID)
{
return(IsThisAnNtAsSystem);
}
/*
* @implemented
*/
MM_SYSTEM_SIZE STDCALL MmQuerySystemSize(VOID)
{
return(MmSystemSize);
}
VOID MiShutdownMemoryManager(VOID)
{
}
VOID INIT_FUNCTION
MmInitVirtualMemory(ULONG LastKernelAddress,
ULONG KernelLength)
/*
* FUNCTION: Intialize the memory areas list
* ARGUMENTS:
* bp = Pointer to the boot parameters
* kernel_len = Length of the kernel
*/
{
PVOID BaseAddress;
ULONG Length;
ULONG ParamLength = KernelLength;
NTSTATUS Status;
PHYSICAL_ADDRESS BoundaryAddressMultiple;
//ULONG i;
DPRINT("MmInitVirtualMemory(%x, %x)\n",LastKernelAddress, KernelLength);
BoundaryAddressMultiple.QuadPart = 0;
LastKernelAddress = PAGE_ROUND_UP(LastKernelAddress);
MmInitMemoryAreas();
/* Don't change the start of kernel map. Pte's must always exist for this region. */
MiKernelMapStart = (char*)LastKernelAddress + PAGE_SIZE;
MiKernelMapLength = MM_KERNEL_MAP_SIZE;
MiNonPagedPoolStart = (char*)MiKernelMapStart + MiKernelMapLength + PAGE_SIZE;
MiNonPagedPoolLength = MM_NONPAGED_POOL_SIZE;
MmPagedPoolBase = (char*)MiNonPagedPoolStart + MiNonPagedPoolLength + PAGE_SIZE;
MmPagedPoolSize = MM_PAGED_POOL_SIZE;
MiInitKernelMap();
MiInitializeNonPagedPool();
/*
* Setup the system area descriptor list
*/
BaseAddress = (PVOID)0xf0000000;
MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
&BaseAddress,
0x400000,
0,
&kernel_map_desc,
FALSE,
FALSE,
BoundaryAddressMultiple);
BaseAddress = (PVOID)KPCR_BASE;
MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
&BaseAddress,
PAGE_SIZE * MAXIMUM_PROCESSORS,
0,
&kernel_kpcr_desc,
FALSE,
FALSE,
BoundaryAddressMultiple);
BaseAddress = (PVOID)0xd0000000;
MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
&BaseAddress,
0x100000,
0,
&kernel_mapped_low_mem_desc,
FALSE,
FALSE,
BoundaryAddressMultiple);
BaseAddress = (PVOID)KERNEL_BASE;
Length = PAGE_ROUND_UP(((ULONG)FindSegmentEnd(".text"))) - KERNEL_BASE;
ParamLength = ParamLength - Length;
/*
* No need to lock the address space at this point since no
* other threads are running.
*/
MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
&BaseAddress,
Length,
0,
&kernel_text_desc,
FALSE,
FALSE,
BoundaryAddressMultiple);
// TODO: Here we REALLY should iterate the PE's sections and set protection
// accordingly for each and every one of them.
// NOTE This code ONLY works because of the assumption that the .text
// segment is the first in the PE, and the .reloc segment is the last.
// Link in a way to make this assumtion false, and the kernel won't work.
BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)FindSegmentEnd(".text")));
Length = PAGE_ROUND_UP(((ULONG)FindSegmentStart(".reloc"))) - (ULONG_PTR)BaseAddress;
ParamLength = ParamLength - Length;
DPRINT1("Data Length %x\n",Length);
DPRINT1("Data BaseAddress %x\n",BaseAddress);
/*
* No need to lock the address space at this point since we are
* the only thread running.
*/
// For GCC-compiled, kernel_data_desc contains:
// .data, .edata, .idata, .bss and .rsrc. E.i. all but .text and .reloc
MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
&BaseAddress,
Length,
0,
&kernel_data_desc,
FALSE,
FALSE,
BoundaryAddressMultiple);
// BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)FindSegmentEnd(".edata")));
BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)FindSegmentStart(".reloc")));
Length = LastKernelAddress - (ULONG)BaseAddress;
// For GCC-compiled, kernel_param_desc contains .reloc
MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
&BaseAddress,
Length,
0,
&kernel_param_desc,
FALSE,
FALSE,
BoundaryAddressMultiple);
BaseAddress = MiNonPagedPoolStart;
MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
&BaseAddress,
MiNonPagedPoolLength,
0,
&kernel_pool_desc,
FALSE,
FALSE,
BoundaryAddressMultiple);
BaseAddress = MiKernelMapStart;
Status = MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
&BaseAddress,
MiKernelMapLength,
0,
&MiKernelMapDescriptor,
FALSE,
FALSE,
BoundaryAddressMultiple);
BaseAddress = MmPagedPoolBase;
Status = MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_PAGED_POOL,
&BaseAddress,
MmPagedPoolSize,
0,
&MiPagedPoolDescriptor,
FALSE,
FALSE,
BoundaryAddressMultiple);
MmInitializePagedPool();
/*
* Create the kernel mapping of the user/kernel shared memory.
*/
BaseAddress = (PVOID)KI_USER_SHARED_DATA;
Length = PAGE_SIZE;
MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
&BaseAddress,
Length,
0,
&kernel_shared_data_desc,
FALSE,
FALSE,
BoundaryAddressMultiple);
Status = MmRequestPageMemoryConsumer(MC_NPPOOL, TRUE,
&MmSharedDataPagePhysicalAddress);
Status = MmCreateVirtualMapping(NULL,
(PVOID)KI_USER_SHARED_DATA,
PAGE_READWRITE,
MmSharedDataPagePhysicalAddress,
TRUE);
if (!NT_SUCCESS(Status))
{
DbgPrint("Unable to create virtual mapping\n");
KEBUGCHECK(0);
}
RtlZeroMemory(BaseAddress, Length);
/*
*
*/
MmInitializeMemoryConsumer(MC_USER, MmTrimUserMemory);
}
VOID INIT_FUNCTION
MmInit1(ULONG FirstKrnlPhysAddr,
ULONG LastKrnlPhysAddr,
ULONG LastKernelAddress,
PADDRESS_RANGE BIOSMemoryMap,
ULONG AddressRangeCount,
ULONG MaxMem)
/*
* FUNCTION: Initalize memory managment
*/
{
ULONG i;
ULONG kernel_len;
#ifndef MP
extern unsigned int unmap_me, unmap_me2, unmap_me3;
#endif
DPRINT("MmInit1(FirstKrnlPhysAddr, %x, LastKrnlPhysAddr %x, LastKernelAddress %x)\n",
FirstKrnlPhysAddr,
LastKrnlPhysAddr,
LastKernelAddress);
if ((BIOSMemoryMap != NULL) && (AddressRangeCount > 0))
{
// If we have a bios memory map, recalulate the memory size
ULONG last = 0;
for (i = 0; i < AddressRangeCount; i++)
{
if (BIOSMemoryMap[i].Type == 1
&& (BIOSMemoryMap[i].BaseAddrLow + BIOSMemoryMap[i].LengthLow + PAGE_SIZE -1) / PAGE_SIZE > last)
{
last = (BIOSMemoryMap[i].BaseAddrLow + BIOSMemoryMap[i].LengthLow + PAGE_SIZE -1) / PAGE_SIZE;
}
}
if ((last - 256) * 4 > KeLoaderBlock.MemHigher)
{
KeLoaderBlock.MemHigher = (last - 256) * 4;
}
}
if (KeLoaderBlock.MemHigher >= (MaxMem - 1) * 1024)
{
KeLoaderBlock.MemHigher = (MaxMem - 1) * 1024;
}
/*
* FIXME: Set this based on the system command line
*/
MmSystemRangeStart = (PVOID)KERNEL_BASE; // 0xC0000000
MmUserProbeAddress = (PVOID)0x7fff0000;
MmHighestUserAddress = (PVOID)0x7ffeffff;
MmInitGlobalKernelPageDirectory();
/*
* Initialize memory managment statistics
*/
MmStats.NrTotalPages = 0;
MmStats.NrSystemPages = 0;
MmStats.NrUserPages = 0;
MmStats.NrReservedPages = 0;
MmStats.NrUserPages = 0;
MmStats.NrFreePages = 0;
MmStats.NrLockedPages = 0;
MmStats.PagingRequestsInLastMinute = 0;
MmStats.PagingRequestsInLastFiveMinutes = 0;
MmStats.PagingRequestsInLastFifteenMinutes = 0;
/*
* Initialize the kernel address space
*/
MmInitializeKernelAddressSpace();
/*
* Unmap low memory
*/
#ifndef MP
/* In SMP mode we unmap the low memory in MmInit3.
The APIC needs the mapping of the first pages
while the processors are starting up. */
MmDeletePageTable(NULL, 0);
#endif
/*
* Free all pages not used for kernel memory
* (we assume the kernel occupies a continuous range of physical
* memory)
*/
DPRINT("first krnl %x\nlast krnl %x\n",FirstKrnlPhysAddr,
LastKrnlPhysAddr);
/*
* Free physical memory not used by the kernel
*/
MmStats.NrTotalPages = KeLoaderBlock.MemHigher/4;
if (!MmStats.NrTotalPages)
{
DbgPrint("Memory not detected, default to 8 MB\n");
MmStats.NrTotalPages = 2048;
}
else
{
/* add 1MB for standard memory (not extended) */
MmStats.NrTotalPages += 256;
}
#ifdef BIOS_MEM_FIX
MmStats.NrTotalPages += 16;
#endif
DbgPrint("Used memory %dKb\n", (MmStats.NrTotalPages * PAGE_SIZE) / 1024);
LastKernelAddress = (ULONG)MmInitializePageList((PVOID)FirstKrnlPhysAddr,
(PVOID)LastKrnlPhysAddr,
MmStats.NrTotalPages,
PAGE_ROUND_UP(LastKernelAddress),
BIOSMemoryMap,
AddressRangeCount);
kernel_len = LastKrnlPhysAddr - FirstKrnlPhysAddr;
/*
* Create a trap for null pointer references and protect text
* segment
*/
CHECKPOINT;
#if defined(_MSC_VER)
DPRINT(".text start: %x, .data start: %x\n",
(int)FindSegmentStart(".text"),
(int)FindSegmentStart(".data"));
{
const char* pCode = FindSegmentStart(".text");
const char* pData = FindSegmentEnd(".text");
while (pCode < pData)
{
MmSetPageProtect(NULL, (PVOID)pCode, PAGE_EXECUTE_READ);
pCode += PAGE_SIZE;
}
}
#else
DPRINT("_text_start__ %x _init_end__ %x\n",(int)&_text_start__,(int)&_init_end__);
for (i=PAGE_ROUND_DOWN(((int)&_text_start__));
i<PAGE_ROUND_UP(((int)&_init_end__));i=i+PAGE_SIZE)
{
MmSetPageProtect(NULL,
(PVOID)i,
PAGE_EXECUTE_READ);
}
#endif
DPRINT("Invalidating between %x and %x\n",
LastKernelAddress, 0xc0600000);
for (i=(LastKernelAddress); i<0xc0600000; i+=PAGE_SIZE)
{
MmRawDeleteVirtualMapping((PVOID)(i));
}
DPRINT("Invalidating between %x and %x\n",
0xd0100000, 0xd0400000);
for (i=0xd0100000; i<0xd0400000; i+=PAGE_SIZE)
{
MmRawDeleteVirtualMapping((PVOID)(i));
}
DPRINT("Almost done MmInit()\n");
#ifndef MP
/* FIXME: This is broken in SMP mode */
#if !defined(_MSC_VER) // FIXME: I don't trust using this from MSVC yet!
MmDeleteVirtualMapping(NULL, (PVOID)&unmap_me, TRUE, NULL, NULL);
MmDeleteVirtualMapping(NULL, (PVOID)&unmap_me2, TRUE, NULL, NULL);
MmDeleteVirtualMapping(NULL, (PVOID)&unmap_me3, TRUE, NULL, NULL);
#endif // _MSC_VER
#endif
/*
* Intialize memory areas
*/
MmInitVirtualMemory(LastKernelAddress, kernel_len);
MmInitializeMdlImplementation();
}
VOID INIT_FUNCTION
MmInit2(VOID)
{
MmInitializeRmapList();
MmInitializePageOp();
MmInitSectionImplementation();
MmInitPagingFile();
}
VOID INIT_FUNCTION
MmInit3(VOID)
{
/*
* Unmap low memory
*/
#ifdef MP
/* In SMP mode we can unmap the low memory
if all processors are started. */
MmDeletePageTable(NULL, 0);
#endif
MmInitZeroPageThread();
MmCreatePhysicalMemorySection();
MiInitBalancerThread();
/*
* Initialise the modified page writer.
*/
MmInitMpwThread();
/* FIXME: Read parameters from memory */
}
VOID STATIC
MiFreeInitMemoryPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
PHYSICAL_ADDRESS PhysAddr, SWAPENTRY SwapEntry,
BOOLEAN Dirty)
{
assert(SwapEntry == 0);
if (PhysAddr.QuadPart != 0)
{
MmReleasePageMemoryConsumer(MC_NPPOOL, PhysAddr);
}
}
VOID
MiFreeInitMemory(VOID)
{
#if defined(_MSC_VER)
DPRINT1("Can not yet free .init memory for MSVC compiled kernel\n");
#else
MmLockAddressSpace(MmGetKernelAddressSpace());
MmFreeMemoryArea(MmGetKernelAddressSpace(),
(PVOID)&_init_start__,
PAGE_ROUND_UP((ULONG)&_init_end__) - (ULONG)_init_start__,
MiFreeInitMemoryPage,
NULL);
MmUnlockAddressSpace(MmGetKernelAddressSpace());
#endif
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,299 +0,0 @@
/*
* ReactOS kernel
* Copyright (C) 2000 David Welch <welch@cwcom.net>
*
* Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
*
* 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.
*/
/*
* FILE: ntoskrnl/ke/i386/vm86_sup.S
* PURPOSE: V86 mode support
* PROGRAMMER: David Welch (welch@cwcom.net)
* UPDATE HISTORY:
* Created 09/10/00
*/
/* INCLUDES ******************************************************************/
#pragma hdrstop
#include <ddk/ntddk.h>
#include <ddk/status.h>
#include <internal/i386/segment.h>
#include <internal/i386/fpu.h>
#include <internal/ps.h>
#include <ddk/defines.h>
#include <internal/v86m.h>
#include <ntos/tss.h>
//#include <ntos/service.h>
#include <internal/trap.h>
#include <internal/ps.h>
#include <roscfg.h>
#include <internal/ntoskrnl.h>
#include <internal/i386/segment.h>
#define EXCEPTION_UNWINDING 0x02
#define EREC_FLAGS 0x04
#define ExceptionContinueExecution 0
#define ExceptionContinueSearch 1
#define ExceptionNestedException 2
#define ExceptionCollidedUnwind 3
//.globl _RtlpExecuteHandlerForException
//.globl _RtlpExecuteHandlerForUnwind
#define CONTEXT_FLAGS 0x00
#define CONTEXT_SEGGS 0x8C
#define CONTEXT_SEGFS 0x90
#define CONTEXT_SEGES 0x94
#define CONTEXT_SEGDS 0x98
#define CONTEXT_EDI 0x9C
#define CONTEXT_ESI 0xA0
#define CONTEXT_EBX 0xA4
#define CONTEXT_EDX 0xA8
#define CONTEXT_ECX 0xAC
#define CONTEXT_EAX 0xB0
#define CONTEXT_EBP 0xB4
#define CONTEXT_EIP 0xB8
#define CONTEXT_SEGCS 0xBC
#define CONTEXT_EFLAGS 0xC0
#define CONTEXT_ESP 0xC4
#define CONTEXT_SEGSS 0xC8
#define RCC_CONTEXT 0x08
VOID STDCALL
AsmDebug(ULONG Value);
// EAX = value to print
__declspec(naked)
void do_debug()
{
__asm
{
pusha
push eax
call AsmDebug
popa
ret
}
}
#define REH_ERECORD 0x08
#define REH_RFRAME 0x0C
#define REH_CONTEXT 0x10
#define REH_DCONTEXT 0x14
#define REH_EROUTINE 0x18
// Parameters:
// None
// Registers:
// [EBP+08h] - PEXCEPTION_RECORD ExceptionRecord
// [EBP+0Ch] - PEXCEPTION_REGISTRATION RegistrationFrame
// [EBP+10h] - PVOID Context
// [EBP+14h] - PVOID DispatcherContext
// [EBP+18h] - PEXCEPTION_HANDLER ExceptionRoutine
// EDX - Address of protecting exception handler
// Returns:
// EXCEPTION_DISPOSITION
// Notes:
// Setup the protecting exception handler and call the exception
// handler in the right context.
__declspec(naked)
void RtlpExecuteHandler()
{
__asm
{
push ebp
mov ebp, esp
push REH_RFRAME[ebp]
push edx
push fs:0x0
mov fs:0x0, esp
// Prepare to call the exception handler
push REH_DCONTEXT[ebp]
push REH_CONTEXT[ebp]
push REH_RFRAME[ebp]
push REH_ERECORD[ebp]
// Now call the exception handler
mov eax, REH_EROUTINE[ebp]
call eax
cmp fs:0x0, -1
jne reh_stack_looks_ok
// This should not happen
push 0
push 0
push 0
push 0
call RtlAssert
reh_loop:
jmp reh_loop
reh_stack_looks_ok:
mov esp, fs:0x0
// Return to the 'front-end' for this function
pop dword ptr fs:0x0
mov esp, ebp
pop ebp
ret
}
}
#if 0
#endif // 0
#define REP_ERECORD 0x04
#define REP_RFRAME 0x08
#define REP_CONTEXT 0x0C
#define REP_DCONTEXT 0x10
// Parameters:
// [ESP+04h] - PEXCEPTION_RECORD ExceptionRecord
// [ESP+08h] - PEXCEPTION_REGISTRATION RegistrationFrame
// [ESP+0Ch] - PCONTEXT Context
// [ESP+10h] - PVOID DispatcherContext
// Registers:
// None
// Returns:
// EXCEPTION_DISPOSITION
// Notes:
// This exception handler protects the exception handling
// mechanism by detecting nested exceptions.
__declspec(naked)
void RtlpExceptionProtector()
{
__asm
{
mov eax, ExceptionContinueSearch
mov ecx, REP_ERECORD[esp]
test EREC_FLAGS[ecx], EXCEPTION_UNWINDING
jnz rep_end
// Unwinding is not taking place, so return ExceptionNestedException
// Set DispatcherContext field to the exception registration for the
// exception handler that executed when a nested exception occurred
mov ecx, REP_DCONTEXT[esp]
mov eax, REP_RFRAME[esp]
mov [ecx], eax
mov eax, ExceptionNestedException
rep_end:
ret
}
}
// Parameters:
// [ESP+04h] - PEXCEPTION_RECORD ExceptionRecord
// [ESP+08h] - PEXCEPTION_REGISTRATION RegistrationFrame
// [ESP+0Ch] - PCONTEXT Context
// [ESP+10h] - PVOID DispatcherContext
// [ESP+14h] - PEXCEPTION_HANDLER ExceptionHandler
// Registers:
// None
// Returns:
// EXCEPTION_DISPOSITION
// Notes:
// Front-end
__declspec(naked)
void RtlpExecuteHandlerForException()
{
__asm
{
mov edx, RtlpExceptionProtector
jmp RtlpExecuteHandler
}
}
#define RUP_ERECORD 0x04
#define RUP_RFRAME 0x08
#define RUP_CONTEXT 0x0C
#define RUP_DCONTEXT 0x10
// Parameters:
// [ESP+04h] - PEXCEPTION_RECORD ExceptionRecord
// [ESP+08h] - PEXCEPTION_REGISTRATION RegistrationFrame
// [ESP+0Ch] - PCONTEXT Context
// [ESP+10h] - PVOID DispatcherContext
// Registers:
// None
// Returns:
// EXCEPTION_DISPOSITION
// Notes:
// This exception handler protects the exception handling
// mechanism by detecting collided unwinds.
__declspec(naked)
void RtlpUnwindProtector()
{
__asm
{
mov eax, ExceptionContinueSearch
mov RUP_ERECORD[esp], ecx
test EREC_FLAGS[ecx], EXCEPTION_UNWINDING
jz rup_end
// Unwinding is taking place, so return ExceptionCollidedUnwind
mov ecx, RUP_RFRAME[esp]
mov edx, RUP_DCONTEXT[esp]
// Set DispatcherContext field to the exception registration for the
// exception handler that executed when a collision occurred
mov eax, RUP_RFRAME[ecx]
mov [edx], eax
mov eax, ExceptionCollidedUnwind
rup_end:
ret
}
}
// Parameters:
// [ESP+04h] - PEXCEPTION_RECORD ExceptionRecord
// [ESP+08h] - PEXCEPTION_REGISTRATION RegistrationFrame
// [ESP+0Ch] - PCONTEXT Context
// [ESP+10h] - PVOID DispatcherContext
// [ESP+14h] - PEXCEPTION_HANDLER ExceptionHandler
// Registers:
// None
// Returns:
// EXCEPTION_DISPOSITION
__declspec(naked)
void RtlpExecuteHandlerForUnwind()
{
__asm mov edx, RtlpUnwindProtector
__asm jmp RtlpExecuteHandler
}

View File

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

View File

@@ -1,37 +0,0 @@
# $Id: Makefile,v 1.2 2003/01/07 16:23:10 robd Exp $
#
#
PATH_TO_TOP = ../../../reactos
PATH_TO_OS2_TOP = ../..
TARGET_TYPE = program
TARGET_NORC = yes
#TARGET_APPTYPE = console
TARGET_APPTYPE = windows
TARGET_NAME = bepslep
TARGET_CFLAGS = -D__SUBSYSTEM_WINDOWS__
TARGET_LFLAGS = -nostartfiles
TARGET_SDKLIBS = doscalls.a
TARGET_GCCLIBS = stdc++
#TARGET_LIBS = $(PATH_TO_OS2_TOP)/lib/crt0w32.o \
# $(PATH_TO_TOP)/dk/psx/lib/psxdll.a
# $(PATH_TO_OS2_TOP)/dll/doscalls.dll
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,20 +0,0 @@
#define INCL_DOSPROCESS
#include "../../include/os2.h"
//#include "../../include/ros2.h"
void Eingang()
{
DosBeep(3000,300);
DosSleep(1000);
DosBeep(4000,200);
DosExit(0,0);
}
void WinMainCRTStartup()
{
int a, b;
a= b+3;
b=a+3;
Eingang();
}

View File

@@ -1,50 +0,0 @@
Win32 and os2ss sight to the system partition
+C < contains under os2ss a autogenerated config.sys
|
+-ROS
+-NATIVE < NTDLL, ntoskrnl, hal.dll, csrss.exe os2.exe psx.exe ...
| +-DRIVERS < *.SYS
| +-CONFIG < registry
+-WIN32
| +-SYSTEM < user32.dll kernel32.dll ...
| +-FONTS
| +...
+-OS2
| +-DLL < doscalls.dll ....
| +-SYSTEM
| +-...
+-PSX
+-etc < mountpoint for posix apps
+-bin
+-dev
+-lib < posix.dll
+-tmp
+-var
+-mnt < empty
posix sight to the system partition
/
+-etc < mountpoint for posix apps
+-bin
+-dev < link to OB-mans Devices
+-lib < posix.dll
+-tmp < alias to systemtemp
+-var
+-mnt
+-C < win32-driveletters
| |
| +-ROS
| +-NATIVE < NTDLL, ntoskrnl, hal.dll, csrss.exe os2.exe psx.exe ...
| | +-DRIVERS < *.SYS
| | +-CONFIG < registry
| +-WIN32
| | +-SYSTEM < user32.dll kernel32.dll ...
| | +-FONTS
| | +...
| +-OS2 <some apps
| | +-DLL < doscalls.dll ....
| | +-SYSTEM
| | +-...
| +-PSX < empty
+-D
+-E...

View File

@@ -1,16 +0,0 @@
Beginning ROS/2-Developement
============================
ROS/2-Developement means building the OS/2 subsystem for ReactOS. In order to start the developement you should have CVS-access. For the CVS-access see the reactos-Homepage.
Setting up a build environment
------------------------------
For the native components (OS2SS.EXE and OS2.EXE) you'll need the same compiler and tools as you need for the rest of ReactOS. If you haven't already set it up, go to the reactos home and see the description there. For now this is the only compiler you need. At some point you'll need a compiler that can generate LX-EXEs. But now also the core dlls and even programs are compiled as PE-win32.
Getting documentation
---------------------
I'm not the inventor of OS/2. IBM still did the work, and they did also good work in terms of documentation. If you plan to do core-dll work, you'll also need NT-Native-API documentation. There exists a book called "The Native API", but there should be a preliminary PDF-file floating around. OS/2-API documentation is available on the CDs belonging to your OS/2-compiler. If you develope under OS/2 you have an INF-viewer on board. If your developementsystem is NT, I recomend you OVIEW (http://hobbes.nmsu.edu/pub/windows/win_inf.zip). This two 'books' should be, what you need.
Contacting me
-------------
Bevore you start, have a talk with me. We don't want to do useless work or do work twice. So write to ros2@dantepark.de

View File

@@ -1,67 +0,0 @@
<html>
<head>
<title>OS/2 subsystem for ReactOS</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h1><b>OS/2 subsystem for ReactOS (ROS/2)</b></h1>
<h2><font color="#009966">Introduction</font></h2>
<p>The OS/2 subsystem is being developed to enable NT-like systems (like WinNT
and ReactOS) to run 32-Bit OS/2 applications natively. With this it shall provide
binary compatiblility on x86-Based systems. It is intended to port the ROS/2
also to other platforms supported by ReactOS / NT. It is planned to provide
source code compatibility on these platforms. Yeeahh, OS/2 for PowerPC is in
sight.</p>
<h2><font color="#009966">Components</font></h2>
<p>ROS/2 consists of the following components:</p>
<ul>
<li>OS2SS.EXE - A native application that implements the personality of the
OS/2 kernel.</li>
<li>OS2.EXE - A win32 application that does the interaction of the OS/2 apps
with the desktop.</li>
<li>Core DLLs - These DLLs that make OS/2 programs interface with the kernel/sub
system (i.E. DOSCALLS.DLL). </li>
<li>Additional DLLs - DLLs that provide additional APIs for OS/2 apps. This
includes Presentation Manager.</li>
</ul>
<h2><font color="#009966">Current state</font></h2>
<p>Up to now just a fragment of DOSCALLS.DLL exists. The biggest problem are the
os2 API headers which are (C) by IBM. So help is still welcome.</p>
<h2><font color="#009966">16-Bit issues</font></h2>
<p>It is not intended to support 16-bit OS/2 applications. This would make the
system inconsistent and produce much more work that use. But there is still
one issue: Current textmode applications are either 16-bit or use thunking to
call the 16-bit APIs. These 32-Bit thunking applications have to be supported.
We are still thinking how to accomplish that. </p>
<h2><font color="#009966">32-Bit issues</font></h2>
<p>It is planned to replace the current MOU- KBD- MSG- and VIO- subsystems with
the <a href="http://homepages.tesco.net/%7EJ.deBoynePollard/Softwares/conapi.html">Unicode
Console API</a>. This is also the foundation for other platforms we want to
provide source code compatibility with. So nearly every 32-Bit processor can
be supported. It sould even be possible to implement a 64-bit OS/2 API.</p>
<h2><font color="#009966">Architecture</font></h2>
<p>To understand the architecture of ReactOS or WinNT read a book from the &quot;Inside
Windows NT&quot;-series. The architecture of ROS/2 is like every normal subsystem.
When OS2SS.EXE starts, it creates an object directory named os2 and therein
it creates a port object with the name Os2API. A port is something like a socket.
Two programs can comunicate with each other via a port. The port Os2API provides
the LPC API of the OS2SS.EXE - the actual subsystem. <br>
Every OS/2 program that is loaded, is linked with DOSCALLS.DLL and NTDLL.DLL
- the interface to the NT-kernel. Since DOSCALLS is implemented using NTDLL.DLL,
every OS/2 app has it in its adress space. Many functions in DOSCALLS.DLL are
implemented by just wrapping NTDLL.DLL functions. Some functions however need
assistance by the subsystem. For this reason the app makes an LPC to OS2SS.EXE.
LPC means local procedure call and it is a very fast version of RPC. Together
with the first application also OS2.EXE starts up. OS2.EXE runs in the win32
subsystem with the security of the current user. OS2.EXE is used to gather keyboard
and mouse input and to show console windows and PM-windows of all OS/2 programms
of the current user. In order to accomplish this OS2.EXE creates a port object
in the os2 object directory named Os2Interact. OS/2 applications have a connection
to OS2.EXE, too. OS2SS.EXE and OS2.EXE also talk to each other. An OS/2 application
then makes LPCs either to OS2.EXE directly or if required via OS2SS.EXE.</p>
<p>Details</p>
<p>&nbsp;</p>
<p>LPC Documentation</p>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,91 +0,0 @@
/* $ $
*/
/*
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS OS/2 sub system
* FILE: dll/doscalls.c
* PURPOSE: supportheader for Kernelservices.
* Use this file if your dll or application
* is going to use both, the os2 base services
* as well as the native API of NTDLL.DLL
* PROGRAMMER: Robert K. nonvolatil@yahoo.de
* REVISION HISTORY:
* 1-08-2002 Created
*/
/* How to use:
History got us another time. If you want to write a module
that uses either native-api or os2-services...no problem.
But if you want to use both of them you run into type conflicts.
BOOL is not very surprising. But there are many other types
whose names are equal. This results from the fact that NT
should originally become OS/2 3.0.
So your solution lies in including this file instead of os2.h
and ntddk.h. What this file here does is, it puts the os2-types+
functions into the namespace OS2 while the nt-types+functions are
put into the namespace NT. The still conflicting #defines are handled
like this: If ntddk.h defintes a symbol FOO and os2.h does the same,
this file here undefines the ntddk.h-one and renames it to NT_FOO.
This is only done for conflicting symbols. Of course, this list is a
source for errors. But is there a better solution than renaming
all of the symbols?
*/
#ifndef __ROS2_H__
#define __ROS2_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
namespace NT
{
#include <ddk/ntddk.h>
#include <napi/types.h>
}
/* rename all the symbols */
#define NT_FILE_CREATE FILE_CREATE
#undef FILE_CREATE
#define NT_CREATE_SUSPENDED CREATE_SUSPENDED
#undef CREATE_SUSPENDED
namespace OS2
{
#include "os2.h"
}
using namespace OS2;
APIRET STDCALL Dos32Open(PSZ pszFileName, PHFILE pHf,
PULONG pulAction, ULONG cbFile,
ULONG ulAttribute, ULONG fsOpenFlags,
ULONG fsOpenMode, PVOID reserved ); //ULONGPEAOP2 peaop2)
APIRET STDCALL Dos32Close(HFILE hFile);
APIRET STDCALL Dos32Read(HFILE hFile, PVOID pBuffer,
ULONG cbRead, PULONG pcbActual);
APIRET STDCALL Dos32Write(HFILE hFile, PVOID pBuffer,
ULONG cbWrite, PULONG pcbActual);
ULONG STDCALL DosSleep (ULONG ulInterval);
ULONG STDCALL DosBeep (ULONG ulFrequency, ULONG ulDuration);
VOID STDCALL DosExit (ULONG ulAction, ULONG ulResult);
//ULONG STDCALL DosDevIOCtl (HFILE hDevice, ULONG ulCategory, ULONG ulFunction,
// PVOID pParams, ULONG ulParamsLengthMax, PULONG pulParamsLength,
// PVOID pData, ULONG ulDataLengthMax, PULONG pulDataLength);
typedef ULONG foo_TID;
typedef foo_TID* foo_PTID;
typedef void (*foo_PFNTHREAD)(ULONG ulThreadArg);
ULONG STDCALL DosCreateThread (foo_PTID ptidThreadID, foo_PFNTHREAD pfnThreadAddr,
ULONG ulThreadArg, ULONG ulFlags, ULONG ulStackSize);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __ROS2_H__ */

View File

@@ -1,20 +0,0 @@
@echo off
if "%1" == "" goto NoParameter
set ROS_INSTALL=%1
goto Install
:NoParameter
set ROS_INSTALL=c:\reactos
:Install
echo Installing to %ROS_INSTALL%
@echo off
md %ROS_INSTALL%
md %ROS_INSTALL%\bin
md %ROS_INSTALL%\symbols
md %ROS_INSTALL%\system32
copy ..\os2\apps\bepslep\bepslep.exe %ROS_INSTALL%\bin
copy ..\os2\lib\doscalls\doscalls.dll %ROS_INSTALL%\system32
copy ..\os2\lib\doscalls\doscalls.sym %ROS_INSTALL%\symbols
copy ..\os2\server\os2ss.exe %ROS_INSTALL%\system32
copy ..\os2\server\os2ss.sym %ROS_INSTALL%\symbols

View File

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

View File

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

View File

@@ -1,65 +0,0 @@
/* $Id: devices.cpp,v 1.5 2004/01/31 01:29:11 robertk Exp $
*/
/*
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS OS/2 sub system
* PART: doscalls.dll
* FILE: devices.cpp
* CONTAINS: device io ctl main function.
* PURPOSE: Kernelservices for OS/2 apps
* PROGRAMMER: Robert K. nonvolatil@yahoo.de
* REVISION HISTORY:
* 13-03-2002 Created
* 25-07-2002 Work to make it compile
* 10-11-2002 Done som little things
*/
#define INCL_DOSDEVICES
#define INCL_DOSERRORS
#include "ros2.h"
/*******************************************/
/* DosDevIOCtl performs control functions */
/* on a device specified by an opened */
/* device handle. */
/*******************************************/
/*HFILE hDevice; Device handle returned by DosOpen, or a standard (open) device handle. */
/*ULONG category; Device category. */
/*ULONG function; Device-specific function code. */
/*PVOID pParams; Address of the command-specific argument list. */
/*ULONG cbParmLenMax; Length, in bytes, of pParams. */
/*PULONG pcbParmLen; Pointer to the length of parameters. */
/*PVOID pData; Address of the data area. */
/*ULONG cbDataLenMax; Length, in bytes, of pData. */
/*PULONG pcbDataLen; Pointer to the length of data. */
/*APIRET ulrc; Return Code.
ulrc (APIRET) - returns
Return Code.
DosDevIOCtl returns one of the following values:
0 NO_ERROR
1 ERROR_INVALID_FUNCTION
6 ERROR_INVALID_HANDLE
15 ERROR_INVALID_DRIVE
31 ERROR_GEN_FAILURE
87 ERROR_INVALID_PARAMETER
111 ERROR_BUFFER_OVERFLOW
115 ERROR_PROTECTION_VIOLATION
117 ERROR_INVALID_CATEGORY
119 ERROR_BAD_DRIVER_LEVEL
163 ERROR_UNCERTAIN_MEDIA
165 ERROR_MONITORS_NOT_SUPPORTED
*/
APIRET STDCALL DosDevIOCtl(HFILE hDevice, ULONG category, ULONG function,
PVOID pParams,ULONG cbParmLenMax,PULONG pcbParmLen,
PVOID pData,ULONG cbDataLenMax,PULONG pcbDataLen)
{
return ERROR_CALL_NOT_IMPLEMENTED;
}
/* EOF */

View File

@@ -1,97 +0,0 @@
/* $Id: ioctl_async.cpp,v 1.2 2004/01/31 01:29:11 robertk Exp $
*/
/*
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS OS/2 sub system
* PART: doscalls.dll
* FILE: ipctl_async.cpp
* PURPOSE: This file is to be directly included into devices.cpp
* CONTAINS: implementation of the category 1 (async I/O)
* ioctl functioncodes.
* PROGRAMMER: Robert K. nonvolatil@yahoo.de
* REVISION HISTORY:
* 10-11-2002 Created
*/
/* This function implements the async ioctls. It
is called from the real DosIOCtl function. This
function implies that it is only called, if the
cathegory was 0x01.
All other parameters are the same as DosIoCtl.
FIXME: implement me
*/
APIRET EvaluateAsyncIoCtl( HFILE hDevice, ULONG function,
PVOID pParams, ULONG cbParmLenMax, PULONG pcbParmLen,
PVOID pData, ULONG cbDataLenMax, PULONG pcbDataLen)
{
switch( function )
{
case 0x41: //ASYNC_SETBAUDRATE
//+------------------------------------+
//|Field Length C Datatype |
//|------------------------------------|
//|Bit Rate WORD USHORT |
//+------------------------------------+
break;
case 0x42: // Set Line Characteristics (stop, parity, data bits)
return ERROR_INVALID_PARAMETER; // example
break;
case 0x43: // Extended Set Bit Rate .
break;
case 0x44: // Transmit Byte Immediate .
break;
case 0x45: // Set Break OFF .
break;
case 0x46: // Set Modem Control Signals .
break;
case 0x47: // Behave as if XOFF Received (stop transmit) .
break;
case 0x48: // Behave as if XON Received (start transmit) .
break;
case 0x49: // Reserved .
break;
case 0x53: // Set Device Control Block (DCB) Parameters .
break;
case 0x54: // Set Enhanced Mode Parameters .
break;
case 0x61: // Query Current Bit Rate .
break;
case 0x62: // Query Line Characteristics .
break;
case 0x63: // Extended Query Bit Rate .
break;
case 0x64: // Query COM Status .
break;
case 0x65: // Query Transmit Data Status .
break;
case 0x66: // Query Modem Control Output Signals .
break;
case 0x67: // Query Current Modem Input Signals .
break;
case 0x68: // Query Number of Characters in Receive Queue .
break;
case 0x69: // Query Number of Characters in Transmit Queue .
break;
case 0x72: // Query COM Event Information .
break;
case 0x73: // Query Device Control Block (DCB) Parameters .
break;
case 0x74: // Query Enhanced Mode Parameters .
break;
default:
return ERROR_INVALID_FUNCTION;
break;
}
return ERROR_INVALID_FUNCTION;
}
/* EOF */

View File

@@ -1,35 +0,0 @@
; $Id: doscalls.def,v 1.6 2004/01/31 01:29:11 robertk Exp $
;
; Def for doscalls.dll - part of the OS/2-sub system
; for ReactOS. Provides Access to OS/2 kernel services.
LIBRARY doscalls.dll
DESCRIPTION "Part of the ReactOS OS/2 sub system, provides base kernel services to OS/2-apps"
EXPORTS
; FIXME: fill in all exports
<<<<<<< doscalls.def
DosSleep
DosClose
DosOpen
DosRead
DosWrite
DosDevIOCtl
DosBeep
DosExit
DosCreateThread
=======
DosSleep
Dos32Close
Dos32Open
Dos32Read
Dos32Write
;DosDevIOCtl
DosBeep
DosExit
DosCreateThread
>>>>>>> 1.5
; EOF

View File

@@ -1,23 +0,0 @@
; $Id: doscalls.def.bak,v 1.1 2002/09/04 22:19:47 robertk Exp $
;
; Def for doscalls.dll - part of the OS/2-sub system
; for ReactOS. Provides Access to OS/2 kernel services.
LIBRARY doscalls.dll
DESCRIPTION "Part of the ReactOS OS/2 sub system, provides base kernel services to OS/2-apps"
EXPORTS
; FIXME: fill in all exports
Dos32Sleep@4 @229
Dos32Close@4 @257
Dos32Open@32 @273
Dos32Read@16 @281
Dos32Write@16 @282
Dos32DevIOCtl@36 @284
Dos32Beep@8 @286
Dos32Exit@8 @234
Dos32CreateThread@20 @311
; EOF

View File

@@ -1,35 +0,0 @@
; $Id: doscalls.edf,v 1.4 2004/01/31 01:29:11 robertk Exp $
;
; Def for doscalls.dll - part of the OS/2-sub system
; for ReactOS. Provides Access to OS/2 kernel services.
LIBRARY doscalls.dll
DESCRIPTION "Part of the ReactOS OS/2 sub system, provides base kernel services to OS/2-apps"
EXPORTS
; FIXME: fill in all exports
<<<<<<< doscalls.edf
DosSleep=DosSleep
DosClose=DosClose
DosOpen=DosOpen
DosRead=DosRead
DosWrite=DosWrite
DosDevIOCtl=DosDevIOCtl
DosBeep=DosBeep
DosExit=DosExit
DosCreateThread=DosCreateThread
=======
DosSleep=DosSleep@4 @229
Dos32Close=Dos32Close@4 @257
Dos32Open=Dos32Open@32 @273
Dos32Read=Dos32Read@16 @281
Dos32Write=Dos32Write@16 @282
;DosDevIOCtl=DosDevIOCtl@36 @284
DosBeep=DosBeep@8 @286
DosExit=DosExit@8 @234
DosCreateThread=DosCreateThread@20 @311
>>>>>>> 1.3
; EOF

View File

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

View File

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

View File

@@ -1,179 +0,0 @@
/* $Id: directory.cpp,v 1.1 2002/09/04 22:19:47 robertk Exp $
*/
/*
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS OS/2 sub system
* PART: doscalls.dll
* FILE: directory.cpp
* PURPOSE: Kernelservices for OS/2 apps
* CONTAINS: Directory related CP-functions.
* PROGRAMMER: Robert K. nonvolatil@yahoo.de
* REVISION HISTORY:
* 10-11-2002 Created
*/
#define INCL_DOSFILEMGR
#define INCL_DOSERRORS
#include "ros2.h"
/******************************************
DosDelete removes a file name from a
directory. The deleted file may be
recoverable.
pszFile (PSZ) - input
Address of the name of the file to be deleted.
ulrc (APIRET) - returns
Return Code.
DosDelete returns one of the following values:
0 NO_ERROR
2 ERROR_FILE_NOT_FOUND
3 ERROR_PATH_NOT_FOUND
5 ERROR_ACCESS_DENIED
26 ERROR_NOT_DOS_DISK
32 ERROR_SHARING_VIOLATION
36 ERROR_SHARING_BUFFER_EXCEEDED
87 ERROR_INVALID_PARAMETER
206 ERROR_FILENAME_EXCED_RANGE
*******************************************/
APIRET DosDelete(PSZ pszFile)
{
return ERROR_CALL_NOT_IMPLEMENTED;
}
/******************************************
DosDeleteDir removes a subdirectory
from the specified disk.
pszDir (PSZ) - input
Address of the fully qualified path name of the subdirectory to be removed.
ulrc (APIRET) - returns
Return Code.
DosDeleteDir returns one of the following values:
0 NO_ERROR
2 ERROR_FILE_NOT_FOUND
3 ERROR_PATH_NOT_FOUND
5 ERROR_ACCESS_DENIED
16 ERROR_CURRENT_DIRECTORY
26 ERROR_NOT_DOS_DISK
87 ERROR_INVALID_PARAMETER
108 ERROR_DRIVE_LOCKED
206 ERROR_FILENAME_EXCED_RANGE
******************************************/
APIRET DosDeleteDir(PSZ pszDir)
{
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*******************************************
DosCopy copies the source file or
subdirectory to the destination file or
subdirectory.
pszOld (PSZ) - input
Address of the ASCIIZ path name of the source file,
subdirectory, or character device.
Global file-name characters are not allowed.
pszNew (PSZ) - input
Address of the ASCIIZ path name of the target file,
subdirectory, or character device.
Global file-name characters are not allowed.
option (ULONG) - input
ULONG bit flags that define how the DosCopy
function is done.
Bit Description
31-3 Reserved. These bits must be set to
zero.
2 DCPY_FAILEAS (0x00000004)
Discard the EAs if the source file
contains EAs and the destination file
system does not support EAs.
0 Discard the EAs (extended attributes) if
the destination file system does not
support EAs.
1 Fail the copy if the destination file
system does not support EAs.
1 DCPY_APPEND (x00000002)
Append the source file to the target
file's end of data.
0 Replace the target file with the source
file.
1 Append the source file to the target file's
end of data.
This is ignored when copying a
directory, or if the target file does not
exist.
0 DCPY_EXISTING (0x00000001)
Existing Target File Disposition.
0 Do not copy the source file to the target
if the file name already exists within the
target directory. If a single file is being
copied and the target already exists, an
error is returned.
1 Copy the source file to the target even if
the file name already exists within the
target directory.
Bit flag DCPY_FAILEAS can be used in
combination with bit flag DCPY_APPEND or
DCPY_EXISTING.
ulrc (APIRET) - returns
Return Code.
DosCopy returns one of the following values:
0 NO_ERROR
2 ERROR_FILE_NOT_FOUND
3 ERROR_PATH_NOT_FOUND
5 ERROR_ACCESS_DENIED
26 ERROR_NOT_DOS_DISK
32 ERROR_SHARING_VIOLATION
36 ERROR_SHARING_BUFFER_EXCEEDED
87 ERROR_INVALID_PARAMETER
108 ERROR_DRIVE_LOCKED
112 ERROR_DISK_FULL
206 ERROR_FILENAME_EXCED_RANGE
267 ERROR_DIRECTORY
282 ERROR_EAS_NOT_SUPPORTED
283 ERROR_NEED_EAS_FOUND
*******************************************/
APIRET DosCopy(PSZ pszOld,PSZ pszNew, ULONG option)
{
return ERROR_CALL_NOT_IMPLEMENTED;
}
/* EOF */

View File

@@ -1,199 +0,0 @@
/* $Id: openclose.cpp,v 1.5 2004/01/31 01:29:11 robertk Exp $
*/
/*
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS OS/2 sub system
* PART: doscalls.dll
* FILE: openclose.cpp
* PURPOSE: Kernelservices for OS/2 apps
* CONTAINS: Open close write and handle related stuff.
* PROGRAMMER: Robert K. nonvolatil@yahoo.de
* REVISION HISTORY:
* 13-03-2002 Created
* 25-07-2002 Work to make it compile
*/
#define INCL_DOSFILEMGR
#define INCL_DOSERRORS
#include "ros2.h"
<<<<<<< openclose.cpp
APIRET STDCALL DosOpen(PSZ pszFileName, PHFILE pHf,
=======
APIRET STDCALL Dos32Open(PSZ pszFileName, PHFILE pHf,
>>>>>>> 1.4
PULONG pulAction, ULONG cbFile,
ULONG ulAttribute, ULONG fsOpenFlags,
ULONG fsOpenMode, PVOID reserved ) //ULONGPEAOP2 peaop2)
{
/* NTAPI
ZwCreateFile(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER AllocationSize OPTIONAL,
IN ULONG FileAttributes,
IN ULONG ShareAccess,
IN ULONG CreateDisposition,
IN ULONG CreateOptions,
IN PVOID EaBuffer OPTIONAL,
IN ULONG EaLength
);*/
/*
OBJECT_ATTRIBUTES ObjectAttributes;
IO_STATUS_BLOCK IoStatusBlock;
UNICODE_STRING NtPathU;
HANDLE FileHandle;
NTSTATUS Status;
ULONG Flags = 0;
switch (dwCreationDisposition)
{
case CREATE_NEW:
dwCreationDisposition = FILE_CREATE;
break;
case CREATE_ALWAYS:
dwCreationDisposition = FILE_OVERWRITE_IF;
break;
case OPEN_EXISTING:
dwCreationDisposition = FILE_OPEN;
break;
case OPEN_ALWAYS:
dwCreationDisposition = OPEN_ALWAYS;
break;
case TRUNCATE_EXISTING:
dwCreationDisposition = FILE_OVERWRITE;
}
DPRINT("CreateFileW(lpFileName %S)\n",lpFileName);
if (dwDesiredAccess & GENERIC_READ)
dwDesiredAccess |= FILE_GENERIC_READ;
if (dwDesiredAccess & GENERIC_WRITE)
dwDesiredAccess |= FILE_GENERIC_WRITE;
if (!(dwFlagsAndAttributes & FILE_FLAG_OVERLAPPED))
{
Flags |= FILE_SYNCHRONOUS_IO_ALERT;
}
if (!RtlDosPathNameToNtPathName_U ((LPWSTR)lpFileName,
&NtPathU,
NULL,
NULL))
return INVALID_HANDLE_VALUE;
DPRINT("NtPathU \'%S\'\n", NtPathU.Buffer);
ObjectAttributes.Length = sizeof(OBJECT_ATTRIBUTES);
ObjectAttributes.RootDirectory = NULL;
ObjectAttributes.ObjectName = &NtPathU;
ObjectAttributes.Attributes = OBJ_CASE_INSENSITIVE;
ObjectAttributes.SecurityDescriptor = NULL;
ObjectAttributes.SecurityQualityOfService = NULL;
Status = NtCreateFile (&FileHandle,
dwDesiredAccess,
&ObjectAttributes,
&IoStatusBlock,
NULL,
dwFlagsAndAttributes,
dwShareMode,
dwCreationDisposition,
Flags,
NULL,
0);
if (!NT_SUCCESS(Status))
{
SetLastErrorByStatus (Status);
return INVALID_HANDLE_VALUE;
}
return FileHandle;*/
return ERROR_CALL_NOT_IMPLEMENTED;
}
/* close a Handle. seems finished */
APIRET STDCALL DosClose(HFILE hFile)
{
NT::NTSTATUS nErrCode;
nErrCode = NT::ZwClose( (NT::HANDLE)hFile );
switch( nErrCode )
{
/*
case STATUS_SUCCESS:
return NO_ERROR;
case STATUS_INVALID_HANDLE:
return ERROR_INVALID_HANDLE;
case STATUS_HANDLE_NOT_CLOSABLE:
return ERROR_FILE_NOT_FOUND;
*/
}
return nErrCode;
}
APIRET STDCALL DosRead(HFILE hFile, PVOID pBuffer,
ULONG cbRead, PULONG pcbActual)
{
NT::NTSTATUS nErrCode;
NT::IO_STATUS_BLOCK isbStatus;
// read data from file
nErrCode = NT::ZwReadFile( (NT::HANDLE)hFile, NULL, NULL, NULL,
&isbStatus, pBuffer, cbRead,
NULL, NULL );
// contains the # bytes actually read.
*pcbActual = isbStatus.Information;
switch(nErrCode)
{
/*
case STATUS_INVALID_HANDLE:
return ERROR_INVALID_HANDLE;
// FIXME: complete this
*/
}
return NO_ERROR;
}
/* Generic write to a stream given by hFile */
APIRET STDCALL DosWrite(HFILE hFile, PVOID pBuffer,
ULONG cbWrite, PULONG pcbActual)
{
NT::NTSTATUS nErrCode;
NT::IO_STATUS_BLOCK StatusBlk;
nErrCode = NtWriteFile( (NT::HANDLE)hFile, NULL, NULL, NULL,
&StatusBlk, pBuffer, cbWrite, 0, NULL );
// FIXME *pcbActual = StatusBlk.Information;
// do an errorcode translation FIXME: correct
return ERROR_CALL_NOT_IMPLEMENTED;
switch(nErrCode)
{
/*
case STATUS_SUCCESS:
case STATUS_PENDING:
case STATUS_ACCESS_DENIED:
case STATUS_INVALID_HANDLE:
case STATUS_FILE_LOCK_CONFLICT:
return 0;
*/
}
return 0;
}

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