Compare commits

...

5252 Commits

Author SHA1 Message Date
Aleksey Bragin
9c36749d09 - Move the last two items out from "unmaintained" thus restoring branches directory hierarchy.
- Delete "unmaintained" (it was a bad temporary solution after all).

svn path=/branches/msvc6/; revision=36848
2008-10-20 16:50:26 +00:00
Aleksey Bragin
bfb890a68d Move unmaintained stuff (cis, os2, rosky, vms, and msvc6) to a respective branch [01/02]
svn path=/branches/unmaintained/; revision=24496
2006-10-13 09:00:21 +00:00
Art Yerkes
a8e91f11af Fixen. Delete is still broken.
We now use BalancedRoot->Parent as the nil element and distinguish it from
the embedded element.
Fix null and root macros, assert macro and some other stuff.

svn path=/trunk/; revision=24495
2006-10-13 07:02:04 +00:00
Aleksey Bragin
20d422c02d - Fix a mistake in low memory pages allocation algorithm (commit-reviewers, where are you? :))
svn path=/trunk/; revision=24494
2006-10-12 20:46:07 +00:00
Hervé Poussineau
3dce4b0486 Read object security descriptors from .inf file. Apply them for registry keys and services and display a message for files
svn path=/trunk/; revision=24493
2006-10-12 09:01:16 +00:00
Hervé Poussineau
32ac32df07 Better stubs for RpcImpersonateClient and RpcRevertToSelf (taken from Wine)
svn path=/trunk/; revision=24492
2006-10-12 08:57:21 +00:00
Hervé Poussineau
cc0716b65d Send right security descriptor to InitializeObjectAttributes, so ntoskrnl won't fail
The code was working because we never tried to call RegCreateKeyEx with a security descriptor...

svn path=/trunk/; revision=24491
2006-10-11 23:11:59 +00:00
Hervé Poussineau
47ef13cf4a Replace incomplete and broken implementations of ConvertStringSecurityDescriptorToSecurityDescriptorW and ConvertStringSidToSidW by new ones
svn path=/trunk/; revision=24490
2006-10-11 22:14:05 +00:00
Hervé Poussineau
dc1d41df49 Add some definitions
svn path=/trunk/; revision=24489
2006-10-11 21:57:22 +00:00
Hervé Poussineau
a29de84b89 Don't try to signal init event, as it has been removed in r24413/24414
svn path=/trunk/; revision=24488
2006-10-11 18:25:22 +00:00
Thomas Bluemel
5cb6da33e5 Fixed InterlockedExchangeAdd
svn path=/trunk/; revision=24487
2006-10-11 17:41:42 +00:00
KJK::Hyperion
11962157c1 How could so much be so wrong in so little code is something future generations will forever ponder in vain. Fixed constraints on inline asm outputs for compare-exchange intrinsics
svn path=/trunk/; revision=24486
2006-10-11 16:07:45 +00:00
Thomas Bluemel
c0c399894e Some header upgrades
svn path=/trunk/; revision=24485
2006-10-11 11:44:40 +00:00
Thomas Bluemel
d395d0ad39 Fix polling of ShutdownNotify
svn path=/trunk/; revision=24484
2006-10-11 10:34:36 +00:00
Aleksey Bragin
e81472d5d0 - Add global var for keeping size of NLS data in pages
- Restructure memory-map building loop to create special descriptor for NLS data
- Fix a bug in memory-map building loop which lead to not covering last XXX pages of memory

svn path=/trunk/; revision=24483
2006-10-10 15:20:03 +00:00
Art Yerkes
79e9d9d8aa Added 'austin' AVL implementation and provide a binding for the AVL functions
in generictable.

Not tested, (but nothing relies on it yet).

Austin is
 Copyright (C) 2000 Kaz Kylheku <kaz@ashi.footprints.net>
 Copyright (C) 2000 Carl van Tast <vanTast@netway.at>

Copying, reuse and modification are permitted on liberal terms.

svn path=/trunk/; revision=24482
2006-10-10 12:31:16 +00:00
Aleksey Bragin
a8e5dde037 Add a stub to peloader.c
svn path=/trunk/; revision=24481
2006-10-10 10:42:07 +00:00
Aleksey Bragin
3bef467687 - Implement WinLdrLoadBootDrivers() / WinLdrLoadDeviceDriver() - to be able to load boot-time drivers
- Perform hardware detection in the beginning (I had to insert RegInitializeRegistry() hack because MachHwDetect initializes certain stuff in registry)
- Convert info from hwdetect to suitable form in LPB (code by Alex Ionescu, just moved/adapted). Debug routine added to output its contents.
- Move allocation memory for NlsData into "phase 0" (AllocateAndInitLPB)
- Fixed SystemRoot to be of a correct form (later will be autogenerated of course, now just for reference)

svn path=/trunk/; revision=24480
2006-10-10 10:38:45 +00:00
Filip Navara
493f953a0c Fix setting of SystemBootDevice and SystemStartOptions in registry.
Fix detection of MiniNT systems.

svn path=/trunk/; revision=24479
2006-10-10 00:22:04 +00:00
Filip Navara
7bbb81a0d4 Sort the key indexes in CM.
svn path=/trunk/; revision=24478
2006-10-09 23:43:06 +00:00
Hervé Poussineau
ca6e7110f5 - Start NetLogon service (lsass.exe)
- Fix lots of problems in error handling
- Some general cleanup

svn path=/trunk/; revision=24477
2006-10-09 19:19:28 +00:00
Hervé Poussineau
e16a26e1f2 Formatting and add a call to StartServiceCtrlDispatcher
svn path=/trunk/; revision=24476
2006-10-09 19:16:47 +00:00
Magnus Olsen
f86ee0a05c make our msvcrt bit more windows nt4/2000 compatible
do not link _i64toa and _i64tow to ntdll they are missing in windows nt4/windows 2000 ntdll. 

svn path=/trunk/; revision=24475
2006-10-09 18:42:24 +00:00
Magnus Olsen
80c28a9405 fixed so our taskmgr works in windows 2000
svn path=/trunk/; revision=24474
2006-10-09 18:01:56 +00:00
Thomas Bluemel
ca392ef651 Make sure the compiler doesn't optimize away writes to video memory
svn path=/trunk/; revision=24473
2006-10-09 16:37:27 +00:00
Thomas Bluemel
8a80403d2a Some portability fixes that address possible alignment issues. Read R. Chen's blog 10/06/06 for more information.
svn path=/trunk/; revision=24472
2006-10-09 15:09:50 +00:00
Aleksey Bragin
182fc37942 Revert r24430 changes (by Magnus Olsen) since they are incorrect (additionally confirmed by Filip Navara)
svn path=/trunk/; revision=24471
2006-10-09 15:02:33 +00:00
Thomas Bluemel
b79edc3b52 Fix compilation with GCC4
svn path=/trunk/; revision=24470
2006-10-09 14:59:10 +00:00
Thomas Bluemel
2600e04b68 Strings should be const char *. Fixes compilation with GCC4
svn path=/trunk/; revision=24469
2006-10-09 14:54:40 +00:00
Thomas Bluemel
b8dd6657bc Strings should be const char *. Fixes compilation with GCC4
svn path=/trunk/; revision=24468
2006-10-09 14:43:16 +00:00
Mindflyer
c255fa82a3 Change copyright to 1996-2006, because
a) our earliest version records show 1996
b) we are now in 2006

svn path=/trunk/; revision=24467
2006-10-09 12:37:03 +00:00
Aleksey Bragin
b6df2387ba Fix mkhive compiling by adding _NTSYSTEM_ define. This is needed after Thomas' fixes to headers.
svn path=/trunk/; revision=24466
2006-10-09 08:07:19 +00:00
Alex Ionescu
4ffb9d2c3e - Some misc changes to fix some of the 250+ warnings in the MSVC build.
svn path=/trunk/; revision=24465
2006-10-09 05:59:18 +00:00
Alex Ionescu
6951a4887c - Bootvid rewrite by Filip Navara (with some fixes by myself)
- HAL DMA enhancements by Filip Navara.
- CSRSS Console enhancements by Filip Navara.
- Win32k Primitive Queue/Input/Painting/Focus enhancements by Filip Navara.
- Other misc win32k/CSR bug fixes by Filip Navara.
- The new bootvid code has some bugs, but try out a GUI Boot!

svn path=/trunk/; revision=24464
2006-10-09 04:00:34 +00:00
Alex Ionescu
3012ee8072 - Initialize the registry in one shot, and allow it to fail and do the associated CONFIG_INIT_FAILED bugcheck.
- Initialize Io in one shot, with IoInitSystem.
- Locate the system DLL a bit later, since on the boot CD this creates a small incompatibility due to the wrong path being in use.

svn path=/trunk/; revision=24463
2006-10-09 01:16:28 +00:00
Alex Ionescu
b772538a22 - Add RtlInitEmptyAnsiString to DDK.
- Fix a pretty bad stack/memory corruption bug related to IoReassignSystemRoot.
- Combine IoInit2 and IoInit3 into IoInitSystem, and make it return a BOOLEAN, and handle error with the appropriate IO1_INIT_FAILED bugcheck. Will combine IoInit1 soon.

svn path=/trunk/; revision=24462
2006-10-08 23:46:26 +00:00
Alex Ionescu
2b1ade4723 - Remove InitSharedUserDataPage since this entire function is not needed anymore due to the recent ARC improvements.
- Call IoAssignDriverLetters with the proper parameters, and give it a chance to update the SystemRoot path (although our version doesn't yet do this).

svn path=/trunk/; revision=24461
2006-10-08 22:50:26 +00:00
Alex Ionescu
d4b5fef3d6 - Finalize ARC Boot changes:
* Rename IoCreateArcNames to IopCreateArcNames and set it to NTAPI, as well as pass the loader block as a parameter.
  * Reduce buffers to 128 bytes, since ARC Paths don't get longer then that.
  * Optimize stack usage by using a single ANSI_STRING instead of 3 or 4.
  * Optimize stack usage by using a single ansi buffer, not 2 or more.

svn path=/trunk/; revision=24458
2006-10-08 21:38:45 +00:00
Alex Ionescu
b5f79593de - Optimize IopApplyRosCdromArcHack by not searching for the second copy of ntoskrnl if we already found the first.
- Also optimize stack usage by only using an ANSI buffer instead of having another Unicode buffer and unicode strings. Saves 530 bytes of stack.

svn path=/trunk/; revision=24457
2006-10-08 21:16:20 +00:00
Alex Ionescu
5e214ceaa0 - Part 2.5 of ARC Boot changes. Re-factor IoCreateArcNames not to use a list-entry of detected disk from pool that gets looped and de-referenced, but instead use a simple loop which calls a function that gets disk information one-by-one (IopGetDiskInformation), so that it's used on the spot instead of allocated, linked, and retrieved later.
- Inline IopAssignArcNamesToDisk to reduce some stack size abuse and too much parameter shuffling.
- Stack use is still very inefficient, will fix next.

svn path=/trunk/; revision=24456
2006-10-08 21:09:00 +00:00
Thomas Bluemel
73c2dc5053 Some header fixes
svn path=/trunk/; revision=24454
2006-10-08 20:28:03 +00:00
Alex Ionescu
1047de88bf - Greatly simplify and optimize IoCreateArcNames by using ARC data from FreeLDR/NTLDR (now nearly 100% compatible!) instead of querying registry data (which FreeLdr had already set up, so we cached those values like ntldr does).
- Last step is to stop using a list of drives and pool allocated entries, to optimize memory usage and re-factor the code.

svn path=/trunk/; revision=24453
2006-10-08 19:59:53 +00:00
Alex Ionescu
c537eb20f2 - Have FreeLDR fill out ARC_DISK_SIGNATURE information for each detected disk, as it's filling the registry.
- Add code to KiRosFrldrLpbToLpb to convert this array to the official ARC_DISK_INFORMATION structure that contains LIST_ENTRYies for each ARC_DISK_SIGNATURE, and initialize the ArcDiskSignatureListHead.
- The end result will be that in the next patch we can remove a bunch of registry-reading code in IoCreateArcNames.

svn path=/trunk/; revision=24452
2006-10-08 19:34:16 +00:00
Alex Ionescu
7a1b73cf84 - Part 2 of ARC boot changes: Major modifications done to the existing code, as well as re-formatting and cleanup. Floppy ARC names are not created anymore (they don't exist), and CD-ROM ARC name is only created 1) when there is a boot CD and 2) only for the boot CD. This mimics NT functionality.
- Optimize some code paths, mostly by not querying the whole GET_DRIVE_GEOMETRY IRP twice and reducing some buffer usage. Also re-factor some code better into smaller functions.
- Document and work around currently FreeLDR incompatibility (lack of ARC_DISK_INFORMATION) data in LoaderBlock.

svn path=/trunk/; revision=24451
2006-10-08 16:58:03 +00:00
Aleksey Bragin
b234cb305e - Add dumping boot drivers list, remove unneded comment
- Implement WinLdrScanRegistry() (based on freeldr's already existing implementation) which searches for boot-loading drivers
- Implement WinLdrAddDriverToList() - it correctly fills an entry in the BootDriversList in LoaderParameterBlock

svn path=/trunk/; revision=24444
2006-10-08 10:06:06 +00:00
Aleksey Bragin
3c3080f16b - Add simple support functions to be able to use more RTL in FreeLdr
svn path=/trunk/; revision=24442
2006-10-08 08:54:44 +00:00
Alex Ionescu
6d262bb755 - Whoops, don't call IopReassignSystemRoot twice.
svn path=/trunk/; revision=24441
2006-10-08 07:59:30 +00:00
Alex Ionescu
66f4128216 - Part 1 of ARC boot cleanups/changes: Create a valid \\SystemRoot symbolic link as the system is booting, which points to the ARC name, then, once drivers have loaded, re-assign it to the proper NT Device name. Added proper security descriptors and flags to symbolic links, as well as proper bugchecks when required.
- Kept and cleaned up the ROS hack for CD-ROM boot.

svn path=/trunk/; revision=24440
2006-10-08 07:53:37 +00:00
Alex Ionescu
9307f32ce3 - More re-shuffling of initialization calls, including enabling access to the blue screen much much earlier (no point in doing it so late, but this change is not that useful since soon we'll have bootvid).
- Split Po init in two, so the early Po init (which we'll need to do eventually) doesn't depent on the later Po init (which uses a PnP notification which depends on the Io system).
- Make I/O initialize quite a bit later.

svn path=/trunk/; revision=24439
2006-10-08 04:47:26 +00:00
Alex Ionescu
4b00ba5d4d - Inline and make some slight correctiions to KiInitailizeSystemClock, since it's based on the Ex subsystem, not Ke. Add code for boot-time timezone bias, but currently disabled because I need to implement a function to read configuration registry data at startup.
- Improve Init bugchecks to give the exact module that failed. Add Kd initilization in the same block as the other subsystems.
- Rename and re-arrange some initlization calls.

svn path=/trunk/; revision=24438
2006-10-08 04:05:27 +00:00
Alex Ionescu
9088db842e - Stub LdrVerifyMappedImageMatchesChecksum.
- Separate locating the system DLL from initializing it.
- Implement split-phase PsInitSystem for Phase 0 and 1, and make system dll initialization as part of phase 1.
- Add MmVerifyImageIsOkForMpUse and MmCheckSystemImage to validate the system DLL.
- Add a separate bugcheck for each failure in PsLocateSystemDll, matching with the NT bugchecks that would occur.

svn path=/trunk/; revision=24437
2006-10-08 02:10:34 +00:00
Alex Ionescu
ebd9a573ec - In NTLDR boot, try to get the first kernel physical address from the loader entries.
- Fixup HAL's image base in the loader parameter block, since we load it at a different place then freeldr tells us.
- We've reached a dead end in NTLDR compatibility. Out memory manager initialization code makes some assumptions which are totally incompatible with the page table state that NTLDR gives us.

svn path=/trunk/; revision=24436
2006-10-08 00:04:03 +00:00
Alex Ionescu
378f64d047 - FreeLDR: Create the loader entry for ntoskrnl now that FreeLDR PE-loads it since last year. This lets us remove a large hack in ntoskrnl which was manually creating the entry and filling it in.
- Rename some LastKrnl... addresses into MmFreeLdr to easily identify them, and remove the need to use MmFreeLdrMemLower and MmFreeLdrPageDirectoryStart.
- Remove the static KERNEL_BASE definition based on a GCC-specific external. Everything now uses the actual module entry's saved base address.
- Fix a Ps Initialization hack and properly set the boot PDE.
- Add a hack for NTLDR's lack of MmFreeLdrMemHigher and MmFreeLdrPageDirectoryEnd.

svn path=/trunk/; revision=24435
2006-10-07 22:23:35 +00:00
Ged Murphy
f8fa7d16f8 move the string parsing routine into it's own function so it can be used with DeviceProblemWizard_RunDLL when required.
svn path=/trunk/; revision=24434
2006-10-07 15:02:43 +00:00
Ged Murphy
71bc38ca20 testing ros-diffs
svn path=/trunk/; revision=24433
2006-10-07 14:35:22 +00:00
Aleksey Bragin
a40bc5ff5f - Add structure for describing boot-loaded drivers
svn path=/trunk/; revision=24432
2006-10-07 13:07:25 +00:00
Alex Ionescu
b53f179583 - Fix calls to HvInitializeHive
svn path=/trunk/; revision=24431
2006-10-06 23:11:49 +00:00
Magnus Olsen
2db2156bb3 Fixed control apps windows, Let me known if it create any regress.
svn path=/trunk/; revision=24430
2006-10-06 21:59:42 +00:00
Aleksey Bragin
41c8741041 - Load and initialize in-memory registry
- Query NLS file names from registry instead of hardcoding
- Move loading of NLS data to WinLdrLoadAndScanSystemHive()

svn path=/trunk/; revision=24429
2006-10-06 21:20:36 +00:00
Alex Ionescu
e2295b6e85 - Fix calls to HvInitializeHive due to my last patch. Proof that Fireball doesn't properly test his commits... I broke Freeldr building before his commit, yet he commited it anyway even though freeldr couldn't build ;). Just kidding.
svn path=/trunk/; revision=24428
2006-10-06 20:52:50 +00:00
Aleksey Bragin
0b9fa0e21a - Make arc-path passed to the kernel look a bit more correct (still a hack of course)
- Add KdCom.dll loading along with ntoskrnl.exe and hal.dll
- Move registry-related code to a new file wlregistry.c
- WinLdrLoadAndScanSystemHive() is going to combine loading, initializing and parsing registry. NLS / OEM font data loading is marked with FIXMEs now, since it needs going into that routine (because registry tells the file names, not hardcoding them)

svn path=/trunk/; revision=24427
2006-10-06 20:28:55 +00:00
Alex Ionescu
9bfa61479f - Add PROFILE_ACPI_DOCKING_STATE.
- Fix HvInitialize definition to match more closely NT's since I need some of the extra parameters for the cm rewrite.
- Implement ExInitializePushLock and ExConvertPushLockSharedToExclusive macros.

svn path=/trunk/; revision=24426
2006-10-06 19:29:25 +00:00
Ged Murphy
6318f42ad0 fix a TCHAR brain lapse...
svn path=/trunk/; revision=24425
2006-10-06 17:10:57 +00:00
Ged Murphy
2380e7bb33 implemented DeviceProperties_RunDLLW and DeviceProperties_RunDLLA
svn path=/trunk/; revision=24424
2006-10-06 16:08:54 +00:00
Alex Ionescu
a4c366b659 - Add internal EX_CALLBACK Object to NDK. (Callback blocks are a new NT 5.2 kernel mechanism much like RunOncs blocks in Vista user-mode). They're managed by rundown protection and fast-referencing through interlocked calls to push/pop/sychrnonize system callbacks.
- Add ObOpenObjectByName to NDK, since this API is not documented in official headers.

svn path=/trunk/; revision=24422
2006-10-06 06:36:35 +00:00
Alex Ionescu
45d84c9668 - Guard some current cmlib includes against new cm branch
- Remove NTSYSAPI from NtBuildNumber definition in NDK.

svn path=/trunk/; revision=24416
2006-10-05 23:01:38 +00:00
Alex Ionescu
8859463623 - Remove SMSS's code for signaling the "init" event.
- Make ExpInitNls responsible for NLS initialization in Phase 0 as well, to clean up the code in ExpInitailizeExecutive a bit.
- Initialize the system time/clock in Phase 1, not in Phase 0.
- Do HAL Phase1 initialization as the first step in Phase 1 initialization, then initialize the system clock (since the HAL's RTC is now configured).
- Do Ob Phase 1 init in Phase 1 initialization, not in phase 0.
- Do Ke Phase 1 init after HAL, Ob and Ex phase 1 inits.
- Initialize NLS for Phase 1 after Ke Phase 1, instead of much later.

svn path=/trunk/; revision=24414
2006-10-05 16:38:58 +00:00
Alex Ionescu
093d1a3aba - Get rid of the completely convoluted way that Phase 1 initialization was being ended, with umpteen events and waits and timeouts all synchronized from user-mode and do a simple 5-second wait to determine if smss started OK or not.
- Promote the Phase 1 initialization thread by jumping directly into the zero-page thread, and remove manual zero-page thread initialization code since we simply jump into its main routine.
- 100 less lines of code :)

svn path=/trunk/; revision=24413
2006-10-05 16:14:28 +00:00
Alex Ionescu
eb8c705ce9 - Put all Phase 1 Ex* Initialization in ExpInitSystemPhase1 and clean up associated deprecated calls.
- Call ExpInitializePushLocks since we weren't doing this before.

svn path=/trunk/; revision=24412
2006-10-05 15:13:59 +00:00
Alex Ionescu
3f66fcf605 - Rewrite ExpLoadInitialProcess by inlining and simplifying what the call to RtlCreateProcsesParameters should do, and also create our own custom environment with the same arguments that NT's smss gets.
- This optimizes booting as well as gets use the differnet SESSIONY_INITIALIZATION_FAILED, where Y is a number representing which step of the process parameter/envieonment creation failed.

svn path=/trunk/; revision=24411
2006-10-05 14:49:20 +00:00
Aleksey Bragin
3727f8fc7d - Add #ifdef DEBUG / #endif to fix compile. FreeLdr's debug macros needs some improvement in the future...
svn path=/trunk/; revision=24410
2006-10-05 09:15:44 +00:00
Alex Ionescu
5162751ab3 - Use KeLoaderBlock for registry hive loading.
- Get rid of the CACHED_MODULE array and associated structures and stop using them, get rid of ParseAndCacheLoadedModules. Stop using KeLoadedModules and KeLoadedModuleCount outside of freeldr.c.
- Except for MmInit1, the kernel should now be totally isolated from FreeLDR-specific data.

svn path=/trunk/; revision=24409
2006-10-05 02:02:27 +00:00
Alex Ionescu
0bfcd77883 - Implement ExpInitNls to initialize the NLS Section using the new semantics recently implemented. Works pretty much like the previous code in rtl/nls.c except it uses the new variable names as well as maps a view of the NLS Table into the system process.c
- Delete rtl/nls.c and all the associated deprecated code.
- Do MmInit1 and SharedUserData stuff *after* initializing the initial thread, to avoid an ASSERT during bootup.

svn path=/trunk/; revision=24408
2006-10-05 01:44:54 +00:00
Ged Murphy
52d60b023b add a few more icons to the device imagelist
svn path=/trunk/; revision=24407
2006-10-04 22:29:18 +00:00
Christoph von Wittich
a387e6f9f8 -removed unused var
svn path=/trunk/; revision=24406
2006-10-04 22:06:00 +00:00
Aleksey Bragin
b103aa1ece - Add most needed memory-manipulating functions. Some places are really crappy (like WinLdrSetProcessorContext's IDT filling), will be fixed soon.
- FIXME: Since FreeLdr doesn't really keep track of which memory is of which type, this code has a massive hack for guessing the memory type, which is incorrect for future usage

svn path=/trunk/; revision=24405
2006-10-04 21:58:36 +00:00
Christoph von Wittich
a361366988 -support debugging of control panel applets
svn path=/trunk/; revision=24404
2006-10-04 21:47:43 +00:00
Christoph von Wittich
245dca159a -don't use GetLastError with Reg* functions
-remove @16 from def file (msvc doesn't like it)

svn path=/trunk/; revision=24403
2006-10-04 21:47:08 +00:00
Aleksey Bragin
602923e572 - Fix warning in winldr.c
- Implement WinLdrAllocateDataTableEntry() used for allocating and initializing the DTE
- Implement WinLdrLoadImage(), which uses LdrRelocateImageWithBias() from RTL, calling it with loader name "FLx86" (RTL should treat it differently -- ROS/WinLdr-specific behavior)

svn path=/trunk/; revision=24402
2006-10-04 21:36:56 +00:00
Aleksey Bragin
76abbb4423 - Remove some crap from the LoadAndBootWindows()
- Change debugging checkpoint to online-asm (all this is temporary), since any code after while(1){}; seems to be just optimized away by gcc
- Uncomment NDEBUG for now

svn path=/trunk/; revision=24401
2006-10-04 21:11:16 +00:00
Thomas Bluemel
32dcc834ed Fix broken resources
svn path=/trunk/; revision=24400
2006-10-04 19:55:53 +00:00
Ged Murphy
a595b4c7da add some overlay icons needed for devmgmt
svn path=/trunk/; revision=24399
2006-10-04 19:04:16 +00:00
Thomas Bluemel
948a1f9045 Fix almost the same bug in LdrGetProcedureAddress as in r24397
svn path=/trunk/; revision=24398
2006-10-04 18:46:57 +00:00
Thomas Bluemel
80da4a434c - Fix binary search algorithm in LdrGetProcedureAddress
- Fix temporary ntdll export hack (r24395)

svn path=/trunk/; revision=24397
2006-10-04 16:51:51 +00:00
Ged Murphy
7e6d549b19 - Open the device propsheet for child items (not parents as there isn't much point)
- Tag the Device ID onto the treeview items and provide functionality to tear it down
- Remove/change some code which wasn't needed to speed up opening time3
- We now have a pretty functional device manager. However it's heavily reliant on devmgr.dll, therefore functionality per device will rely on how complete this lib is.

svn path=/trunk/; revision=24396
2006-10-04 16:39:45 +00:00
Alex Ionescu
d0cb64ce3d - Implement XPSP2+ syscall stub that uses indirect pointer instead of executable code inside KUSER_SHARED_DATA.
- Someone (FILIP!) please fix LdrGetProcedureAddress. It's broken and I had to rename an ntdll export to make it work (see comments).
- Make sure you REBUILD CLEAN. This commit changes NCITool!!!
- Setup some NPX-related CPU features in SharedUserData during KiInitializeKernel.
- Remove some now-deprecated initialization functions.

svn path=/trunk/; revision=24395
2006-10-04 16:00:36 +00:00
Thomas Bluemel
48236aa642 Don't compile with -Wconversion since we have function callbacks that have parameters with sizes different from int without forward declarations. Fixes superfluous warnings.
svn path=/trunk/; revision=24394
2006-10-04 15:19:23 +00:00
Aleksey Bragin
778bad347c - Format code of InstallFatBootcodeToPartition(), changing from tabs+spaces mix to tabs only (use "ignore whitespaces" settings to view other changes)
- Change installation logic when installing to a NTLDR's boot.ini: Firstly freeldr.ini is checked for existence, and either created or updated, then boot.ini is checked for having a proper entry, and if needed - entry is added. Fixes related bugs (having more and more ReactOS entries, no entry added if freeldr.ini already exists in the root folder)

svn path=/trunk/; revision=24392
2006-10-04 12:26:12 +00:00
Magnus Olsen
41dea75354 this file some have forget set eol-style native
fixed

svn path=/trunk/; revision=24391
2006-10-04 10:59:01 +00:00
Magnus Olsen
07725072f3 1. move all languages file to own folder
2. fixed sub languages on allot languages rc files
3. add LMH1 Norwegian translations.

See issue #1698 for more details.

svn path=/trunk/; revision=24389
2006-10-04 06:58:03 +00:00
Alex Ionescu
38a5188c8e - Fix boot crash due to last patch, forgot that SharedUserDAta wasn't available yet.
svn path=/trunk/; revision=24388
2006-10-04 05:59:56 +00:00
Alex Ionescu
a6056d1fa9 - Fix KUSER_SHARED_DATA in winddk.h
- Scanfor NOEXECUTE/EXECUTE/OPTIN/OPTOUT/ALWAYSON/ALWAYSOFF load strings and set the appropriate NX policy in KUSER_SHARED_DATA as well as kernel CPU Feature flags.

svn path=/trunk/; revision=24387
2006-10-04 05:48:46 +00:00
Alex Ionescu
1e4f141555 - Add KF_XMMI64 feature flag for SSE2 and detect it.
- Detect Hyper-Threading and set Local APIC ID (put back Thomas's code that he added in an old revision and that I had accidentally removed and forgotten to re-convert into the new KiGetFeatureBits function).
- Add code to set the kernel MX Csr Mask in the FX Save Area.
- Startup the sysenter handler on the DPC stack.
- Detect and notify users with broken Pentiums.
- Do some NPX checks to forcefully disable any FPU flags that might be set (SSE, MMX, 3DNOW) if the NPX is disabled.

svn path=/trunk/; revision=24386
2006-10-04 05:29:30 +00:00
Alex Ionescu
917979cceb - Make Kernel initialization (KeInit2) portable/more complete. KeInit2 becomes KeInitSystem, the portable part, with a call to KiInitMachineDependent, the arch-specific part.
- Do all CPU configuration through IPIs and synchronize with potential multiple CPUs.
- Add mtrr.c and patpge.c for future support of MTRR, AMD K6 MTRR, PGE and PAT support, with initilization calls in each of them (which only print out a "Sorry" message).
- Add some stubbed code for extra initizliation to do later once some detection things are fixed.

svn path=/trunk/; revision=24385
2006-10-04 03:37:11 +00:00
Ged Murphy
ad0184614e update comctl32 to Wine-0.9.22 to get the new imagelist code.
svn path=/trunk/; revision=24384
2006-10-03 22:46:26 +00:00
Ged Murphy
2ef79f3efe add LPCDLGTEMPLATE definition
svn path=/trunk/; revision=24383
2006-10-03 22:43:46 +00:00
Ged Murphy
f1775cc055 fix processor display
svn path=/trunk/; revision=24382
2006-10-03 20:51:35 +00:00
Thomas Bluemel
99379a7e2c Fix warning
svn path=/trunk/; revision=24381
2006-10-03 20:04:39 +00:00
Ged Murphy
a2d3c5fe33 - Implement the context menu (mouse only at the moment) makeing it accessable when the cursor over the item only
- open the propsheet when double clicking child items
- make 'properties' bold

svn path=/trunk/; revision=24380
2006-10-03 19:55:15 +00:00
Hervé Poussineau
21dd51fc8b Copy i8042prt driver from 0.3.1 branch to trunk. Try #2
svn path=/trunk/; revision=24379
2006-10-03 18:04:03 +00:00
Hervé Poussineau
90b4dc09c7 Of course, I've added one level in directory structure in 24377. Delete the whole i8042prt driver and retry
(Sorry, this revision won't build)

svn path=/trunk/; revision=24378
2006-10-03 18:03:28 +00:00
Hervé Poussineau
273908b19f Copy i8042prt driver from 0.3.1 branch to trunk
svn path=/trunk/; revision=24377
2006-10-03 18:00:04 +00:00
Hervé Poussineau
b207566c12 Add back registry entries from i8042prt/kbdclass/mouclass
svn path=/trunk/; revision=24376
2006-10-03 17:57:29 +00:00
Thomas Bluemel
fd990e9ada Fix displaying Win32 errors (the Reg* APIs don't set the last error code!)
svn path=/trunk/; revision=24375
2006-10-03 17:02:36 +00:00
Thomas Bluemel
7b5fcdd9fa Fix displaying the size of the RAM
svn path=/trunk/; revision=24374
2006-10-03 16:25:13 +00:00
Hervé Poussineau
30189808bf Fix a few warnings
svn path=/trunk/; revision=24373
2006-10-03 14:28:21 +00:00
Ged Murphy
640d89daad set processor information in the sysdm control panel applet
svn path=/trunk/; revision=24372
2006-10-02 23:35:43 +00:00
Andrew Munger
2167cc7a61 Patch from ShadowFlare, bug 1838.
"The current implementation continues to register or unregister additional DLLs
that were specified, even if one of the earlier ones failed.  The behavior on
the Microsoft version is different; if one fails, it stops there instead of
continuing.  Some installers may possibly depend on this behavior."

svn path=/trunk/; revision=24371
2006-10-02 22:21:37 +00:00
Aleksey Bragin
835bb80157 - Add registry entry for usbdriver.sys's legacy loading. Commented out by default.
- Add usbdriver.sys to bootcd

svn path=/trunk/; revision=24370
2006-10-02 21:28:01 +00:00
Aleksey Bragin
903c277247 - Change CONNECT_DATA to DEV_CONNECT_DATA
- Add the last bit to the usb mouse driver to make it functional - recognition by mouclass.sys, and sending input data to it
- Misc small changes

Now USB mouse works in 2nd stage (you need to add usbdriver.sys as a legacy driver to the registry certainly)

TODO, but not of the top priority:
- Make unloading correct

svn path=/trunk/; revision=24369
2006-10-02 21:23:41 +00:00
Hervé Poussineau
c99914fdac Disable keyboard and mouse before checking the i8042 controller.
Flush queue before enabling them

svn path=/trunk/; revision=24368
2006-10-02 21:14:40 +00:00
Hervé Poussineau
3674f2ef32 Fix 2 typos (spotted by Fireball)
svn path=/trunk/; revision=24367
2006-10-02 19:36:14 +00:00
Ged Murphy
3193a5d7e9 - display system RAM on the general page.
- fixes bug 1835

svn path=/trunk/; revision=24366
2006-10-02 18:51:31 +00:00
Hervé Poussineau
b2aeafcad4 Implement CMP_WaitNoPendingInstallEvents
Wait for Pnp manager to finish its job before displaying the 2nd stage setup
Thanks Filip for his precious help on the umpnpmgr.exe side (not thread-safe as Single linked list functions are not implemented in ntdll)

svn path=/trunk/; revision=24365
2006-10-02 18:46:39 +00:00
Ged Murphy
4cfbdb6f63 - Only call SetupDiGetClassDevs once for each class, this makes load time 3 times faster although I'm still not happy with it. We may have to enumerate the drivers in the background.
- use UINT for 1 bit flags, reduce the width a little and check the menu.

svn path=/trunk/; revision=24364
2006-10-02 18:14:58 +00:00
Alex Ionescu
04c5f92621 - Combine SeInit1 and SeInit2 into SeInit since both can be done together now.
- Call PsInitSystem instead of PspInitPhase0, since PsInitsystem is the "external" phase-choosing routine.
- Implement ExComputeTickCountMultiplier to create a 24-bit precision remainder + whole integer of the ms/clock tick used in SharedUserData.
- Set the OS version and Machine Type (i386/PPC (<3 Arty) in SharedUserData.
- Move some HAL calls in Phase 2 (actually Phase 1...), same for KeInit2.
- Break into KDBG a bit earlier.

svn path=/trunk/; revision=24363
2006-10-02 15:52:58 +00:00
Alex Ionescu
06142d4e0d - Setup memory limits in shared user data.
- Loop security descriptors to find NLS data and make a copy of it in kernel pool, because the NLS buffer from NTLDR will be freed on NT. Also discovered a bug in Freeldr where it doesn't allocate ths NLS files sequentially, leaving a hole of 0x1000 between them. Added a hack to compensate (won't break NTLDR booting, just will waste 8KB of memory).
- Allocate the system call count table on checked builds.
- Refactor Ob/Se booting to match more closely NT, and so that we can do Se initialization in one shot.

svn path=/trunk/; revision=24362
2006-10-02 15:05:03 +00:00
Thomas Bluemel
62ac7ad5c9 Fix some warnings
svn path=/trunk/; revision=24361
2006-10-02 13:29:55 +00:00
Alex Ionescu
afa1de7c81 - Implement Phase 0 Ex initialization (Resource, Lookaside initialization) and generic Ex initialization routine.
- Clear the crypto exponent on boot-up.
- Set default global flags for checked builds.
- Set NtSystemRoot (SharedUserData) to C:<NT BOOT PATH> on startup.
- Cleanup lookas.c file and implement routines to initialize the system lookaside list in phase 0.

svn path=/trunk/; revision=24360
2006-10-02 13:23:03 +00:00
Thomas Bluemel
526efd2ee7 Define NTOSAPI before including ntddk.h to avoid including function prototypes with dllimport
svn path=/trunk/; revision=24359
2006-10-02 12:22:17 +00:00
Alex Ionescu
7fcf928e38 - Continue implementation of KiRosFrldrLpbToNtLpb by parsing the FreeLDR command line and:
* Removing the ARC Boot path and splitting it into the ARC Boot Device Name, the ARC HAL Device Name, and the NT Boot and HAL Path Names, saved in their respective LoaderBlock pointers.
  * Converting every slash to a space. ("/DEBUGPORT" -> " DEBUGPORT")
  * Now we can fully parse and read NTLDR command lines.
- Update various code in the kernel to:
  * Use LoaderBlock->ArcDeviceNamePath & friends instead of the command line.
  * Stop depending on slashes, and instead use strstr for parameters.

svn path=/trunk/; revision=24358
2006-10-02 05:40:36 +00:00
Aleksey Bragin
5c112af711 - Add a check to the boot.ini-changing code, to prevent creation of a new ReactOS entry after each installation.
svn path=/trunk/; revision=24356
2006-10-01 21:48:05 +00:00
Andrew Munger
e6adaebbce Resource sync from trunk.
Merged 24269, 24281, 24285, 24292, 24294-24295,
24298-24299, and 24303.

svn path=/branches/ros-branch-0_3_1/; revision=24355
2006-10-01 21:32:47 +00:00
Aleksey Bragin
5cf4352021 - Implement loading of NLS data, SYSTEM hive data (just simple loading into memory, without any kind of parsing or even checking if that data is correct)
- Add a function for creating a stub of hardware config (config consisting of only one node - root)
- Implement two steps of LPB initialization (names Phase 0 and Phase 1 are used internally by me, and doesn't correspond to anything)
- Implement a WinLdrSetupForNt, which allocates and initializes some specific structures (PCR, TSS, GDT, IDT)
- Respectively enable calls to these functions from LoadAndBootWindows()

svn path=/trunk/; revision=24354
2006-10-01 21:15:15 +00:00
Aleksey Bragin
eb998b4eaf - Comment out xbox memory detection for now (until fully switched to NT-style LPB)
- Fix HalpInitializePhase0() prototype
- Add halxbox back to build

svn path=/trunk/; revision=24353
2006-10-01 21:07:25 +00:00
Alex Ionescu
0c1b724e79 - Un-optimize KeGetPcr and make it use fs:20h instead of hard-coding the 0xFF.... address, because someone decided that ROS should have a different KPCR address then NT.
- This gets NTLDR working with ReactOS and I can boot all the way to MmInit1 (which fails due to missing KeMemoryMap & freeldr data).
- Serial port output works with DPRINT1 as well ;-)

svn path=/trunk/; revision=24352
2006-10-01 20:27:36 +00:00
Alex Ionescu
2855e1f08f - Do MmInit1 in KiInitializeKernel so we can access SharedUserData from it (we'll need to setup the CPU Features there).
- Cleanup some external/prototype mess and put them nicely into headers.

svn path=/trunk/; revision=24351
2006-10-01 19:43:18 +00:00
Aleksey Bragin
3d9d36ccff - Add new type of debug print for windows loader
- Add address conversion routines for windows loader
- Add stubs for PE loading, memory operations
- Add some code to the LoadAndBootWindows()

Some notes:
- The windows loader is going to become some kind of a library in future, shared at least between freeldr and EFI loader.
- The code in windows loader is specific to i386 architecture for now, but I add it to the "freeldr_base". I better separate it a bit later, after discussion with arty (because I hardly want compatibility with loading windows on PPC).

svn path=/trunk/; revision=24350
2006-10-01 19:39:49 +00:00
Andrew Munger
b5dbaf9282 Merge the one line fix from 24273 v. 24276.
svn path=/branches/ros-branch-0_3_1/; revision=24349
2006-10-01 19:29:03 +00:00
Alex Ionescu
71e329a125 - Do MmInit1 much earlier in the boot phase (right at the beginning of ExpInitalizeExecutive). This gives us access to things like SharedUserData, which NT has since NTLDR. Will try moving it up even higher.
- Also move some ROS-specific/Freeldr hacks on top of the file so they'll be easier to remove later when needed.
- Fix a bug in ExInitPoolLookasidePointers which was making us overwrite low-memory.
- Initialize NLS tables during Phase 0, so that the associated APIs can work earlier.
- Bugcheck if HAL Phase 0 initialization failed, and force interrupts enabled after the HAL is ready.

svn path=/trunk/; revision=24348
2006-10-01 19:27:10 +00:00
Alex Ionescu
9f40202dfc - Add setupblk.h from TinyKRNL with all the definitions for NT's SETUPLDR structures (SETUP_LOADER_BLOCK and hardware configuration stuff). Update KiRosFrldrLpbToNtLpb to setup the Flags field of this block to "Text-Mode Setup Active" when we know that we're in ROS text mode.
- Update ExpInitializeExecutive to check for a valid setup block and detect text-mode and network installation modes. Use ExpInTextModeSetup instead of SetupMode variable, to make detection compatible with NTLDR.

svn path=/trunk/; revision=24347
2006-10-01 18:27:59 +00:00
Alex Ionescu
cbfbbdb7f1 - Implement ExpIsLoaderValid to validate the LOADER_PARAMETER_BLOCK's extension for the right size and version (we currently support 5.2 and over).
- Add code in KiRosFrldrLpbToNtLpb to setup a LOADER_PARAMETER_EXTENSION and set the right version and size.
- Initialize the per-CPU PRCB Paged/NPaged lookaslide pool lists.
- Add code to support application CPUs booting in ExpInitializeExecutive, and pass the loaderblock as a parameter.

svn path=/trunk/; revision=24346
2006-10-01 18:01:38 +00:00
Alex Ionescu
0adfdd1ace - Implement static compile-time assertions and use them for structure field checks. Thanks to Thomas and KJK.
svn path=/trunk/; revision=24345
2006-10-01 15:52:10 +00:00
Alex Ionescu
4f1804b0c0 - Use __readfsdword instead of de-referencing the Boot PCR, which is not queried for Application CPUs. (And put the Goto back where it was). Thanks to Thomas Weidenmueller for noticing.
svn path=/trunk/; revision=24344
2006-10-01 15:22:42 +00:00
KJK::Hyperion
41ecee90f7 Fixed:
- _InterlockedCompareExchange64 (more efficient handling of 64-bit operands)
 - __writecr0, __writecr3, __writecr4 (for real this time)

svn path=/trunk/; revision=24343
2006-10-01 14:49:07 +00:00
Thomas Bluemel
70da417c02 Fix usage of a uninitialized variable, unnecessary goto not replaced by a if(...) statement
svn path=/trunk/; revision=24342
2006-10-01 14:02:08 +00:00
Thomas Bluemel
d7978d0054 fix __writecr0, __writecr3 and __writecr4
svn path=/trunk/; revision=24341
2006-10-01 12:33:24 +00:00
Thomas Bluemel
408d13caaa Fix function name (fixes a redefinition error)
svn path=/trunk/; revision=24340
2006-10-01 12:19:36 +00:00
Hervé Poussineau
5895844509 Add ufatx.dll, to be able to create FATX (Xbox file system) partitions
svn path=/trunk/; revision=24339
2006-10-01 10:11:46 +00:00
Hervé Poussineau
72a9a3af12 Rewrite SetupDiGetClassImageListExW and SetupDiGetClassImageIndex which were completly wrong
Add stub for SetupDiDestroyClassImageList
Now, you can see some icons in device manager

svn path=/trunk/; revision=24338
2006-10-01 09:05:19 +00:00
Alex Ionescu
ebafbecc80 - Fix Ki386InitializeTss to use dynamic GDT calculated from KiGetMachineBootPointers instead of static internal address. Now NTLDR boots us all the way to HalInitializeProcessor.
svn path=/trunk/; revision=24337
2006-10-01 07:31:33 +00:00
Alex Ionescu
7c753a339a - Put IDT in RW .data section
- Fix Ki386InitializeTss to properly set Boot TSS descriptor data (set it to 32-bits). Also properly setup the DF/NMI Task Gates in the IDT.

svn path=/trunk/; revision=24336
2006-10-01 07:24:24 +00:00
Alex Ionescu
00564d63b7 - Clear KPCR->TEB during bootstrap as well.
- Use KPCR_PROCESSOR_NUMBER instead of 0x130.

svn path=/trunk/; revision=24335
2006-10-01 06:46:08 +00:00
Alex Ionescu
aebf830821 - Add two more lines in boot.S which detect boot-by-NTLDR and jump into KiSystemService (I thought FreeLdr didn't use the entrypoint, but it looks like it does, so this hack is needed). Detection is done by checking for the high bit in the PLOADER_PARAMETER_BLOCK pointer, which will be set on NT.
- Fix a double bug in KiSystemStartup. First, we were setting KPCR->Number instead of KPRCB->Number. Second, we were using KeGetPcr instead of __writefsdword. It worked on ROS because KeGetPcr is hard-coded to ROS's KPCR buffer.

svn path=/trunk/; revision=24334
2006-10-01 06:43:26 +00:00
Alex Ionescu
790760dcf4 - Remove all the remaining code in boot.S and make KiRosPrepareForSystemStartup fastcall. Now NtProcessStartup just does a jmp to KiRosPrepareForSystemStartup without any other code.
- Use freeldr's stack during all of freeldr.c, and only switch to the boot stack in KiSystemStartup before calling KiInitializeKernel. This is what NT does as well (it piggybacks on NTLDR's stack until then). This allowed us to clean boot.S and now we can boot from NTLDR properly.

svn path=/trunk/; revision=24333
2006-10-01 06:08:05 +00:00
Alex Ionescu
380f89c205 - Fully use KeLoaderBlock->InLoadOrderListHead for driver loading and symbol lookups, instead of KeLoaderModules/KeLoaderModuleCount. Still not 100% compatible with NTLDR (since it uses BootDriverListHead with a special structure), but much closer to a portable design that doesn't rely on static kernel data.
- Change some internal functions to use UNICODE_STRING instead of PCHAR since this is how LdrEntry->BaseDllName is, and also it's closer to NT Design.

svn path=/trunk/; revision=24331
2006-10-01 05:05:57 +00:00
Andrew Munger
32b3c2fdf9 WaxDragon curses BrandonTurner.
svn path=/branches/ros-branch-0_3_1/; revision=24330
2006-10-01 04:57:50 +00:00
Andrew Munger
786ac12c99 Oops. I forgot the branch has a config.rbuild...
svn path=/branches/ros-branch-0_3_1/; revision=24329
2006-10-01 04:47:34 +00:00
Andrew Munger
550317611d Sync win32k and gdi32_winetest from trunk.
Merged 24228-24229, 24231, 24234-24239,
24255-24257, 24260-24264, 24266-24268,
24270-24271, 24287-24288.

svn path=/branches/ros-branch-0_3_1/; revision=24328
2006-10-01 04:37:32 +00:00
Hervé Poussineau
fbe45c7180 Give enough space to retrieve full device class description
svn path=/trunk/; revision=24326
2006-09-30 23:37:44 +00:00
KJK::Hyperion
ae3c3041f4 Fixes to un-break trunk:
* Disabling XBox HAL for now (TEMPORARY MEASURE)
 * Port MP HAL to the new loader structures

svn path=/trunk/; revision=24325
2006-09-30 23:35:17 +00:00
Hervé Poussineau
7227204f68 Better resources handling in serial driver.
All: copy lower device flags to FDO. This prevents the serial mouse to use buffered I/O

svn path=/trunk/; revision=24324
2006-09-30 23:06:51 +00:00
Hervé Poussineau
b606a6771c Do not expect a call to AddDevice with a NULL Pdo. Those are not guaranteed
svn path=/trunk/; revision=24323
2006-09-30 22:41:23 +00:00
Hervé Poussineau
3f47783c54 Implement SetupDiGetDriverInstallParamsW
Add support for DI_FLAGSEX_INSTALLEDDRIVER

svn path=/trunk/; revision=24322
2006-09-30 20:42:47 +00:00
Hervé Poussineau
b0e0c40c5d i8042prt manages PS/2 ports, not PS/2 devices. Take it into account when browsing devices detected by freeldr.
svn path=/trunk/; revision=24321
2006-09-30 19:09:10 +00:00
Hervé Poussineau
c1e52bcfca Fix wrong default registry value, which was possibly leading to non PS/2 keyboard detection at startup
svn path=/trunk/; revision=24320
2006-09-30 17:26:31 +00:00
Thomas Bluemel
41f18c74da Recalculate property sheet sizes after adding/removing sheets.
svn path=/trunk/; revision=24319
2006-09-30 16:31:35 +00:00
Alex Ionescu
c25e3321b0 - Complete much more of KiRosFrldrLpbtoNtLpb. We now:
- Create a LDR_DATA_TABLE entry for each module (driver, hal, kernel) and properly fill it out and insert it into the loader block.
  - Use the NLS data block to hold pointers to the NLS tables.
  - Use the ->RegistryBase/Length loader block members to hold pointers to the SYSTEM hive.
  - Create a MEMORY_ALLOCATION_DESCRIPTOR for each type of memory currently used (LoaderNlsData, LoaderRegistrydata, LoaderSystemCode, LoaderHalCode, LoaderBootDriver).
  - Changes are currently UNUSED!
- Revert LOADER_PARAMETER_BLOCK change, it actually really is PNLS_DATA_BLOCK.

svn path=/trunk/; revision=24318
2006-09-30 16:04:23 +00:00
Alex Ionescu
13ccbc28b2 - Re-remove intrinics from winddk.h
- Fix a typo in LOADER_PARAMETER_BLOCK

svn path=/trunk/; revision=24317
2006-09-30 14:57:30 +00:00
Magnus Olsen
10bd13604b adding back __readcr4 and __readcr3 to winddk.h for gcc does not have it. come bit futer build trunk
svn path=/trunk/; revision=24316
2006-09-30 14:43:41 +00:00
KJK::Hyperion
52fb2adb7c Corrected DWORD operand typo (%l -> %k)
svn path=/trunk/; revision=24315
2006-09-30 14:40:12 +00:00
Thomas Bluemel
b1a25bba1d Fix GCC4 warnings
svn path=/trunk/; revision=24314
2006-09-30 11:54:37 +00:00
Magnus Olsen
767b7de159 hopply this will fix hal_xbox build not tested.
svn path=/trunk/; revision=24313
2006-09-30 11:33:21 +00:00
Magnus Olsen
ce35dd9b7b fix build of blue again gcc does not have _disable and _enable, but MSVC have it.
svn path=/trunk/; revision=24312
2006-09-30 10:52:41 +00:00
Ged Murphy
c3a99cfb3e implement refresh, although it runs at a snails pace until the multiple SetupDiGetClassDevs call issue is fixed
svn path=/trunk/; revision=24311
2006-09-30 10:39:36 +00:00
Ged Murphy
c2e551ecea stop icon from changing when selected.
This change doesn't seem quite right to me, but it works for now

svn path=/trunk/; revision=24310
2006-09-30 10:31:28 +00:00
Ged Murphy
f8df38ff88 add a line at the root of the tree for user ergonomics :)
svn path=/trunk/; revision=24309
2006-09-30 10:18:04 +00:00
Alex Ionescu
540d96660c - Save processor state in the PKPRCB in KiInitializeKernel.
- Set the booting CPU as idle if no next thread was scheduled.
- Raise IRQL to HIGH_LEVEL upon exiting KiInitializeKernel to match the re-lowering to DISPATCH_LEVEL in KiSystemStartup (and subsequent interrupt flush).

svn path=/trunk/; revision=24308
2006-09-30 07:04:49 +00:00
Alex Ionescu
f516d2846e - Add loop around the KiFreezeExecutionLock before continuing OS boot.
- Only check for break-in on the Boot CPU.
- Set priority to 0 *Before* lowering to DISPATCH_LEVEL.
- Also force interrupts to be enabled before lowering IRQL.
- Also set the idle thread's wait irql to DISPATCH_LEVEL (might fix some odd crashes) and set it as Running on UP builds (on SMP builds this is done in other code).

svn path=/trunk/; revision=24307
2006-09-30 06:18:45 +00:00
Alex Ionescu
eb0f964be3 - Fix some bugs in intrin.h (missing __inline__ statments in some locations, which were causing warnings due to "static").
- Remove intrinsics in winddk.h since they're now properly done in intrin.h (thanks KJK!!!)
- Make freeldr.c setup the boot KTSS like NTLDR does, so that the GDT entry for it is valid (and remove the code that was doing this from Ki386InitializeTss)
- Refactor KiSystemStartup to use 100% dynamic pointers and machine data queried from the Loader Block or actual GDT/IDT/Selectors in memory, isntead of hard-coded ntoskrnl offsets. This makes it possible to be loaded by NTLDR, which sets these system structures up by itself. (we do it in freeldr.c, as hacks).

svn path=/trunk/; revision=24306
2006-09-30 05:42:22 +00:00
Alex Ionescu
8b1ba6c11a - Use LOADER_PARAMETER_BLOCK everywhere in ReactOS except freeldr.c
- Implemented KiRosFrldrLpbtoNtLpb to do a lightweight conversion and setup. Next patches will try to get rid of PLOADER_MODULE and use LDR_DATA_TABLE_ENTRY as well as increase bootstrap compatibility.

svn path=/trunk/; revision=24305
2006-09-30 03:33:50 +00:00
Andrew Munger
723627e679 Merge 24208, 24236, 24242, and 24259 from trunk. LiveCD fixes.
svn path=/branches/ros-branch-0_3_1/; revision=24304
2006-09-30 02:54:20 +00:00
Ged Murphy
79e7a43785 - update french timedate resource file
- patch by Sylvain Petreolle

svn path=/trunk/; revision=24303
2006-09-29 18:04:15 +00:00
Aleksey Bragin
cad356e2d8 Add devmgmt to the build system, thus fixing make bootcd
svn path=/trunk/; revision=24302
2006-09-29 17:57:20 +00:00
Ged Murphy
1533a93526 add devmgmt.exe as it's usable in ROS now
svn path=/trunk/; revision=24301
2006-09-29 17:34:50 +00:00
Aleksey Bragin
b652b371db - Implement device creating, with the specified DeviceExtension
- Add stub for processing IRPs sent to the mouse driver

TODO (will be done once problem with load-order will be resolved):
- Store mouclass's callback address
- Actually call it thus making driver working
- Cleanup routines

svn path=/trunk/; revision=24300
2006-09-29 17:07:48 +00:00
Ged Murphy
c89da0aef0 there's always one that gets away ...
svn path=/trunk/; revision=24299
2006-09-29 17:07:17 +00:00
Ged Murphy
db3ddf3123 - Add the device imagelist icons to setupapi.
- It appears SetupDiGetClassImageListExW will need some work before these are usable though.

svn path=/trunk/; revision=24298
2006-09-29 16:56:24 +00:00
Ged Murphy
91b9b125db - fix the treeview so it displays parent and child devices
- display the device icons for each item
- other bits and bats I'm too lazy to list
- it still load slowly due to multiple calls to SetupDiGetClassDevs. Need to think of a better way of gathering the info. For now though, it works.

svn path=/trunk/; revision=24297
2006-09-29 16:38:38 +00:00
Aleksey Bragin
4da7594216 - Change in CONNECT_DATA for drivers so that they get direct pointer to the raw configuration data returned by the device
- Spelling fixes
- More debug prints added to ease debugging
- Added entries for mouse and keyboard drivers (keyboard is currently commented out)
- Implemented actual usb mouse driver - contains 1 hack aimed to correct determining the endpoint. Driver fully works except for actually sending data to win32k/HID driver stack

svn path=/trunk/; revision=24296
2006-09-29 09:08:20 +00:00
Ged Murphy
1d1b74fa19 change run icon as a few people wanted something more fitting and add 2 more icons to the system imagelist
svn path=/trunk/; revision=24295
2006-09-28 22:57:09 +00:00
Ged Murphy
cc033012dd new timedate and powercfg icons
svn path=/trunk/; revision=24294
2006-09-28 22:14:00 +00:00
Ged Murphy
c31fb83895 rename folder to make it clear
svn path=/trunk/; revision=24293
2006-09-28 22:03:03 +00:00
Ged Murphy
0d942e1cef fix the floppy icons and add 2 new ones for network drives.
svn path=/trunk/; revision=24292
2006-09-28 22:01:07 +00:00
Ged Murphy
4aa949d1df - Reserve enough space on the heap to store the GUID
- Thanks to Thomas for restoring my sanity

svn path=/trunk/; revision=24291
2006-09-28 21:36:12 +00:00
Ged Murphy
afcf1f7b14 clean up irregularities
svn path=/trunk/; revision=24290
2006-09-28 21:15:51 +00:00
Ged Murphy
7c67a5ec0d Initial development of a devmgmt.msc clone.
Unusable at the moment though.

svn path=/trunk/; revision=24289
2006-09-28 20:05:17 +00:00
Magnus Olsen
2e3507e05d NtGdiCreateDIBitmap
fixed 2 more hiden bugs (cause some crash/bsod) but not the bug I am searching for. 

svn path=/trunk/; revision=24288
2006-09-28 19:08:07 +00:00
Magnus Olsen
9e939c11e9 fix a hidden bug in IntCreateBitmapIndirect
svn path=/trunk/; revision=24287
2006-09-28 18:32:09 +00:00
Hervé Poussineau
eeef3f67ba Support mount manager in disk.sys
svn path=/trunk/; revision=24286
2006-09-28 16:33:12 +00:00
Ged Murphy
c191e989a6 update a few cpl icons
svn path=/trunk/; revision=24285
2006-09-27 22:40:18 +00:00
Magnus Olsen
86e57e8c93 hpoussin forget change this regkey to SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\Winlogon"
svn path=/trunk/; revision=24284
2006-09-27 17:30:08 +00:00
Thomas Bluemel
28d82c0229 Don't use BOOL for 1 bit flags because it's signed.
svn path=/trunk/; revision=24283
2006-09-27 12:43:50 +00:00
Thomas Bluemel
87099f3ca6 Move the memory in RtlpDeleteData instead of copying it because the source and destination may be overlapping.
svn path=/trunk/; revision=24282
2006-09-27 12:28:25 +00:00
Hervé Poussineau
fa9c62c9a0 Patch by Matthias Kupfer
Fix tiny typo in all rc-files "%" -> "%s"
See issue #1828 for more details.

svn path=/trunk/; revision=24281
2006-09-26 21:08:11 +00:00
Hervé Poussineau
36032a956d Fix format build.
Why dependency tracking didn't detect this problem? Another mystery...

svn path=/trunk/; revision=24280
2006-09-26 19:52:55 +00:00
Hervé Poussineau
2c56c7d7e8 Merge from Wine:
Frank Richter <frank.richter@gmail.com>
setupapi: Duplicate behaviour of native SetupGetInfInformation with NULL ReturnBuffer and certain ReturnBufferSizes.

svn path=/trunk/; revision=24279
2006-09-26 19:44:17 +00:00
Hervé Poussineau
21ff1ddb3d Fix some warnings in winlogon code
Change winlogon registry key to "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" for compatibility reasons, as some programs read it directly

svn path=/trunk/; revision=24278
2006-09-26 19:18:02 +00:00
Hervé Poussineau
572541f16a Two more constants found in FMIFS...
svn path=/trunk/; revision=24277
2006-09-26 19:12:39 +00:00
Alex Ionescu
54403619f8 - In some far, far away galaxy, a long, long time ago, Greatlord will learn to fix 1-line bugs and/or talk to the developers responsible instead of reverting their code...until then....
svn path=/trunk/; revision=24276
2006-09-26 05:29:46 +00:00
Magnus Olsen
7a0843f8af fixed overlaping memory problem with RtlMoveMemory. The rewrite of RtlMoveMemory did not handling overlaping memory. it shows with ntdll_winetest rtl, use the old asm version from the string.a instead
svn path=/trunk/; revision=24273
2006-09-25 23:46:32 +00:00
Magnus Olsen
b3f30cb100 restore files mem.c and memgen.c
restore no i386 arch define in rbuild
do not remove it, it is for build on no i386 platform
the was accident delete in r23830 

svn path=/trunk/; revision=24272
2006-09-25 23:26:08 +00:00
Magnus Olsen
56c76b3069 NtGdiSetViewportExtEx
fix a bsd by moving in some value to seh last
 we can run gdi32_winetest mapping without bsd

svn path=/trunk/; revision=24271
2006-09-25 21:28:09 +00:00
Magnus Olsen
4c2f6e8647 implement PEN_GetObject, we can now get pen from GetopjectType. and manger pass some new wine test
svn path=/trunk/; revision=24270
2006-09-25 20:12:43 +00:00
Johannes Anderwald
ff8121c676 * fix typo in german resource file spotted by pilic
* fix bug 1797
* set svn-eolstyle:native property
See issue #1797 for more details.

svn path=/trunk/; revision=24269
2006-09-25 19:28:40 +00:00
Magnus Olsen
888f16ea6f NtGdiRestoreDC
1. fix do not delete all hdc and the restore hdc. 
2. fix calc of SaveLevel the calc are not perfect

we only have 6 fails when we try restore dc now with wine gdi32 test dc 

svn path=/trunk/; revision=24268
2006-09-25 18:50:40 +00:00
Saveliy Tretiakov
b79a852fe5 - PATH_RoundRect from wine
- RtlCopyMemory -> memcpy


svn path=/trunk/; revision=24267
2006-09-25 08:06:20 +00:00
Magnus Olsen
604ab3e4c0 Fixed some bugs in win32k function BITMAP_GetObject.
svn path=/trunk/; revision=24266
2006-09-25 05:25:11 +00:00
Magnus Olsen
6f10b47b94 update winetest gdi32 with more wine test
svn path=/trunk/; revision=24264
2006-09-24 22:27:00 +00:00
Magnus Olsen
2b9e96e558 fixed another build break by me :(
svn path=/trunk/; revision=24263
2006-09-24 21:17:31 +00:00
Magnus Olsen
08256d0670 sorry I broken the build it fixed now
svn path=/trunk/; revision=24262
2006-09-24 21:10:36 +00:00
Magnus Olsen
9b6f293ce5 adding more missing struct need them later in winetest
svn path=/trunk/; revision=24261
2006-09-24 20:53:47 +00:00
Magnus Olsen
235dd5fe2b adding more missing struct
svn path=/trunk/; revision=24260
2006-09-24 20:28:57 +00:00
Art Yerkes
350e281e1c Fix use of unicode for unix host regardless of -fshort-wchar.
svn path=/trunk/; revision=24259
2006-09-24 20:14:44 +00:00
KJK::Hyperion
29b494be56 Cosmetic changes
svn path=/trunk/; revision=24258
2006-09-24 18:07:21 +00:00
Saveliy Tretiakov
2047460d02 memcpy -> RtlCopyMemory
assert -> ASSERT


svn path=/trunk/; revision=24257
2006-09-24 17:10:58 +00:00
Saveliy Tretiakov
a5b535fee4 - Implement NtGdiStrokePath and NtGdiStrokeAndFillPath (based on wine)
- Get rid of PATH_GetPathFromDc()


svn path=/trunk/; revision=24256
2006-09-24 17:02:29 +00:00
Saveliy Tretiakov
a04da34bc0 More prototypes
svn path=/trunk/; revision=24255
2006-09-24 17:01:46 +00:00
Hervé Poussineau
f1d365f767 Don't hardcode the list of available filesystems in fmifs.dll, but store it in the registry.
Adding a filesystem is now only a matter of creating a u{FS}.dll + one registry entry to be able to use normal format.exe/chkdsk.exe/...

svn path=/trunk/; revision=24254
2006-09-24 13:42:24 +00:00
Hervé Poussineau
9cea0fddde Display available file systems in usage screen
svn path=/trunk/; revision=24253
2006-09-24 12:50:51 +00:00
Hervé Poussineau
c492ac0ccc Implement QueryAvailableFileSystemFormat and SetLabel in fmifs.dll
Fix a few prototypes

svn path=/trunk/; revision=24252
2006-09-24 11:55:58 +00:00
Hervé Poussineau
e84a6d47b1 [FORMATTING] Replace spaces by tabs
svn path=/trunk/; revision=24251
2006-09-24 11:08:27 +00:00
Hervé Poussineau
7c4cca9870 Add a filter command in KDBG, which is a wrapper around NtSetDebugFilterState/NtSetDebugFilterState.
svn path=/trunk/; revision=24250
2006-09-24 10:39:43 +00:00
Magnus Olsen
595ffab596 Update some gdi32 winetest
svn path=/trunk/; revision=24249
2006-09-24 09:43:16 +00:00
Magnus Olsen
9e99515740 adding two more missing define
svn path=/trunk/; revision=24248
2006-09-24 09:41:28 +00:00
Magnus Olsen
9f553707a1 adding OBJ_COLORSPACE it was missing, need it soon
svn path=/trunk/; revision=24247
2006-09-24 09:24:23 +00:00
Magnus Olsen
7f9492fc2f tested in dib16
Fixed all wine test for brush, zero fualt now
passing all 32 test fine. 
gdi32 bitmap test only 7 fails now

svn path=/trunk/; revision=24246
2006-09-24 08:36:56 +00:00
Hervé Poussineau
2abe11c82a Revert r24233, which leads to have the header written too late in debug log and was preventing a crash during the first DbgPrint calls when using GDB
Replace it by another fix (not tested)

svn path=/trunk/; revision=24245
2006-09-24 07:38:53 +00:00
Magnus Olsen
c32cdd8bfb revers 24232 for cause some other unknown regress.
I need found a better way to solv the null termeting strings

svn path=/trunk/; revision=24244
2006-09-24 07:30:43 +00:00
Hervé Poussineau
7bfdc5ceb7 Allow digits in computer name.
http://www.reactos.org/bugzilla/show_bug.cgi?id=1806#c2 still needs to be checked
See issue #1806 for more details.

svn path=/trunk/; revision=24243
2006-09-24 06:25:49 +00:00
Art Yerkes
5d46ef1a26 Fix mkhive on unix.
svn path=/trunk/; revision=24242
2006-09-24 02:58:31 +00:00
Hervé Poussineau
939cbfc4c7 Report correct interrupt resources to ntoskrnl
svn path=/trunk/; revision=24241
2006-09-23 22:26:28 +00:00
Hervé Poussineau
68434f2227 Add default destination for driver files in keyboard.inf
svn path=/trunk/; revision=24240
2006-09-23 22:09:18 +00:00
Hervé Poussineau
9e314810ae Skip keyboard detection in freeldr, as it doesn't work in Qemu 0.8.2
svn path=/trunk/; revision=24239
2006-09-23 20:21:41 +00:00
Aleksey Bragin
cd007816d8 Change #defines of bios memory types to a proper enum. Makes it easier to distinguish BIOS memory types and FreeLoader's memory types (in future).
svn path=/trunk/; revision=24238
2006-09-23 16:50:39 +00:00
Hervé Poussineau
0e779901fc Do not display the group name of a service if it doesn't exists
svn path=/trunk/; revision=24237
2006-09-23 16:06:15 +00:00
Hervé Poussineau
edeb548dd1 Subkeys names should be case insensitive.
Fixes the 'make install' problem, where shell was not starting at third boot

svn path=/trunk/; revision=24236
2006-09-23 16:01:02 +00:00
Magnus Olsen
52b43f7ae9 IntGdiCreateSolidBrush
Remove the if table I did. 
Remove Color = Color & 0xffffff to Color = Color
that gave same result and pass equal many wine test. 
we still have some werid xlate bugs some where, for set/get pixel. I should have remove Color & 0xffffff in frist place. but the code did look right.  


svn path=/trunk/; revision=24235
2006-09-23 15:54:11 +00:00
Magnus Olsen
2d24316959 fixed some more setpixel bugs
svn path=/trunk/; revision=24234
2006-09-23 12:33:54 +00:00
Aleksey Bragin
e126931cb0 - Issue a synchronous invalidate device relations request instead of asynchronous (eliminates the "can't open \SystemRoot\ bugcheck during 2nd stage startup)
- Comment out usbport/usbhub/etc from bootcd, they will be enabled once they don't crash and/or slow down system.

svn path=/trunk/; revision=24233
2006-09-23 09:34:34 +00:00
Magnus Olsen
cc70b77eca add NULL termate on ansi string when WideCharToMultiByteCP doing wchar to ansi converting.
svn path=/trunk/; revision=24232
2006-09-23 07:28:44 +00:00
Magnus Olsen
63535f6e15 remove folder gdi for all gdi test are in gdi32
svn path=/trunk/; revision=24231
2006-09-23 06:19:28 +00:00
Andrew Munger
8f9a18cfff Merge 24219-24222, and 24209 from trunk.
svn path=/branches/ros-branch-0_3_1/; revision=24230
2006-09-22 21:45:35 +00:00
Magnus Olsen
cfe10b7a75 Implement BRUSH_GetObject it is not perfect, it return wrong color in some case. But we get down from 20 to 11 fails in wine test.
Wine say GetObject (HANDLE obj, INT Count, PVOID * Buffer) if Buffer is NULL return the requeuer size in bytes

svn path=/trunk/; revision=24229
2006-09-22 20:19:49 +00:00
Magnus Olsen
391e807b81 finish implement NtGdiCloseEnhMetaFile it is not fully tested it can contain bugs
svn path=/trunk/; revision=24228
2006-09-22 17:26:20 +00:00
Magnus Olsen
230edc01b6 merges ros-branch-0_3_1 r24226 to trunk with arty permission. "ARP query support. Thanks to WaxDragon for encouragement and debugging."
svn path=/trunk/; revision=24227
2006-09-22 08:10:11 +00:00
Art Yerkes
50ee081131 ARP query support.
Thanks to WaxDragon for encouragement and debugging.

svn path=/branches/ros-branch-0_3_1/; revision=24226
2006-09-22 06:36:16 +00:00
Aleksey Bragin
2a0160473e Add an MM api to get the memory map from Freeldr's memory manager (as opposed to MachGetMemoryMap which gets architecture-specfic memory map returned by BIOS/firmware/etc).
Currently this api is unused, it's going to be used by windows/reactos bootloader in future.

svn path=/trunk/; revision=24224
2006-09-21 17:25:41 +00:00
Saveliy Tretiakov
7d1faef9ee Fix boot with /DEBUGPORT=GDB and /DEBUGPORT=COM1. I don't know why, but this works...
svn path=/trunk/; revision=24223
2006-09-21 07:42:21 +00:00
Magnus Olsen
d42d3c29c0 set GetLastErrorMsg if CreateFontIndirectA(NULL) are use as inputparam . it make same beauvoir as CreateFontIndirectW
svn path=/trunk/; revision=24222
2006-09-21 02:47:37 +00:00
James Tabor
6d8ba42532 Fix CreateFontIndirectA so it will not bigcheck with a null pointer.
svn path=/trunk/; revision=24221
2006-09-20 21:34:08 +00:00
James Tabor
18733c4397 Kill debug prints.
svn path=/trunk/; revision=24220
2006-09-20 21:09:30 +00:00
James Tabor
fff3bf11fa Gdi32 font.c:
- Patch by Dmitry Timoshkov
  - If there is no space for strings GetOutlineTextMetricsA should not indicate that they present.

svn path=/trunk/; revision=24219
2006-09-20 20:36:27 +00:00
Hervé Poussineau
f1cf836837 Big update of i8042prt driver. The driver is now plug&play compliant and some mouse driver filters may be installed.
svn path=/trunk/; revision=24218
2006-09-20 18:56:04 +00:00
Hervé Poussineau
d2241f8ec4 If boot resources are provided, use them instead of using resource requirements.
In all cases, translate the resource list before calling the driver

svn path=/trunk/; revision=24217
2006-09-20 18:16:24 +00:00
Aleksey Bragin
364cdf1951 - Add ability to allocate either "low" or "high" pages
- Don't display a warning to user if allocating memory at certain address fails
- Change debug prints so they tell in which function allocation failed
- Include RTL and LDR headers from NDK, so that it's possible to use functions from RTL in FreeLdr in future

svn path=/trunk/; revision=24216
2006-09-20 16:54:54 +00:00
Saveliy Tretiakov
b9ade034f9 Fix booting with /DEBUGPORT=GDB and Pice too.
svn path=/trunk/; revision=24215
2006-09-20 15:00:17 +00:00
Hervé Poussineau
9907e96a49 Save correct boot resources lists in registry
svn path=/trunk/; revision=24214
2006-09-20 14:46:21 +00:00
Magnus Olsen
3138af456a commit rc languages to xml parser for the webservre and standalone.
svn path=/trunk/; revision=24213
2006-09-20 14:38:37 +00:00
Thomas Bluemel
8e90ccee4d Some tchar fixes
svn path=/trunk/; revision=24212
2006-09-20 09:54:00 +00:00
Thomas Bluemel
d0e354f6c1 Fix warnings
svn path=/trunk/; revision=24211
2006-09-20 09:27:59 +00:00
Brandon Turner
59c2e127cc Add a config.rbuild and set DBG=0
svn path=/branches/ros-branch-0_3_1/; revision=24210
2006-09-19 17:38:10 +00:00
Andrew Munger
14d0c5f34a Initialize h_alises with a length 1 array containing a terminating null as specified. Patch by arty. (Fixes ncftp connection)
svn path=/trunk/; revision=24209
2006-09-19 04:25:14 +00:00
James Tabor
f8fcca6f06 Kill some warnings.
svn path=/trunk/; revision=24208
2006-09-18 23:37:22 +00:00
Andrew Munger
ece02ec90c Bump to 0.3.1-SVN
svn path=/branches/ros-branch-0_3_1/; revision=24207
2006-09-18 22:59:55 +00:00
Ged Murphy
3f0a7fb997 - Add a cute custom control to sysdm allowing dialogs to display hyperlink style text which can open web pages and run exe's.
- see the general page, and the user account dialog for examples.

svn path=/trunk/; revision=24205
2006-09-18 22:25:00 +00:00
Andrew Munger
d00d45c34e Reapply entrypoint fix, patch from Usurp.
svn path=/trunk/; revision=24204
2006-09-18 21:49:12 +00:00
The Wine Synchronizer
d3cd32d90d Autosyncing with Wine HEAD
svn path=/trunk/; revision=24203
2006-09-18 16:59:16 +00:00
The Wine Synchronizer
d88a99e18e Autosyncing with Wine HEAD
svn path=/trunk/; revision=24202
2006-09-18 16:52:25 +00:00
The Wine Synchronizer
9e9bd06847 Autosyncing with Wine HEAD
svn path=/trunk/; revision=24201
2006-09-18 16:51:34 +00:00
The Wine Synchronizer
1b0a889e2b Autosyncing with Wine HEAD
svn path=/trunk/; revision=24200
2006-09-18 16:50:11 +00:00
The Wine Synchronizer
446242dfb2 Autosyncing with Wine HEAD
svn path=/trunk/; revision=24199
2006-09-18 16:49:02 +00:00
The Wine Synchronizer
2cb8454522 Autosyncing with Wine HEAD
svn path=/trunk/; revision=24198
2006-09-18 16:47:55 +00:00
The Wine Synchronizer
11c17d1dc0 Autosyncing with Wine HEAD
svn path=/trunk/; revision=24197
2006-09-18 16:46:41 +00:00
The Wine Synchronizer
04b927e3ff Autosyncing with Wine HEAD
svn path=/trunk/; revision=24196
2006-09-18 16:45:21 +00:00
Hervé Poussineau
a11691c3c4 Autosyncing with Wine HEAD
svn path=/trunk/; revision=24195
2006-09-18 16:41:29 +00:00
The Wine Synchronizer
82845620c6 Autosyncing with Wine HEAD
svn path=/trunk/; revision=24194
2006-09-18 16:36:06 +00:00
The Wine Synchronizer
8bde95b20e Autosyncing with Wine HEAD
svn path=/trunk/; revision=24193
2006-09-18 16:32:05 +00:00
The Wine Synchronizer
fab72e48ec Autosyncing with Wine HEAD
svn path=/trunk/; revision=24192
2006-09-18 16:28:29 +00:00
Hervé Poussineau
ed5305eeae Autosyncing with Wine HEAD
svn path=/trunk/; revision=24191
2006-09-18 14:34:40 +00:00
Johannes Anderwald
f8b5e46f8b * fix build
svn path=/trunk/; revision=24190
2006-09-18 10:58:00 +00:00
Aleksey Bragin
a42c7ad876 Fix some defines used in fiber.S in kernel32.dll (fixes build)
svn path=/trunk/; revision=24189
2006-09-18 08:56:28 +00:00
Magnus Olsen
6e100cf43f revert 24179 it was bad idea. and wrong way todo it on
See issue #21478 for more details.

svn path=/trunk/; revision=24188
2006-09-18 05:13:17 +00:00
Alex Ionescu
8b094bf093 - Implement FPU Exception Handler.
- We can now properly handle FPU faults (wrote a small test for invalid fpu precision).
- OpenGL probably still doesn't work, as there might be some bugs around the place. However, you should not see FPU Bugchecks anymore.

svn path=/trunk/; revision=24187
2006-09-18 02:33:21 +00:00
Alex Ionescu
03c36d1a35 - Implement Trap 16: Math Coprocessor Fault. Happens during Floating Point precision error test that I wrote. Simply calls shared NPX handler in KiTrap7.
- Implement some extra checks in KiTrap7 and start coding the NPX shared handler. We *almost* have full FPU support now... (trying to get this done for tomorrow morning so that Greatlord can sent me the 15 000$ he promised...)

svn path=/trunk/; revision=24186
2006-09-18 01:07:13 +00:00
Alex Ionescu
d228dcccad - On SMP systems, update KPROCESS->ActiveProcessors and assert their validty. Needed for a similar assertion and check in KiSwapProcess which we already have.
- Also on SMP, make sure to clear the KTHREAD's swap-busy lock after the actual swap has been done.

svn path=/trunk/; revision=24185
2006-09-18 00:34:13 +00:00
Alex Ionescu
2ea699f94e - Assert that the current CPU is the one the thread is supposed to be running on.
- Get CR0, read the KTHREAD NPX State, disable interrupts and verify if the NPX state is dirty. If it is, then reload CR0 with the new value. Re-enable interrupts. This sequence should make FPU work during context switching, but I haven't tested yet. At the very least, it should get rid of TRAP_FAULT_UNKNOWN blue screen.
- Set TEB in the same time as the selector is being configured, not way earlier.

svn path=/trunk/; revision=24184
2006-09-18 00:30:30 +00:00
Alex Ionescu
63da586075 - Fix some bugs in LDT switch (EDI->EBP)
- Turn simple bugcheck into BugCheckEx with information that the helpfile says it should have.

svn path=/trunk/; revision=24183
2006-09-18 00:17:53 +00:00
Alex Ionescu
8de07ee7b4 - Don't update CR3 in KTSS, it's not used.
- Don't read a useless stack pointer anymore.
- Update KTSS_ESP0 near the end of context switching, not at the beginning anymore.
- Same for IOPM and I/O Redirection Map Base Address.

svn path=/trunk/; revision=24182
2006-09-18 00:10:58 +00:00
Alex Ionescu
eaf28f0509 - Stop doing cli/sti doing context switching (For now, since it's only needed for FPU, which isn't yet done).
- Stop using XP KPCR fields for storing stack values, they're not used inside the kernel anymore and now have 2003 values (WMI tracing, etc).
- Move parts of the process switch (LDT reload) out-of-line.

svn path=/trunk/; revision=24181
2006-09-18 00:02:46 +00:00
Alex Ionescu
b52483ba9a - Add func.endfunc decoration.
- Add code to wait for SwapBusy == FALSE on SMP.
- Add stub code to check for new PCR fields in 2003. Currently disabled because thread swap code still uses XP fields.
- Check for active DPCs at the end of thread swap, not at the beginning.
- Set PRCB->IdleThread outside of the thread swap routine.
- Don't set the thread state to running inside the swap routine, we already do it outside.

svn path=/trunk/; revision=24180
2006-09-17 23:17:07 +00:00
Magnus Olsen
70cca480e5 implemet GdiReleaseDC it redirect to NtUserReleaseDC(HWD hwd, HDC hdc) now
svn path=/trunk/; revision=24179
2006-09-17 22:10:24 +00:00
Alex Ionescu
3e709fbbd9 - Fix some insidious bugs in exception handling, mostly related to the art of unwinding (RtlUnwind).
- Can't name specifics, but probably fixes multiple SEH/application bugs/regressions since about 6-8 months ago. Fixes my personal SEH test from 22 failures/crashes/BSODs to 22 succeesses...
- Also fixes some crashes in kernel-kqemu mode.

svn path=/trunk/; revision=24178
2006-09-17 21:09:10 +00:00
Magnus Olsen
45f71f78c8 did delete NtGdiDeleteObjectApp at end of NtGdiCloseEnhMetaFile by mistake. radding it
svn path=/trunk/; revision=24177
2006-09-17 20:42:59 +00:00
Magnus Olsen
fa61787952 Activate CloseEnhMetaFile in gdi32.
We do not leak memory from CreateEnhMetaFile.
 

svn path=/trunk/; revision=24176
2006-09-17 20:22:27 +00:00
Magnus Olsen
d3eeef4046 NtGdiCloseEnhMetaFile
1. translate EMF_Create_HENHMETAFILE to reactos 
2. Delete hdc.

NtGdiCreateEnhMetaFile
1. Set hdc ownership. 


svn path=/trunk/; revision=24175
2006-09-17 20:21:01 +00:00
Alex Ionescu
23dc37d575 - Cleanup except_asm.s and add .func/.endfunc and fix some double definitions.
svn path=/trunk/; revision=24174
2006-09-17 18:44:52 +00:00
Alex Ionescu
b820ec4930 - Fix a bug in KeRaiseUserExceptionDispatcher which was causing us not to set the Exception Address (EIP) in the EH record.
- Fix a terrible stack corruption bug in KeRaiseUserExceptionDispatcher which was causing us to eventually fuck up the stack in user mode (0x14 bytes instead of 0x50 bytes were reserved).
- Protect User-mode Callbacks with SEH, and use STATUS_POP_CALLBACK_STACK.
- Fix another nasty stack corruption bug in user-mode APC delivery.
- Protect User-mode APC delivery with SEH.
- Fix SEH handlers to return EXCEPTION_EXECUTE_HANDLER isntead of ExceptionContinueSearch.

svn path=/trunk/; revision=24173
2006-09-17 17:31:52 +00:00
Magnus Olsen
4493c99327 fast implemet of NtGdiCloseEnhMetaFile
follow thing need be done before it is finish but it will slov leaked memory and filehandle from NtGdiCreateEnhMetaFile
for we have NtGdiCreateEnhMetaFile implement. NtGdiCloseEnhMetaFile is base on wine cvs 15/9-2006
Todo
1. Rewrite it to own api call IntGdiCloseEmhMetaFile
2. Use Zw and Int direcly so we do not need todo  context swith each call
3. Translate follow api to kernel api 
   // hMapping = CreateFileMappingW(Dc->hFile, NULL, PAGE_READONLY, 0, 0, NULL);
   // Dc->emh = MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0);
   // hmf = EMF_Create_HENHMETAFILE( Dc->emh, (Dc->hFile != 0) );


 

svn path=/trunk/; revision=24172
2006-09-17 15:47:29 +00:00
Hervé Poussineau
6afc1a0152 Define some registry entries as not volatile, to prevent new installation of device at each boot
svn path=/trunk/; revision=24171
2006-09-17 15:42:50 +00:00
Hervé Poussineau
3ab77c0239 DeviceNode->ResourceList and DeviceNode->ResourceListTranslated should not share memory with DeviceNode->BootResources
svn path=/trunk/; revision=24170
2006-09-17 15:24:55 +00:00
Alex Ionescu
adb93d9531 - A missing "return" statement to KiDispatchException which was causing all user-mode exceptions to become second-chance and thus crash the app. mIRC works again, and probably numerous other apps (mozilla as well i think, since it had the same issue)
svn path=/trunk/; revision=24169
2006-09-17 15:01:57 +00:00
Hervé Poussineau
551811ac52 Disable some code I did during the last day to repair ReactOS boot. Let's hope it is enough
svn path=/trunk/; revision=24168
2006-09-17 14:27:17 +00:00
Magnus Olsen
5c66b358e1 Upgrade from dejavu font 2.9 to 2.10
reason 
1. Bugfix some charters that did not show in Windows/ReactOS
2. Fixing space between some charters 
3. Dejvau san font support 100% folllow Latin Extended-B, Latin Extended-C, Greek and Coptic, Superscripts and Subscripts, Currency Symbols.
4. and allot more new charters 

svn path=/trunk/; revision=24167
2006-09-17 13:37:59 +00:00
Hervé Poussineau
ac233d6e61 Don't go further than end of string when writing value to registry
svn path=/trunk/; revision=24166
2006-09-17 12:20:44 +00:00
Hervé Poussineau
f271868696 Don't enable acpi service by default, it would be automatically installed if necessary
svn path=/trunk/; revision=24165
2006-09-17 12:17:44 +00:00
Magnus Olsen
15732d3ae2 implement last part of NtGdiCreateEnhMetaFile
it can now create file.  (add ntdll.a to rbuild need RtlDosPathNameToNtPathName_U api)

svn path=/trunk/; revision=24164
2006-09-17 10:56:13 +00:00
Hervé Poussineau
b6919c977d Merge from Wine:
James Hawkins <truiken@gmail.com>
- Add stubs for SetupOpenLog, SetupCloseLog, and SetupLogError
- Implement pSetupGetField, with tests.

svn path=/trunk/; revision=24162
2006-09-17 10:34:51 +00:00
Hervé Poussineau
f07b34a9d0 I don't know how to save REG_LINK info on disk, so ignore them. Incidently, fixes "make install_registry"
svn path=/trunk/; revision=24156
2006-09-17 08:44:17 +00:00
Alex Ionescu
8ef78cb6e6 - Create a KD-compatible KiDebugRoutine and piggyback KDBG on it.
- Create separate GDB entry hack routine.
- Fix booting with /BREAK and continuing after an INT3/ASSERTion.

svn path=/trunk/; revision=24155
2006-09-17 07:06:35 +00:00
Alex Ionescu
bee17dc290 - Large cleanup of psmgr.c. Move all externs and prototype, into headers, reformat and re-arrange the code.
- Optimize PspLookupUserEntrypoints to use static ANSI_STRINGs instead of building them at runtime.
- Fix mapping/loading of the System DLL so that it's loaded as executable code, not read-only code. Also fix a handle leak of the section, and re-factor some code into smaller shared functions to reduce code duplication.

svn path=/trunk/; revision=24154
2006-09-17 05:20:24 +00:00
Hervé Poussineau
1b0d4ce154 Install VMware driver using UpdateDriverForPlugAndPlayDevicesW function.
Installing a driver is not as easy as copying files and adding some registry entries, especially when autogenerated PnP ids change...

svn path=/trunk/; revision=24153
2006-09-17 00:28:19 +00:00
Hervé Poussineau
68bee00b1d Make IoInvalidateDeviceRelations really asynchronous
Implement IoSynchronousInvalidateDeviceRelations

svn path=/trunk/; revision=24152
2006-09-16 23:30:57 +00:00
Johannes Anderwald
5d0d792e67 * update comments
* remove unused members in ConsoleInfo struct
* update global struct on UDN_DELTAPOS events
* update WindowSize ScreenBuffer member when bigger / smaller on scroll events

svn path=/trunk/; revision=24151
2006-09-16 21:41:57 +00:00
Hervé Poussineau
5ed7c7746e Fix compilation (3 variables were unused)
svn path=/trunk/; revision=24150
2006-09-16 21:21:05 +00:00
Hervé Poussineau
47f4f5c36a Change detection method to see if a driver is a legacy one
Fix last issues with PCI driver

svn path=/trunk/; revision=24149
2006-09-16 20:53:27 +00:00
Alex Ionescu
78ef70deda - Fix one of the oldest hacks in ReactOS: KeGetCurrentThread() and PsGetcurrentProcess used to be NULL during early boot stage. We also didn't have an official idle therad/process. Also system intialization was not in its sepearte thread. Changes:
- Implemented SeAssignPrimaryToken.
   - Setup Boot/System Token for Idle Process in SeInit2.
   - Remove ROS hack in SeCaptureSubjectContextEx.
   - Call SeAssignPrimaryToken in PspInitializeProcessSecurty when called for the Initial Process creation.
   - Implement PsInitiailizeQuotaSystem and set PspDefauptQuotaBlock for the idle process so that it can be used for the initial process.
   - Rewrite Process Manager Phase 0 initialization from scratch, to create a new initial system process and thread which will be used for Phase 1 (in ROS, phase 2) initialization of the executive.
   - Fix a bug in PspCreateProcess which was using an uninitialized value of SectionObject in some cases, instead of NULL.
   - Call PsInitailizeQuotaSystem from ObInit, and also create the system handle table inside the idle process, and make it the ObpKernelHandleTable.
   - Do Executive Phase 0 Initialization at APC_LEVEL.
   - Start idle thread at HIGH_PRIORITY then lower it to 0 once the Initial Thread is setup, so that it can run, then keep priority to 0 at DISPATCH_LEVEL and jump into idle loop code.
   - Add NtYieldExecution to idle loop code since it's now being used.
   - Fix IoGetCurrentProcess which was previously hacked.
   - Remove some checks for Thread == NULL in ke_x.h, since this is now impossible.
   - Split Phase 0/1 initialization in ex\init.c, since one runs in a separate thread now. Also don't lower IRQL to PASSIVE_LEVEL anymore (run at APC_LEVEL).

svn path=/trunk/; revision=24148
2006-09-16 20:37:49 +00:00
Alex Ionescu
0d996fd421 - Revert part of 24108 which was scanning the process's thread ready list and making the threads ready. This shouldn't currently happen on ReactOS but it seems that happens on Fireball's machine and crashes it, so I'm reverting it.
svn path=/trunk/; revision=24147
2006-09-16 20:27:53 +00:00
Hervé Poussineau
25e2b01535 Don't crash if PCI AddDevice is called with a NULL Pdo (happens if pci.sys is considered as a legacy driver)
svn path=/trunk/; revision=24146
2006-09-16 20:22:54 +00:00
Martin Fuchs
30f438bb7b explorer: minor code cleanup
svn path=/trunk/; revision=24145
2006-09-16 15:41:17 +00:00
Martin Fuchs
fcfeb83217 "Debug Release" mix configuration for notifyhook project file
svn path=/trunk/; revision=24144
2006-09-16 15:40:24 +00:00
Martin Fuchs
a06bdc9503 explorer: handle child window creation errors
svn path=/trunk/; revision=24143
2006-09-16 15:39:07 +00:00
Magnus Olsen
bb1f92d0d3 fixed a memory I accident created when to free a hdc
svn path=/trunk/; revision=24142
2006-09-16 06:40:37 +00:00
Alex Ionescu
5acd247d8e - Implement most of the Ring 3/0 Invalid Opcode handler. Stops apps like mIRC from BSODing the system anymore.
svn path=/trunk/; revision=24141
2006-09-16 06:03:04 +00:00
James Tabor
6b30b92bf0 I think this was on Ged mind.
svn path=/trunk/; revision=24140
2006-09-16 05:29:25 +00:00
Art Yerkes
f20c6b89df Not sure where LicenseDialogProc is supposed to come from. For now, we'll
disable it until it gets fixed.

svn path=/trunk/; revision=24139
2006-09-16 01:56:51 +00:00
Alex Ionescu
d664420182 - Merge in my latest Dispatcher changes for KeWaitForMultipleObject, which are basically the same kind of changes as have been done for KeDelay/KeWaitForSingle. (Optimizations and readability improvements).
- Also fixed a previous bug where we didn't respect alertable waits anymore for KeWaitForMultiple...
- Remove krnlfun entry, the rest of dispatcher changes are tied to the new timer implementation for later.

svn path=/trunk/; revision=24138
2006-09-16 00:07:02 +00:00
Magnus Olsen
aa64d1177f Implement NtGdiCreateEnhMetaFile it is base on wine cvs 15/9-2006 version of CreateEnhMetaFileW in wine gdi32.dll
Our are not complete it can not create the file.
But we parseing now some NULL pointer test and some other test in winetest for gdi32. 

 

svn path=/trunk/; revision=24137
2006-09-15 23:24:04 +00:00
Hervé Poussineau
dfda3eceff Fix "normal" formatting, by removing differences between quick and normal formatting.
Normal formatting is quick formatting + fill sectors with 0 (not done yet)

svn path=/trunk/; revision=24136
2006-09-15 17:04:18 +00:00
Ged Murphy
4db2ab349a enable system info (again)
svn path=/trunk/; revision=24135
2006-09-15 16:45:00 +00:00
Ged Murphy
c09e1c12ab - add hardware profile and start and recovery dialogs
- popup a message box for dialogs not yet implemented

svn path=/trunk/; revision=24134
2006-09-15 16:37:26 +00:00
Aleksey Bragin
4094a71f3e Fix typos in comments
svn path=/trunk/; revision=24133
2006-09-15 16:07:11 +00:00
Aleksey Bragin
ee7e88e8ec Add missing "NTAPI"
svn path=/trunk/; revision=24132
2006-09-15 16:01:50 +00:00
Aleksey Bragin
04a96186b4 Revert a change in debug.h introduced in 19329 by Hartmut Birr. Freeldr's debug output doesn't expect any DbgPrint call to result in a "__FILE__:__LINE__ output_string" substitution.
Now FreeLdr's debug output looks good again.

svn path=/trunk/; revision=24131
2006-09-15 10:45:53 +00:00
Magnus Olsen
ed022d17fd arcoding winetest CreateEnhMetaFileA all param can be NULL
and we fail on this. But this is only one bugfix, We need bugfix win32k now. To completed the bugfix

svn path=/trunk/; revision=24130
2006-09-15 10:36:50 +00:00
Hervé Poussineau
b73a685a79 Assume bus number #0 if not specified in resource list
svn path=/trunk/; revision=24129
2006-09-15 09:09:18 +00:00
Hervé Poussineau
2a1513dc5c - Fix Freeldr to correctly send reported resources (at least PCI buses and PS/2 devices)
- Let Root bus report BootResources
- If no resource requirement are found, use the boot resource list (not sure of this one)

svn path=/trunk/; revision=24128
2006-09-15 06:48:01 +00:00
Hervé Poussineau
3daa4394f7 Check for ACPI BIOS identifier, to prevent double enumeration of devices
Move boot resource informations to Root\ key (if available)
Add a missing \0 at the end of hardwareId list

svn path=/trunk/; revision=24127
2006-09-14 22:29:07 +00:00
Ged Murphy
af77fee9dd fix a few dialog asthetics
svn path=/trunk/; revision=24126
2006-09-14 21:51:56 +00:00
Ged Murphy
faa4bd22bb put system info back in
svn path=/trunk/; revision=24125
2006-09-14 20:46:06 +00:00
Hervé Poussineau
7ac40876f4 Report to registry hardware found by Freeloader.
See issue #645 for more details.

svn path=/trunk/; revision=24124
2006-09-14 20:30:35 +00:00
Magnus Olsen
eccbefcccb thx fireball fixing a spelling fault
svn path=/trunk/; revision=24123
2006-09-14 20:00:28 +00:00
Ged Murphy
da666d1ce5 sneaky little blighter
svn path=/trunk/; revision=24122
2006-09-14 19:12:48 +00:00
Ged Murphy
4732ef2b6a start to overhaul sysdm.cpl and make it more like XP's, which is much more user friendly
- completely rewrite the resource file to make it readable and logical
- do the same with the resource.h file (I'll cry if anyone messes these 2 up, it's mega neat now ... ;p)
- add the ReactOS logo to the first page (general tab)
- move the licence to it's own dialog accessable from the general tab
- rearrange the computer name and hardware pages
- delete the user profile page and add it as a separate dialog accessable from the advanced page
- add an error reporting button (as per XP) which opens a web browser directly to bugzilla.
- loads of other little alterations.
*note, I've dissabled language files until I've finished messing with the resources*

svn path=/trunk/; revision=24121
2006-09-14 19:09:56 +00:00
Magnus Olsen
a413ba4de2 forget this file thx Quip at irc
svn path=/trunk/; revision=24120
2006-09-14 19:02:56 +00:00
Magnus Olsen
e1ba479b2c 1. move all languages to own folder
2. accepted LMH1 languages patch (with small modification)

See issue #1696 for more details.

svn path=/trunk/; revision=24119
2006-09-14 17:33:25 +00:00
Magnus Olsen
5f0ec93a17 translations patch accepted from LMH1 (with small modification from me)
See issue #1695 for more details.

svn path=/trunk/; revision=24118
2006-09-14 17:26:08 +00:00
Magnus Olsen
3e4ab62cca 1. move all languages to own folder
2. accepted LMH1 languages patch (with small modification)
3. fixed right sublang on few languages rc files
See issue #1685 for more details.

svn path=/trunk/; revision=24117
2006-09-14 17:17:51 +00:00
Magnus Olsen
eb39f6f8dc translations patch accepted from LMH1 (with small modification from me)
See issue #1679 for more details.

svn path=/trunk/; revision=24116
2006-09-14 16:53:53 +00:00
Ged Murphy
d667517b42 start to rewrite the virtmem code to remove many bugs and make it more readable.
I'm currently working on enhancements to sysdm, but it's probably better to commit this separately 

svn path=/trunk/; revision=24115
2006-09-14 16:49:11 +00:00
Magnus Olsen
4a1ee5a228 adding Japanese keyboard to reactos installer
svn path=/trunk/; revision=24114
2006-09-14 16:40:40 +00:00
Magnus Olsen
3f285b2d73 adding Japanese keyboard drv patch from ja731j (real name : Simon Hanae mail : ja731j at ja731j dot homeip dot net
See issue #1795 for more details.

svn path=/trunk/; revision=24113
2006-09-14 16:39:35 +00:00
Aleksey Bragin
efcc4447c1 Reapply fixed half of 24020 (relocation update in rtl). Tested on vmware and real hardware.
svn path=/trunk/; revision=24112
2006-09-14 16:37:05 +00:00
Saveliy Tretiakov
63ae604355 Fix typo. palate -> pallete
svn path=/trunk/; revision=24111
2006-09-14 16:04:08 +00:00
Alex Ionescu
1b75e6549e - Converted some macros to inlined functions.
- Modified KeDelayExecutionThread and KeWaitForSingleObject to be much simpler and readable, reducing some of the loops and continues, and 4th-level indentation. Also packed up common wait initialization at the beginning of the function, and into two new inline functions: KxDelayThreadWait and KxSingleThreadWait. No actual semantic changes, just re-ordering.
- Rename KiUnwakeQueue to KiActivateWaiterQueue.

svn path=/trunk/; revision=24110
2006-09-14 15:48:02 +00:00
Aleksey Bragin
bb617c9ac9 Sylvain Petreolle: Fix a typo in the code (palGDI -> sysGDI)
svn path=/trunk/; revision=24109
2006-09-14 15:40:16 +00:00
Alex Ionescu
74703ca408 - Implement KeReadyThread that wraps KiReadyThread so that \ps doesn't have to worry about dispatcher lock.
- Make sure all a process's threads are ready if they're on the ready queue, during attachment.
- Merge in KiReadyThread from scheduler code, with a small code change to keep working with ROS's scheduler lists instead.

svn path=/trunk/; revision=24108
2006-09-14 12:13:32 +00:00
Magnus Olsen
beb74a2356 remove entrypoint in rbuild files.
1. This change are right but binutils setting
   PE header flags wrongs for cpl/dll wrong

2. Remove entrypoint for cpl until this bug have
   been fixed in binutils.
    

svn path=/trunk/; revision=24107
2006-09-14 09:10:13 +00:00
Aleksey Bragin
4309a525f4 Show the value, not the address in memory! (Thanks to Dmitry Philippov)
svn path=/trunk/; revision=24106
2006-09-14 08:27:08 +00:00
Aleksey Bragin
d64332beb2 Mikhail Zvyozdochkin: If I enter directly DNS server address in TCP/IP properties window, and after it open this window again, DNS server address is not retrieved to text field.
Patch 1746

svn path=/trunk/; revision=24105
2006-09-14 08:20:50 +00:00
Magnus Olsen
dc1e819150 Fixing two NULL pointer crash in win32k.
I do not known if I done right in NtGdiRealizePalette step2, step2 is not tested.  

svn path=/trunk/; revision=24104
2006-09-14 07:43:20 +00:00
Alex Ionescu
20425875ce - Implement KiAcquireDispatcherObject, KiReleaseDispatcherObject, used on SMP for dispatcher objects which use the volatile long member in the dispatcher header (such as gates).
- Implement KiTryThreadLock which tries to acquire the lock but exits if it can't, isntead of looping.
- Re-factor KeWaitForGate to make it SMP-safe by acquiring various locks when required.
- Fixed up KeSignalGateBoostPriority so it can also be SMP-safe, and also fix what exactly happens when the gate is signaled (directly make the other thread ready instead of doing a KiUnwaitThread on it).
- Split KxAcquireSpinLock/KxReleaseSpinLock into SMP vs UP like the other routines.

svn path=/trunk/; revision=24103
2006-09-14 05:53:51 +00:00
Alex Ionescu
d53352c677 - Implement KiUnlinkThread to unlink a thread from its wait blocks, handle queue and timer activation/removal.
- Don't play with priorities in KiAbortWaitThread anymore, since we'll soon support Win2003 delayed "adjust increment" functionality, so that the code is not repeated many times.
- Rename KiAbortWaitThread to KiUnwaitThread, make it use KiUnlinkThread and delayed adjustment.
- Implement KxUnwaitThread and KxUnwaitThreadForEvent, optimized versions of KiWaitTest that can be used in special circumstances (notification events, thread termination, process signalling).
- Optimize KeSetEvent by handling signaled notification events without acquiring the dispatcher lock, and by using new inlined routines described above.
- Reimplement KeSetEventBoostPriority properly to actually do boosting.
- Fixup KeRundownQueue with a more typical/proper LIST_ENTRY loop.
- Let me know if you see regressions...

svn path=/trunk/; revision=24102
2006-09-14 03:49:20 +00:00
Alex Ionescu
c440454c10 - Update Kernel Fun.
svn path=/trunk/; revision=24101
2006-09-13 21:46:32 +00:00
Magnus Olsen
a2a7c9632f Greek keyboard layout changes by Apal
See issue #1631 for more details.

svn path=/trunk/; revision=24100
2006-09-13 19:08:41 +00:00
Saveliy Tretiakov
5971670b9b Separate NtGdiModifyWorldTransform and IntGdiModifyWorldTransform for internal usage.
svn path=/trunk/; revision=24099
2006-09-13 16:50:19 +00:00
KJK::Hyperion
182b4dc71d <intrin.h> compatibility header. Implements Visual C++ intrinsics in GCC. Licensed very liberally, please keep it that way
svn path=/trunk/; revision=24098
2006-09-13 14:07:41 +00:00
Saveliy Tretiakov
457e0142bd Move IntGdiGradientFill and IntSystemParametersInfo prototypes to header files.
Delete DestroyThreadWindows prototype (function does not exist).


svn path=/trunk/; revision=24097
2006-09-13 13:43:39 +00:00
Saveliy Tretiakov
0eabb5d7bc Move UserDrawIconEx and UserGetCurIconObject prototyepes to header file.
svn path=/trunk/; revision=24096
2006-09-13 13:03:17 +00:00
Saveliy Tretiakov
e6c1f9ca4b Add UnattendSetupEnabled key for enabling\disabling unattended setup without editing rbuild files.
Modifing rbuild files all the time is not handy and slows down build process.


svn path=/trunk/; revision=24095
2006-09-13 12:33:59 +00:00
Alex Ionescu
63142230b2 - Rename kqueue.c to devque. KQUEUE (kernel queues) are implemented in queue.c, and this filename always confused me. Why would you name KDEVICE_QUEUE into kqueue.c, when you already have KQUEUE in queue.c?!
- Rename exception.c to except.c, mostly due to MSVC's incompatibility with multiple identically named files.
- SVN delete usercall.c leftover.
- Fix KeSetPriorityAndQuantumProcess to use Queued Spinlocks and KiAcquireProcess/ThreadLock when needed.

svn path=/trunk/; revision=24094
2006-09-13 03:02:40 +00:00
Alex Ionescu
630f3d1e69 - Cleanup ipi.c, reformat, and re-organize.
- Undefine all functions for UP builds, except KeIpiGenericCall.
- Implement KeIpiGenericCall for UP builds and add @implemented tag.

svn path=/trunk/; revision=24093
2006-09-13 02:25:32 +00:00
Alex Ionescu
31e4c651c4 - Renamed device.c to config.c and removed all irrelevant code from it, leaving only the two KeFindConfigurationEntry*** functions in it.
- Also fixed the above for incorrect formatting/excessive whitespace.
- The other routines in device.c were moved to cpu.c, since they deal with CPU-specific things.
- Cleaned up KeFlushEntireTb.
- Added inlined routines for setting/getting CR, and also getting GDTR, IDTR, LDTR, TR. Used to implement KiSaveProcessorControlState.
- Implemented KeSaveStateForHibernate.

svn path=/trunk/; revision=24092
2006-09-13 02:08:22 +00:00
Alex Ionescu
b4aab80937 - Fix a typo that happened after-the-fact.
svn path=/trunk/; revision=24091
2006-09-13 02:04:33 +00:00
Alex Ionescu
7687187bf0 - Implement KxAcquireSpinLock/KxReleaseSpinLock for inline acquisition of spinlocks, SMP, UP and DBG. (on DBG builds, we OR the spinlock value with the KTHREAD address, then compare on release.)
- Make In-Stack QSLs a complete no-op in UP, we were still touching some fields.
- Cleanup and re-organize spinlock.c

svn path=/trunk/; revision=24090
2006-09-13 01:41:17 +00:00
Alex Ionescu
07a0973e21 - Remove usercall.c from portable part of Ke and add it to ke\i386. The implementation is slightly arch-specific.
- Remove code in userapc.c and move it into usercall.c, since both functions basically deal with user-mode callouts.
- Handle STATUS_CALLBACK_POP_STACK and add the status to ntstatus.h
- Also handle future support for GDI Batch flushing.

svn path=/trunk/; revision=24089
2006-09-13 01:00:50 +00:00
Alex Ionescu
a614833b08 - Use inlined guarded region routines instead of duplicating code.
- Add @implemented tags.

svn path=/trunk/; revision=24088
2006-09-13 00:35:56 +00:00
Alex Ionescu
d99f96a295 - Implement KiAcquireDeviceQueueLock/KiReleaseDeviceQueueLock for locking KDEVICE_QUEUEs, since they can be used from Threaded DPCs which don't execute at DISPATCH_LEVEL, so the lock needs to be acquired differently.
- Add ASSERT_DEVICE_QUEUE and ASSERTify + reformat kqueue.c.
- Implement KeRemoveByKeyDeviceQueueIfBusy.
- Cleanup exception.c
- Remove dangerous/broken KeGetCurrentIrql() define.

svn path=/trunk/; revision=24087
2006-09-13 00:20:46 +00:00
Aleksey Bragin
c0cda24302 Just one entrypoint="0" is enough
svn path=/trunk/; revision=24086
2006-09-12 21:33:56 +00:00
Hervé Poussineau
6ed6c1661e Don't call notification procedures with APC disabled, it may lead to some strange results.
Thanks Alex for the time he took to help me to debug this issue

svn path=/trunk/; revision=24085
2006-09-12 21:18:22 +00:00
Ged Murphy
3fd92a4f96 Revert changes from r23620 until a better solution can be found as it breaks opening of cpl applets with VS.
The 'DebugSettings' should be stored in the .user file.

svn path=/trunk/; revision=24084
2006-09-12 21:02:39 +00:00
Aleksey Bragin
3b58ac1932 Fix last things preventing me from compiling the tree:
vsnprintt -> _vsnprintf in the wine/unicode.h and in riched20

svn path=/trunk/; revision=24083
2006-09-12 18:51:05 +00:00
Hervé Poussineau
2140d54ca5 Start to support GUID_DEVICE_SYS_BUTTON interface. It is required to handle keyboards with power buttons (wake/sleep/power)
(This commit is done now to be able to debug an APC problem)

svn path=/trunk/; revision=24082
2006-09-12 15:19:51 +00:00
Hervé Poussineau
fec5904b50 [AUDIT] This file only include other files, so it can't be dirty.
Additionally, define GUID_DEVICE_SYS_BUTTON

svn path=/trunk/; revision=24081
2006-09-12 15:19:17 +00:00
Alex Ionescu
2829cc5982 - Re-merge 24062+24063, with a minor difference, they work now.
svn path=/trunk/; revision=24080
2006-09-12 13:54:52 +00:00
Alex Ionescu
6b1e4db5b5 - Partial revert of r20462/63. New HAL/Po/Ki code remains, but restored the original PsIdleThread code. I know what the bug is but I'm too tired to fix it, so I'd rather revert the broken part.
- Install + 2nd stage + boot to desktop will not work in qemu, kernel-kqemu and vmware (all wax and I tested).

svn path=/trunk/; revision=24079
2006-09-12 05:37:14 +00:00
Alex Ionescu
978da5c0af - Revert 24020 (good code, but buggy) and 24041 (bad code/revision).
- This gets us as far as 24061(+24048) for booting.

svn path=/trunk/; revision=24078
2006-09-12 05:21:27 +00:00
Aleksey Bragin
4e03e0ec4a Those two #ifdefs were wrong on my setup (straightforward RosBE 3.4.2, and also updated to 3.4.4). So:
1. Removed the stricmp guard
2. Added a #ifdef->#undef solution

If this break compilation on linux or on gcc 4 on win32 (very low probability, if any), let's think further.

svn path=/trunk/; revision=24076
2006-09-11 21:40:50 +00:00
Saveliy Tretiakov
17189649af For windows with WS_EX_DLGMODALFRAME sysmenu can be opened only by right mouse click
svn path=/trunk/; revision=24074
2006-09-11 15:49:42 +00:00
Hervé Poussineau
6f5c6f23d3 Fix halmp compilation
svn path=/trunk/; revision=24073
2006-09-11 14:35:46 +00:00
Saveliy Tretiakov
68f5e47ce6 This testapp demonstrates WS_SYSMENU + WS_EX_DLGMODALFRAME behavior
and shows that DrawCaption does care about WS_EX_DLGMODALFRAME and WS_EX_TOOLWINDOW.


svn path=/trunk/; revision=24072
2006-09-11 13:09:12 +00:00
Saveliy Tretiakov
529631027a Fix WS_SYSMENU+WS_EX_DLGMODALFRAME bug.
Fixes Messagebox broblem and some others.

svn path=/trunk/; revision=24071
2006-09-11 13:07:12 +00:00
Aleksey Bragin
d263039fe9 Add missing header
svn path=/trunk/; revision=24070
2006-09-11 13:01:39 +00:00
Hervé Poussineau
60fb482ad4 Fix compilation on Linux hosts - try #2
We can't use the _WIN32 symbol which is automatically defined once you include psdk/windef.h ...

svn path=/trunk/; revision=24069
2006-09-11 12:42:35 +00:00
Alex Ionescu
5fb31962db - Implement KiReleaseProcessLockFromDpcLevel and use it in KeTerminateThread. We were lowering to PASSIVE during thread termination, and then doing a context switch at PASSIVE, which you can guess is pretty bad.
svn path=/trunk/; revision=24068
2006-09-11 12:00:02 +00:00
Hervé Poussineau
07dc58982f We want to support hives version 1.3+ (up to 1.5 currently). Fix test accordingly
svn path=/trunk/; revision=24067
2006-09-11 11:28:54 +00:00
Hervé Poussineau
7b79f44d6b Better handling of REG_LINK values
Try to fix Linux build (thanks Usurp on IRC)

svn path=/trunk/; revision=24066
2006-09-11 11:04:33 +00:00
Saveliy Tretiakov
4f6a751b6f Implement NtGdiCloseFigure (Fixes BSOD!)
svn path=/trunk/; revision=24065
2006-09-11 11:01:35 +00:00
Saveliy Tretiakov
059fb2c54e Implement NtGdiFlattenPath
svn path=/trunk/; revision=24064
2006-09-11 10:43:42 +00:00
Alex Ionescu
c19a362969 - Implement HalProcessorIdle.
- Fix KiIdleLoop to actuall load the PCR in EBX. It was using a completely random value.
- Call the Processor Idle Routine now, isntead of hard-coding STI+HLT. This routine had already been setup during bootup by PoInitailizePrcb.
- Implemented PopIdle0 and made it call HalProcessorIdle. No performance/throttling is done yet.

svn path=/trunk/; revision=24063
2006-09-11 06:50:19 +00:00
Alex Ionescu
81997fc0bc - Implement and export HalClearSoftawareInterrupt (currently implemented to match the hacked ROS version, no new version written yet).
- Implement CPU Idle Loop in assembly for UP and SMP systems. Differences:
  * Runs with interrupts off most of the time, except when it does interrupt cycling at each iteration.
  * Calls KiRetireDpcList directly, instead of going through KiDispatchInterrupt.
  * Support for new scheduler and immediate thread switch.
  * Support for Idle Scheduler.
  * Support for HAL/ACPI/CPU Driver-defined "Idle Function". currently disabled and STI+HLT harcoded instead.
- Removed ps/idle.c and dumped the hack code directly in psmgr.c wher eit's used.

svn path=/trunk/; revision=24062
2006-09-11 06:22:26 +00:00
Alex Ionescu
a0fac81cfd - Add the actual missing code to KiQuantumEnd. It's asserted to make sure it'll never execute (yet).
- Add KiExitDispatcher from my new scheduler code. Same as KiQuantumEnd, added an assertion to make sure it doesn't enter in code paths that shouldn't yet happen.

svn path=/trunk/; revision=24061
2006-09-11 05:26:38 +00:00
Alex Ionescu
6c853c9c32 - Fix a critical bug in KiComputeNewPriority.
- Fix a bug in KiSetPriorityThread which wasn't setting *released = FALSE, which left the var uninitailized and usually = TRUE on the stack.
- Half-copy KiQuantumEnd from my new scheduler code. Main difference is usage of newly created locks, support for quantum-disable and RT threads, and usage of KiComputeNewPriority.

svn path=/trunk/; revision=24060
2006-09-11 05:21:18 +00:00
Alex Ionescu
8028be67cb - Fix KiDeliverApc prototype for PPC compatibilty.
- Fixup comment header for KiDeliverApc and KiInsertQueueApc.
- Set APC trap frame during APC delivery. We actually weren't doing this before (I'm kind of amazed at ROS's previous functionality due to importance of this bug!).
- Use proper in-stack queued spinlock mechanisms.
- Make sure that the Kernel APC list didn't become empty while we acquired the APC lock after the first verification.
- Validate IRQL on return from APC routines, to catch bad code.

svn path=/trunk/; revision=24059
2006-09-11 04:34:25 +00:00
Alex Ionescu
d011801cef - Fix lock acquisition/release mismathces in KiInsertQueueApc.
- Support and document InsertApcEnvironment KAPC_ENVIRONMENT type.
- Fixup formatting and ASSERTify.
- Acquire dispatcher lock when insereting an APC into another thread.
- Use delayed interrupt request on SMP systems (and fixup KiRequestApcInterrupt accordingly).

svn path=/trunk/; revision=24058
2006-09-11 03:14:26 +00:00
Alex Ionescu
52b3dfb608 - Fix stupid typo.
svn path=/trunk/; revision=24057
2006-09-11 02:30:38 +00:00
Alex Ionescu
90a7bca112 - Add new KAPC_ENVIRONMENT mode: InsertApcEnvironment.
- Fixup KeInitalizeApc like all the other functions.
- Don't use an expensive 48-byte RtlZeroMemory instead of just clearing two members.

svn path=/trunk/; revision=24056
2006-09-11 02:28:09 +00:00
Alex Ionescu
8b90aed6be - Fix comment headers for KeFlushQueueApc, KeInsertQueueApc.
- ASSERTify KeInsertQueueApc and some formatting fixes.

svn path=/trunk/; revision=24055
2006-09-11 02:17:57 +00:00
Alex Ionescu
c9607ffe89 - Fix for Windows Kernel APC Data-Free Local Privilege Escalation Vulnerability (re-initialize the list head after cleaning it, so that the list is circular).
- Optimize KeFlushQueueApc: we can check if the Kernel-Mode APC list is empty without acquiring the lock. If it's empty, we can quit immediately, if not, then we'll acquire and check it again. For user APCs we always need to acquire the lock, though.

svn path=/trunk/; revision=24054
2006-09-11 02:09:13 +00:00
Alex Ionescu
43a412db60 - Add ASSERT_APC definition.
- Fix KeRemoveQueueApc comment header and clean up function.
- Acquire dispatcher lock at DPC level during ApcListEntry read/write.

svn path=/trunk/; revision=24053
2006-09-11 01:45:11 +00:00
Alex Ionescu
4b35027c0f - Cleanup RepairList, KiMoveApcState.
- Fixup comments for KeAreApcsDisabled.
- Implement and add comment header to KeAreAllApcsDisabled.

svn path=/trunk/; revision=24052
2006-09-11 01:30:24 +00:00
Alex Ionescu
2fea34f0e1 - Re-implement KiRequestApcInterrupt in ke_x.h. Make it work by CPU number (as documented) instead of comparing PRCBs.
- Move NtQueueApcThread to ps/state.c since it's a Ps-level function.
- Make NtQueueApcThread use POOL_QUOTA_FAIL_INSTEAD_OF_RAISE and add that flag to our DDK. Also fix the check for SystemThread by looking at the flag, not checking if TEB == NULL. Also fix a memory leak and comment header.
- Fix comment header in KiInitalizeUserApc.

svn path=/trunk/; revision=24051
2006-09-11 01:15:03 +00:00
Alex Ionescu
1462b71058 - Re-organize apc.c into private/public functions (no code change).
- Move KiInitializeUserApc to ke/i386/userapc.c. The routine is non-portable.
- Force Ring 3 state into User APC TrapFrame to maintain system integrity and coherency. Also respect IOPL.
- Use SEH handling routine just like when handling exceptions, to properly re-direct a crash here. Thanks to KJK again for showing me how to write these kinds of routines.

svn path=/trunk/; revision=24050
2006-09-11 00:54:12 +00:00
Alex Ionescu
4d94e0557f - Fix KeEnterCriticalRegion/KeLeaveCriticalRegion by moving to ke_x and adding ASSERTs, and change the code in apc.c to call these inlined versions instead. Also fix comment headers for these functions in apc.c to match the official standard.
svn path=/trunk/; revision=24049
2006-09-11 00:26:17 +00:00
Alex Ionescu
38759195cb - We only need to update the page directory for the current stack, not the whole ETHREAD. (the page fault will be handled).
- Release dispatcher lock from DPC level in KiAttachProcess.
- Add missing decoration/assert to KeAttachProcess, and only acquire APC lock after we've made the invalid attach test. Also acquire dispatcher lock at DPC level here and in KeStackAttachProcess.
- Loop in KeUnStachDetachProcess to avoid the case where we acquired the APC lock while a kernel APC was pending. Keep releaing the loop and re-attemping acquire until it has been delivered.
- Add Decoration for *ServiceTable* functions.

svn path=/trunk/; revision=24048
2006-09-10 23:41:08 +00:00
Alex Ionescu
d7ae142cf1 - KPROCSES Flags are LONG, not ULONG.
- Add some missing decoration.
- NUMA node semantics for KeInitializeProcess are only required on SMP builds.
- Allow KeInitailizeProcess to receive an argument specifying if alignment faults should be enabled or not.
- Use KiComputeIopmOffset to get the IopmOFfset instead of setting -1

svn path=/trunk/; revision=24047
2006-09-10 23:17:22 +00:00
Aleksey Bragin
5e7a9fc74e Create a place for some R&D work about booting Windows from inside of FreeLdr
svn path=/trunk/; revision=24046
2006-09-10 21:32:02 +00:00
Alex Ionescu
faa5f58b84 - Remove KeGetCurrentProcess. This API doesn't exist.
- Add assertions to relevant functions in process.c and re-format some code.
- Check for invalid APC state in KeDetachProcess.
- Decrease process stack count while holding the Dispatcher Lock at DPC level.
- Implement KiSwapProcess in ctxswitch.S and add SMP-support and LDT swap support for the future, as well as updating the IOPM base in the TSS.

svn path=/trunk/; revision=24044
2006-09-10 20:23:02 +00:00
Aleksey Bragin
54a6548aa7 Fix inconsistent formatting and other trails of GreatLord's fixing
svn path=/trunk/; revision=24043
2006-09-10 20:12:16 +00:00
Saveliy Tretiakov
6a37552f9e implement NtGdiPathToRegion
svn path=/trunk/; revision=24042
2006-09-10 19:42:09 +00:00
Alex Ionescu
344fd08452 - No need to apply the ROS Page hack inside thread switching, since the process is the same.
svn path=/trunk/; revision=24041
2006-09-10 19:41:31 +00:00
Alex Ionescu
ecb32725f7 - Add ASSERT_EVENT.
- Same changes to event.c as with the other files.
- Remove lock property, these files have already been audited as clean and were unlocked.

svn path=/trunk/; revision=24040
2006-09-10 19:14:03 +00:00
Alex Ionescu
b5c8cf43e7 - Add ASSERT_MUTANT and ASSERT_SEMAPHORE to our DDK.
- Cleanup mutex.c and sem.c. No real code changes, just add ASSERTs, STDCALL->NTAPI, IN/OUT decoration.
- One change though, in KeReleaseMutant, use KeLeaveCriticalRegion instead of manually writing down the code, it's more readable this way.

svn path=/trunk/; revision=24039
2006-09-10 18:47:53 +00:00
Alex Ionescu
da15ddafc8 - Get completely rid of old Dispatcher Lock macros and use new ones.
- apc.c -> Also multiple optimizations to use the APC lock instead of the full-fledged dispatcher lock.
- gate.c -> Use APC lock as well, the full dispatcher lock isn't required because a thread can only wait on one and only one gate.
- process.c -> Optimize the code to use the Process and/or APC lock instead of the dispatcher lock. Also delay acquiring the locks after some checks, to make the exit paths simpler.
- More fixes are teh needed.

svn path=/trunk/; revision=24038
2006-09-10 18:26:50 +00:00
Thomas Bluemel
63346a8dda Fix difference in signedness warning
svn path=/trunk/; revision=24037
2006-09-10 18:22:48 +00:00
Thomas Bluemel
ac14f5a033 Fix LdrRelocateImageWithBias prototype: Strings in C are neither signed nor unsigned, and they are constants. Fixes warnings with GCC4
svn path=/trunk/; revision=24036
2006-09-10 17:16:59 +00:00
Alex Ionescu
4300e4effe - Update the last remaining old function, KeSetBasePriority. Use new locks and assertions, and also make use of KiComputeNewPriority.
svn path=/trunk/; revision=24035
2006-09-10 17:13:55 +00:00
Alex Ionescu
1ee6196a10 - Reposition and update KeQueryBasePriorityThread to use the new locks.
- Update KeSetAFfinityThread, KeSetPriorityThread with new locks and assertions (plus the current ROS scheduler hack).

svn path=/trunk/; revision=24034
2006-09-10 17:05:07 +00:00
Alex Ionescu
678df444b7 - Update KeRevertToUserAffinityThread, KeSetSystemAffinityThread to use new lock functions, and add code to support future scheduler.
- Update KeSetIdealProcessorThread to properly do Ideal CPU logic instead of blindgly setting it (most importantly, respect UserIdealProcessor and SystemAffinityActive seettings).

svn path=/trunk/; revision=24033
2006-09-10 16:55:03 +00:00
Alex Ionescu
d3a7b531f3 - Re-organize all internal functions in 3 groups:
- 1) Utility (FindRightmost/LeftMost Set, etc)
   - 2) State (Alert, AlertResume, ForceResume, Freeze, Resume, Rundown, Start, Suspend, TestAlert)
   - 3) Un/Initialization (KeInitThread, KeInitializeThread, KeUninitThread).

svn path=/trunk/; revision=24032
2006-09-10 16:38:02 +00:00
Aleksey Bragin
a9d0596841 - Add msvcrt linking where needed
- Change "rintf" unixism to ceil() and data conversion to integer type

svn path=/trunk/; revision=24031
2006-09-10 16:32:37 +00:00
Alex Ionescu
af9e8a64e7 - Remove KeSetPreviousMode, KeDisableThreadApcQueueing.
- Stargint reorganizing some public functions to the bottom of the file.
- Don't hold lock during KeSetKernelStackSwapEnable.

svn path=/trunk/; revision=24030
2006-09-10 16:30:49 +00:00
Alex Ionescu
1b223aebfb - Implement KiAcquireProcessLock, KiReleaseProcessLock.
- Update KeFreezeAllThreads to use the Process and APC In-Stack Queued Spinlock.
- Update KeTerminateThread to use the Process Lock. Call KiRundownThread to cleanup the NPX thread. Add some assertions for Stack in/out-paging. Use KiSetThreadSwapBusy for proper SMP vs UP building.
- NUMA Node semantics in KeStartThread only need to be done for CONFIG_SMP builds, so #ifed them appropriately. Also made it use the Process In-Stack QSL.

svn path=/trunk/; revision=24029
2006-09-10 16:25:57 +00:00
Alex Ionescu
e61739c38c - Fix definition of SYNCH_LEVEL.
- Implement KeAcquireInStackQueuedSpinLockRaiseToSynch for UP systems.
- Implement KiAcquireApcLock, KiAcquireApcLockAtDpcLevel, KiReleaseApcLock, KiReleaseApcLockFromDpcLevel.
- KeResumeThread, KeSuspendThread, KeAlertThread, KeForceResumeThread, KeTestAlertThread, KeAlertResumeThread are now the first to use the new APC In-Stack Queued Spinlock for sychronization.

svn path=/trunk/; revision=24028
2006-09-10 16:09:58 +00:00
Hervé Poussineau
bd33d79025 Initialize MainResource and PagingIoResource fields in FSRTL_COMMON_FCB_HEADER structure
svn path=/trunk/; revision=24027
2006-09-10 15:58:29 +00:00
Hervé Poussineau
6702dd5240 Let mkhive use cmlib. "make install" now works and this let the livecd go further than before
svn path=/trunk/; revision=24026
2006-09-10 15:39:11 +00:00
Hervé Poussineau
2ca81c5573 Fix some warnings
svn path=/trunk/; revision=24025
2006-09-10 15:26:48 +00:00
Alex Ionescu
aafcd436d5 - Thread Support cleanup 1: Separate kthread.c into thrdobj.c (Exported and globally accesible functions dealing with the KTHREAD object) and thrdschd.c (Fully internal thread scheduling routines for Ke* only).
- Also fix KeSetAffinityThread to return the old affinity, instead of NTSTATUS and move NtYieldExecution from Ps to Ke, and move NtDelayExecution to wait.c
- No code changes.

svn path=/trunk/; revision=24024
2006-09-10 15:23:20 +00:00
Aleksey Bragin
f9b0ee1a03 vsnprintf -> _vsnprintf
svn path=/trunk/; revision=24023
2006-09-10 15:07:02 +00:00
Alex Ionescu
d2cb3868b7 - Add some definitions to ketypes.h
- Fix multiple bugs in KTHREAD/KPROCESS where signed char values were marked as unsigned (and define SCHAR in ntdef.h)
- Change prototype of KiSwapThread for future compatibility.
- Fix prototype of KeSetIdealProcessorThread.
- Add KiAcquireDispatcherLock, KiReleaseDispatcherLock, KiAcquireDispatcherLockAtDpcLevel, KiReleaseDispatcherLockFromDpcLevel to ke_x.h for future use.
- Add KiInsertDeferredReadyList, KiRescheduleThread, KiSetThreadSwapBusy, KiRundownThread, KiCheckDeferredReadyList for future use.
- Add KiAcquirePrcbLock, KiReleasePrcbLock, KiAcquireThreadLock, KiReleaseThreadLock for future use.
- Add KxQueueReadyThread, KiSelectReadyThread for future use.
- Add KiComputeNewPriority for future use.

svn path=/trunk/; revision=24022
2006-09-10 14:43:12 +00:00
Aleksey Bragin
098292d473 These DPRINT1s are ONLY for Magnus' debuggin session.
Correcting his mistake of commiting them to the tree.

(taskmgr.exe should work again)

svn path=/trunk/; revision=24021
2006-09-10 14:23:13 +00:00
Aleksey Bragin
b52f7b069b - Implement enable/disable of protection for PE sections in ntdll
- Finally get rid of duplicated relocation code in ntdll by using the relocate function from RTL and enable/disable protection
- Some improvements added to RTL's relocation function, it's split up into two functions now

svn path=/trunk/; revision=24020
2006-09-10 13:33:30 +00:00
Hervé Poussineau
65df8c2bad Revert part of r23972. Now we can boot again
(+ fix a little bug)

svn path=/trunk/; revision=24019
2006-09-10 10:26:58 +00:00
Aleksey Bragin
a9bca34078 Dmitry Philippov: Fix GCC4 warning
svn path=/trunk/; revision=24018
2006-09-10 09:31:44 +00:00
Aleksey Bragin
e90bd22c08 [AUDIT]
- Code duplication for relocation
- Widely documented PE loading algorithms
- Conclusion: clean

svn path=/trunk/; revision=24017
2006-09-10 08:35:30 +00:00
Aleksey Bragin
746299a0da - Move and slightly modify the relocation code to RTL, change its prototype so that it can be used in future in freeldr, ntdll and in kernel (right now there is code duplication, which is removed from kernel by this commit).
svn path=/trunk/; revision=24016
2006-09-10 08:00:57 +00:00
Hervé Poussineau
0fbf1539ac At last, enable screensaver
svn path=/trunk/; revision=24013
2006-09-10 02:22:12 +00:00
Hervé Poussineau
96bb2d5365 Add stub for SPI_GETSCREENSAVEACTIVE (which always return TRUE at the moment...)
svn path=/trunk/; revision=24012
2006-09-10 02:20:29 +00:00
Hervé Poussineau
c965755754 Remove screensaver implementation of win32k (ie revert revision 22879).
svn path=/trunk/; revision=24011
2006-09-10 01:20:53 +00:00
Hervé Poussineau
b61c75703c LastInputTick value should be in milliseconds, according to the help of GetTickCount in MSDN
svn path=/trunk/; revision=24010
2006-09-10 01:08:35 +00:00
Hervé Poussineau
54ad3ea87b Add missing entrypoint="0" directive in rbuild files [Part 2/2]
svn path=/trunk/; revision=24009
2006-09-09 22:55:57 +00:00
Hervé Poussineau
ae5f6b945d Add missing entrypoint="0" directive in rbuild files [Part 1/2]
svn path=/trunk/; revision=24008
2006-09-09 22:33:07 +00:00
Hervé Poussineau
bc6649b746 Put a NULL entry point if explicitly asked for. Thanks w3seek for his help on this issue
svn path=/trunk/; revision=24007
2006-09-09 20:39:50 +00:00
Christoph von Wittich
e10a07af00 *add support for the new SVN 1.4.x binary format
svn path=/trunk/; revision=24006
2006-09-09 20:38:41 +00:00
Magnus Olsen
eb1866f25c Implement GetLastInput base on bug 1753 patch by P43LOk,
It did not catch the last input tick  from keyboard or mouse. 
This code is not tested in reactos, but should work. 
See issue #1753 for more details.

svn path=/trunk/; revision=24005
2006-09-09 19:41:12 +00:00
Saveliy Tretiakov
70a18c5a4e Implement NtGdiGetPath (based on wine)
svn path=/trunk/; revision=24004
2006-09-09 19:26:43 +00:00
Hervé Poussineau
0f51b5f0bc Implement registry handle closing notifications in ntoskrnl
svn path=/trunk/; revision=24003
2006-09-09 19:08:37 +00:00
The Wine Synchronizer
4246de3191 Autosyncing with Wine HEAD
svn path=/trunk/; revision=24002
2006-09-09 17:48:42 +00:00
Hervé Poussineau
b5957ce896 Fix MsiDatabaseIsTablePersistentA/W prototype
Update msi_ros.diff file for upcoming update

svn path=/trunk/; revision=24001
2006-09-09 17:42:28 +00:00
Hervé Poussineau
8e420b3974 Implement "Check volume" page in usetup.
Doesn't work yet because VfatChkdsk() is not implemented

svn path=/trunk/; revision=24000
2006-09-09 17:11:03 +00:00
Hervé Poussineau
07f8340c15 Use Guid specified in device info set (if available) in SetupDiGetClassDevsExW.
Update some documentation (taken from Wine)

svn path=/trunk/; revision=23999
2006-09-09 17:10:51 +00:00
Hervé Poussineau
8dcf1980fe Set 2nd stage setup to language selected in registry
Try to use GetLastInputInfo API instead of a keyboard/mouse hook for screensaver (not enabled yet)

svn path=/trunk/; revision=23998
2006-09-09 17:10:42 +00:00
Hervé Poussineau
52d59f6a4f Don't use buffered input when reading username/password in text mode
svn path=/trunk/; revision=23997
2006-09-09 17:09:45 +00:00
Hervé Poussineau
4ca190a004 Remove useless member in DESKTOP_OBJECT structure
svn path=/trunk/; revision=23996
2006-09-09 17:09:33 +00:00
Hervé Poussineau
1dc7b0f6af Add VfatChkdsk() prototype
svn path=/trunk/; revision=23995
2006-09-09 16:47:09 +00:00
Saveliy Tretiakov
52c652809d revert last commit
svn path=/trunk/; revision=23993
2006-09-09 14:49:11 +00:00
Saveliy Tretiakov
b2dbae0fab Messageboxes shouldn't have WS_SYSMENU
svn path=/trunk/; revision=23992
2006-09-09 14:38:07 +00:00
Art Yerkes
812b97ae66 Correct bug in cache which could cause us to lose the last block of a file.
This is wierd and insidious, and probably was the cause of n00bs not being
able to boot on occasion.

svn path=/trunk/; revision=23990
2006-09-09 13:47:45 +00:00
Saveliy Tretiakov
68c6a664cf Replace MmCopyFromCaller with probing and seh.
svn path=/trunk/; revision=23988
2006-09-09 13:19:03 +00:00
Aleksey Bragin
e6bb607c6f [AUDIT]
- PE loading/relocating/fixups/etc is greatly documented in a number of sources (e.g. good russian-language article - http://www.uinc.ru/articles/41/, it has links to a different media describing loading process of PE)
- Nothing suspicious found in the code itself

svn path=/trunk/; revision=23987
2006-09-09 12:22:40 +00:00
Saveliy Tretiakov
c439fb86f7 Add winetests to bootcd
svn path=/trunk/; revision=23986
2006-09-09 11:42:52 +00:00
Aleksey Bragin
249e8c91ba Dmitry Philippov: GCC 4 compiling fixes for PackMgr and tests/wm_paint
svn path=/trunk/; revision=23985
2006-09-09 11:41:24 +00:00
KJK::Hyperion
dd77d1676b modified Resources/hresult.xml
Added S_OK and S_FALSE

modified   Resources/ntstatus.xml
    Added all possible STATUS_WAIT_XX codes as STATUS_WAIT_0 + XX

modified   TechBot.Console/App.config
    Don't use hard-coded paths, please!

modified   TechBot.Library/ErrorCommand.cs
    New and improved !error command, now performs heuristics to catch all possible or likely uses

modified   TechBot.Library/HresultCommand.cs
    Removed useless field

modified   TechBot.Library/NumberParser.cs
    Made a couple of methods static

modified   TechBot.Library/TechBotService.cs
    Disable !api until it fails gracefully

svn path=/trunk/; revision=23984
2006-09-09 10:53:28 +00:00
Art Yerkes
25c11e5f6e Make UNIMPLEMENTED available everywhere and remove some #ifdef cruft.
svn path=/trunk/; revision=23983
2006-09-09 09:41:09 +00:00
Thomas Bluemel
94a97e085a Added missing definitions
svn path=/trunk/; revision=23982
2006-09-09 09:26:26 +00:00
James Tabor
03a2724000 User32 static.c:
- Patch by Dmitry Timoshkov, modified for ReactOS.
    - Use computed icon rectangle if SS_CENTERIMAGE style is set.

svn path=/trunk/; revision=23981
2006-09-08 22:30:46 +00:00
Aleksey Bragin
9233af3e50 Add a bit of error reporting
svn path=/trunk/; revision=23980
2006-09-08 22:00:39 +00:00
The Wine Synchronizer
1869f86db6 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23979
2006-09-08 20:13:51 +00:00
The Wine Synchronizer
8377230a7b Autosyncing with Wine HEAD
svn path=/trunk/; revision=23978
2006-09-08 20:12:06 +00:00
The Wine Synchronizer
5a367d19d2 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23977
2006-09-08 20:08:45 +00:00
The Wine Synchronizer
527fb9fa9b Autosyncing with Wine HEAD
svn path=/trunk/; revision=23976
2006-09-08 19:33:33 +00:00
Aleksey Bragin
335e03625a Fix invalid charset (DOS -> Windows)
svn path=/trunk/; revision=23975
2006-09-08 15:39:34 +00:00
Hervé Poussineau
9243a83d80 Adapt usetup to handle more easily additional filesystems
This also prepares ground for the Chkdsk disk page

svn path=/trunk/; revision=23974
2006-09-07 22:42:28 +00:00
Alex Ionescu
e6fd23de2c - 1>Build Time 0:04
1>ReactOS Kernel - 0 error(s), 253 warning(s)
- Add winerror.h to ps/win32.c so it can get the Win32 error definition it needs (winerror.h doesn't add any other nasty win32 headers, so this isn't really a header policy violation).
- Fix prototypes of KdEnableDebugger and KdDisableDebugger.
- Write one of the cleanest and most ingenious hacks I've ever come up with it, which bypasses the incompatibility of hard-coded WDK externals.

svn path=/trunk/; revision=23973
2006-09-07 22:38:06 +00:00
Alex Ionescu
254f6b62ac - More MSVC fixes (down to 19 errors):
- Header changes: fix FILE_LOCK_INFO, LARGE_MCB, BASE_MCB, MM_SYSTEMSIZE.
- Remove many things in W32API which are incorrectly there (due to winnt being used by the win32api DDK). Defined them in the NDK instead, where appropriate (mostly definitions that are present in user-mode headers, but not kernel-mode headers).
- Hacked the ERESOURCE functions to define a special ERESOURCE_XP type. This is necessary because ERESOURCE is an opaque-yet-exported structure, and its structure changed in Vista.
- Removed support for IMAGE_SCN_TYPE_NO_LOAD. It is a reserved field and Windows does not "respect" it. (sections marked as no-load will still be loaded by NT).

svn path=/trunk/; revision=23972
2006-09-07 21:36:15 +00:00
Hervé Poussineau
7d80cdabff Add ufat.dll and the optional ufatx.dll (to be added later to repository)
svn path=/trunk/; revision=23971
2006-09-07 20:57:02 +00:00
Hervé Poussineau
8c22629a9e [FORMATTING] Fix tab/space mess by replacing them by 4 spaces. No code change
svn path=/trunk/; revision=23970
2006-09-07 20:15:45 +00:00
Hervé Poussineau
1b337150cc Update prototypes
svn path=/trunk/; revision=23969
2006-09-07 19:46:18 +00:00
James Tabor
2fad285b14 Removed NtUserGetKeyboardType, there was no win32k.db entry for it.
svn path=/trunk/; revision=23968
2006-09-07 19:23:39 +00:00
Thomas Bluemel
3a4bb3b8dc Yes we should do it as WINE. Fixes a buffer overflow in RtlDetermineDosPathNameType_U()
svn path=/trunk/; revision=23967
2006-09-07 19:20:42 +00:00
Hervé Poussineau
2417bf273f Correctly handle optional parameters
svn path=/trunk/; revision=23966
2006-09-07 19:16:47 +00:00
Hervé Poussineau
022504ad3c Some 64 bits fixes (approved by Filip)
svn path=/trunk/; revision=23965
2006-09-07 19:13:37 +00:00
Hervé Poussineau
a2548c11a4 Fix format.exe compilation
svn path=/trunk/; revision=23964
2006-09-07 18:08:00 +00:00
Hervé Poussineau
24ff7a71b4 Fix compilation
svn path=/trunk/; revision=23963
2006-09-07 17:55:51 +00:00
Hervé Poussineau
0d173915ac Correctly implement autochk, which now calls the ChkdskEx function in u{FS}.dll.
svn path=/trunk/; revision=23962
2006-09-07 17:54:23 +00:00
Hervé Poussineau
611b577fd6 Add a stub for FAT12/16/32 chkdsk
svn path=/trunk/; revision=23961
2006-09-07 17:44:08 +00:00
Hervé Poussineau
eb50899ee0 Declare prototype for ChkdskEx function in u{FS}.dll
svn path=/trunk/; revision=23960
2006-09-07 17:39:42 +00:00
Magnus Olsen
3387c46e16 fixed win32k build, trunks builds again thanks w3seek for the help
svn path=/trunk/; revision=23959
2006-09-07 17:35:31 +00:00
Hervé Poussineau
8f329a8565 Fix typo: _GNUC_ -> __GNUC__
svn path=/trunk/; revision=23958
2006-09-07 13:47:14 +00:00
Magnus Olsen
861ae4bcca fixed rosapps so it compiles again
svn path=/trunk/; revision=23957
2006-09-07 11:10:27 +00:00
Magnus Olsen
01acfd4778 fixed follow test, acclertor, alive, alphablend, bitblt, button, button2, capclock, carets, combotst, dibtest, dirdlg, DxHalTest, edit, enhmetafile, enumfonts, enumwnd, enumws, gradient, hello, hivtest, icontest, lineclip, linetest, mdi, midtest
svn path=/trunk/; revision=23956
2006-09-07 10:31:37 +00:00
Magnus Olsen
433252a084 fixed ctm, kill, lsdd, man, regexpl, tcat can be build again
svn path=/trunk/; revision=23955
2006-09-07 10:01:22 +00:00
Magnus Olsen
d6a960a884 fixed so packmgr builds again
svn path=/trunk/; revision=23954
2006-09-07 09:53:25 +00:00
Magnus Olsen
c410304d3c fixed waring msg newline
svn path=/trunk/; revision=23953
2006-09-07 09:46:50 +00:00
Magnus Olsen
d287153576 fixed all network apps in rosapps.
svn path=/trunk/; revision=23952
2006-09-07 09:42:17 +00:00
Magnus Olsen
e3d7c1e7aa 1. fixed mc build again
2. fixed some warnings

svn path=/trunk/; revision=23951
2006-09-07 09:17:39 +00:00
Johannes Anderwald
4d044a7f0d * fix building ntoskrnl
svn path=/trunk/; revision=23950
2006-09-07 09:06:47 +00:00
Magnus Olsen
a5ea7e70cd fixed gdb2 build thx hpoussin for the host info
svn path=/trunk/; revision=23949
2006-09-07 08:50:42 +00:00
Magnus Olsen
fa303561af fixed build for ddraw_demo
svn path=/trunk/; revision=23948
2006-09-07 08:29:06 +00:00
Magnus Olsen
e32b3e7588 fixed build for maze again
svn path=/trunk/; revision=23947
2006-09-07 08:26:54 +00:00
Magnus Olsen
b780b50b58 fixed build for touch again
svn path=/trunk/; revision=23946
2006-09-07 08:23:54 +00:00
Magnus Olsen
49b27aaae4 fixed mode can be compile again.
svn path=/trunk/; revision=23945
2006-09-07 08:20:29 +00:00
Magnus Olsen
bff34182eb update shlguid, remove the dublacte guid, winefiles can be build now again
svn path=/trunk/; revision=23944
2006-09-07 07:14:49 +00:00
Magnus Olsen
d6fbed40b0 include psdk shlguid.h
svn path=/trunk/; revision=23943
2006-09-07 07:13:07 +00:00
Magnus Olsen
e50296456b Fixed so explorer can be compiling again.
Have not tested with rest of reactos if this break any anything. 

svn path=/trunk/; revision=23942
2006-09-07 06:36:33 +00:00
Alex Ionescu
dd25974e25 - More MSVC fixes:
Additions or changes to headers: FSRTL_PER_FILEOBJECT_CONTEXT, FsRtlAreNamesEqual uses CONST buffers, KiIpiGenericCall + PKPIP_BROADCAST_WORKER, MmPageEntireDriver returns PVOID, Obf(De)referenceObject return LONG_PTR, KeGetPreviousMode is ExGetPreviousMode. KeGetCurrentPrcb is reimplemented in inline, MAX_PATH exposed to drivers.
- Changes: STATIC->static. static __inline ->FORCEINLINE. STDCALL -> NTAPI (Some). WORD/DWORD/BYTE -> NT Types.
- Kernel bugs fixed: Some string concatenations were broken, some functions had wrong return values.

svn path=/trunk/; revision=23941
2006-09-07 05:07:34 +00:00
Thomas Bluemel
17e434d5bd Add user32 to build notifyhook
svn path=/trunk/; revision=23940
2006-09-06 21:44:06 +00:00
Brandon Turner
80562db631 Link to shell32 so we can use CommandLineToArgvW when compiling unicode. Thanks to Usurp for finding the problem.
svn path=/trunk/; revision=23939
2006-09-06 21:17:23 +00:00
Johannes Anderwald
29a8ffa699 * add console.dll to bootcd
* add setting for unattended GUI setup (disabled)

svn path=/trunk/; revision=23938
2006-09-06 21:12:06 +00:00
Art Yerkes
e1ba8f15ae Fix this properly: specify the search path among our various header sets.
svn path=/trunk/; revision=23937
2006-09-06 20:58:02 +00:00
Art Yerkes
d7a2739bdf Ditto.
svn path=/trunk/; revision=23936
2006-09-06 20:31:11 +00:00
Art Yerkes
ec6a7a35c4 Added _fpreset prototype. Not sure why this isn't picked up here.
svn path=/trunk/; revision=23935
2006-09-06 20:30:28 +00:00
Thomas Bluemel
3c13ad4c32 Delete empty directory
svn path=/trunk/; revision=23934
2006-09-06 20:10:02 +00:00
Thomas Bluemel
02a7a31265 - Force using the import libraries built by ReactOS only, don't use the ones that come with the mingw compiler (doesn't work for CPP!)
- Import the mingw startup library and customized it a little. _tmain() is now supported, compiling an application as unicode is now just a matter of setting the module attribute unicode="true"
- Fixed .rbuild files to import all libraries neccessary
- Various GUID header changes and hacks to get everything to build/link properly
- Fixed the IShellView2 interface

svn path=/trunk/; revision=23933
2006-09-06 20:00:41 +00:00
Magnus Olsen
292bb9268e [Audlt] this file was written by filip for mingw w32sapi, and it contain few GUID from wine to keep wine dsound happy.
I did add the GUID from wine. 

svn path=/trunk/; revision=23932
2006-09-06 19:57:19 +00:00
Magnus Olsen
d009b08d81 [Audlt] this file was written by filip for mingw w32sapi and it same as mingw w32aspi,
svn path=/trunk/; revision=23931
2006-09-06 19:51:03 +00:00
Johannes Anderwald
753aa1c0e2 * halfplement reading / writing Console User settings
* remove hardcoded constants
* shuffle initialization code :-)
* changing console text / background color now works :-)))))))
* changing cursor works only for one input (needs be investigated)

svn path=/trunk/; revision=23930
2006-09-06 19:37:53 +00:00
Thomas Bluemel
7aae13b091 Fixed difference in signedness warnings
svn path=/trunk/; revision=23929
2006-09-06 19:28:35 +00:00
Thomas Bluemel
84269d7917 Fixed difference in signedness warnings
svn path=/trunk/; revision=23928
2006-09-06 18:59:30 +00:00
Aleksey Bragin
7f0a82ce58 Fix MSVC 2005 compilation (Platform SDK is correctly included)
svn path=/trunk/; revision=23927
2006-09-06 18:43:35 +00:00
Saveliy Tretiakov
1fc89de847 Some win32k docs (from win32k rewrite branch).
svn path=/trunk/; revision=23926
2006-09-06 16:31:03 +00:00
Alex Ionescu
f0af84da4e - MSVC Build Fixes
svn path=/trunk/; revision=23925
2006-09-06 12:19:00 +00:00
Magnus Olsen
173cb3c677 update it.rc languages translation by gabrielilardi at hotmail.it (Gabriel ilardi)
svn path=/trunk/; revision=23924
2006-09-05 20:46:24 +00:00
Saveliy Tretiakov
90759eb5a2 Call NtUserDrawCaption directly
svn path=/trunk/; revision=23923
2006-09-05 16:28:20 +00:00
Johannes Anderwald
4da1de7ca1 * msvc compiling fix
svn path=/trunk/; revision=23922
2006-09-05 10:14:40 +00:00
Brandon Turner
d6d0d40cad Implement CryptSignHashW based WINE and old CryptSignHashA. Change CryptSignHashA to call CryptSignHashW.
svn path=/trunk/; revision=23921
2006-09-04 22:51:28 +00:00
Hervé Poussineau
d5168c3b05 Allow allow lower case when being called
svn path=/trunk/; revision=23920
2006-09-04 22:16:43 +00:00
Hervé Poussineau
aa34958d1b Add a hack to enable formatting (was broken since at least r20156)
svn path=/trunk/; revision=23919
2006-09-04 21:58:38 +00:00
Johannes Anderwald
478f24b02b * use ConsoleInfo struct directly
* change type in global struct (avoid buffer overflow when reading value from registry)

svn path=/trunk/; revision=23918
2006-09-04 21:26:49 +00:00
Hervé Poussineau
94b07b79db Add ufat.dll, to be able to format drives to FAT and FAT32 format
svn path=/trunk/; revision=23917
2006-09-04 20:55:39 +00:00
Thomas Bluemel
7ed51f5c9e rename version.h to ver.h to avoid a possible conflict with include/reactos/version.h
svn path=/trunk/; revision=23916
2006-09-04 20:14:48 +00:00
Hervé Poussineau
90d5c19850 Remove Vfat(x)Initialize and Vfat(x)Cleanup which were empty
Remove vfatlib dependancy of fmifs.dll (Providers like ufat.dll are loaded dynamically at startup)

svn path=/trunk/; revision=23915
2006-09-04 19:27:19 +00:00
Hervé Poussineau
132cf4ece8 [FORMATTING] Add standard headers
Replace the mix of tabs/spaces by tabs
Replace STDCALL by NTAPI

svn path=/trunk/; revision=23914
2006-09-04 17:11:14 +00:00
Hervé Poussineau
4ba3312a81 Add prototypes for some fmifs.dll functions.
These have been found with trial and error on a MS Windows XP SP2 system with MS Visual Studio 2003

svn path=/trunk/; revision=23913
2006-09-04 16:46:13 +00:00
Hervé Poussineau
e094312326 Fix compilation of rosapps with gcc 3.4.5.
Thanks Gge on IRC

svn path=/trunk/; revision=23912
2006-09-04 16:29:00 +00:00
Johannes Anderwald
c12e6bbcba * move reading / applying options out of console.dll
* remove unused code
* notify win32csr when a property has changed

svn path=/trunk/; revision=23911
2006-09-04 13:13:42 +00:00
KJK::Hyperion
8ee7f4296b PSEH was based on clean-room reverse engineering (read: trial-and-error) and on the pre-existing work of Matt Pietrek, just like the exception handling code used in Wine. I, the author, declare it clean
svn path=/trunk/; revision=23910
2006-09-04 12:04:54 +00:00
James Tabor
ab4e2c9cf4 User32 bitmap.c:
- Patch by Michael Kaufmann
  - CopyImage: Handle the flags LR_COPYDELETEORG, LR_CREATEDIBSECTION, and LR_MONOCHROME.

svn path=/trunk/; revision=23906
2006-09-04 03:08:18 +00:00
James Tabor
76b17ae494 User32 combo.c:
- Patch by Dmitry Timoshkov
  - do not force repainting on WM_WINDOWPOSCHANGED in combobox, it
    breaks Z-order based painting.
  - do nothing in the combobox WM_ERASEBKGND handler do all painting in
    WM_PAINT like Windows does.


svn path=/trunk/; revision=23905
2006-09-04 03:03:14 +00:00
Magnus Olsen
09a8680165 Adding small hack to getting SetPixel color right when it is more that 3 bytes long.
This hack allown us pass one more test. (Debuging in progress)

svn path=/trunk/; revision=23904
2006-09-03 22:54:22 +00:00
Alex Ionescu
9fbb616938 - Final cleanup for now:
- main.c -> freeldr.c + cleanups and nice formatitng.
  - Move out variables that were in main.c to ex\init.c or cpu.c, depending.
  - Separate i386/kernel.c into i386/kiinit.c for X86-specific intiailization, and /krnlinit.c for portable initialization across all architectures. Also move out global variables appropriately.
  - main_asm.S -> cpu.S

svn path=/trunk/; revision=23903
2006-09-03 21:06:30 +00:00
Hervé Poussineau
00abb85d36 Reorder the file
Add some more defines/typdefs from Wine sspi.h
Fix a few typos

svn path=/trunk/; revision=23902
2006-09-03 21:02:09 +00:00
Alex Ionescu
c65323691c - Add Ke386SetInterruptDescriptorTable inlined function to set the IDT.
- Rename and fixup initial stacks, instead of using 16 different variables all with confusining meanings and values. Define P0BootStack as the initial kernel stack, and KiDoubleFaultStack as the double-fault trap (and initial DPC) stack.
- Fix call to KiInitializePcr which was setting an incorrect DPC stack.
- Make space on the initial stack for a KTRAP_FRAME as well, not only for the FPU save area.
- Also push initial CR0 NPX state on the initial stack.
- Load the IDT and GDT directly in KiRosPrepareForSystemStartup.
- Completely rewrite main_asm.S in Intel syntax and clean it up.

svn path=/trunk/; revision=23901
2006-09-03 19:57:55 +00:00
Aleksey Bragin
4eebe5e53f Add comptypeDIB definition to headers
svn path=/trunk/; revision=23900
2006-09-03 19:38:16 +00:00
Magnus Olsen
7fe1969532 Fixed one more bug, we did create wrong bpp if we got HDC = NULL for CreateDIBitmap, when I read wine code
it is always 1Bpp and 1Plans and we are doing same now if HDC is NULL, some wine test deepness on it. 
Hopply it will take care of some program problem. 

svn path=/trunk/; revision=23899
2006-09-03 18:16:08 +00:00
Alex Ionescu
c6f105da0b - Add Ke386SetFs, Ds, Es (using Ke386SetSeg) and Ke386SetTr new inlined commands.
- Also setup an NMI Task gate after the double fault task gate. Will be useful when we hand to handle NMIs later.
- Setup FS in KiSystemStartup and initialize the TSS before the PCR. Also add a bit more support for SMP systems (To skip boot-cpu-only initialization).
- Also setup DS/ES directly in KiSystemStartup.
- Initialize KD at phase 0 in KiSystemStartup, not in KiInitializeKernel, and also check for debug break at this time.

svn path=/trunk/; revision=23898
2006-09-03 17:18:08 +00:00
Hervé Poussineau
25090facc3 Allow setup to detect extended partitions
svn path=/trunk/; revision=23896
2006-09-03 12:32:15 +00:00
Alex Ionescu
d8155f97a7 - Remove LDT initialization, LDT shouldn't be initialized at bootup.
- Move LDT-only GDT routines to ldt.c
- Cleanup formatting of GDT-related exported function stubs in gdt.c and rename file to abios.c. Those routines deal specifically with the ABIOS GDT selectors and are for ABIOS support.
- Move the lone 2 routines in fpu.c to cpu.c.

svn path=/trunk/; revision=23895
2006-09-03 07:13:02 +00:00
Alex Ionescu
6b42f391e0 - Fix KTSS definition.
- Add GetSegment inlines (ie: GetSs, GetDs, etc)
- Fix up definition of KiBootGdt to use KGDTENTRY instead of USHORT. Also define KiGdtDescriptor using KDESCRIPTOR.
- Remove GDT initialization code completely. The GDT is already initialized on boot.
- Remove tss.c and add KiInitializeTss(2) to setup a TSS and proper IOPM/Interrupt Direction map settings for V86/VDM.
- Copy the TSS code over but prettyify it to use NT/NDK structures instead of ugly USHORT typecasts.

svn path=/trunk/; revision=23894
2006-09-03 06:51:03 +00:00
Magnus Olsen
00f50dd922 Fixed some more wine test for NtGdiGetDIBits
FIxed so we can now create BITMAPCOREHEADER bitmap (Bugs in NtGdiGetDIBits did stop create of it) 



svn path=/trunk/; revision=23892
2006-09-02 23:58:53 +00:00
Magnus Olsen
7aa07b393c 1. Copy DIB_GetBitmapInfo from wine cvs (date 2/9-2006)
2. Bugfix NtGdiGetDIBits the BITMAPCOREHEADER is not same as BITMAPINFOHEADER
   we now separate it in if(Bits==NULL) that will allow us pass two more wine tests
   follow winetest is working now 
   1. bitmap.c 227 Test failed: GetDIBits doesn't work with a BITMAPCOREHEADER 
   2. bitmap.c 233 GetDIBits doesn't work with a BITMAPCOREHEADER 
   both of them are fixed now 

svn path=/trunk/; revision=23891
2006-09-02 21:02:03 +00:00
Aleksey Bragin
7bfe48177c Separate Device Manager code (what was left from it in hub.c) from Hub code
svn path=/trunk/; revision=23890
2006-09-02 20:32:50 +00:00
Alex Ionescu
252a2d1598 - Part 2 of 2: Implement KiDispatchInterrupt in assembly since it's 1) Perf-critical 2) Requires us to switch the stack to the DPC stack, which is unsafe (and impossible, unless inlining) in C.
svn path=/trunk/; revision=23889
2006-09-02 19:53:24 +00:00
Alex Ionescu
0f9c7bdf03 - Part 1.5 of 2: Re-factor KiDispatchInterrupt to separate DPC delivery routine (so that it can stay in C, since KiDispatch should be done in ASM so we can switch stacks).
- Use interrupt enable/disable instead of raising to HIGH_LEVEL.
  - Better use and pairing of locks.
  - Fix a lot of race conditions in DPC dispatching, due to the fact almost all data we're touching is ultra-volatile and can change at any time depending on various locks being held/released + interrupt state.
  - Add stub code/support for tick-hased table-based timer implementation and deferred threads.

svn path=/trunk/; revision=23888
2006-09-02 19:12:31 +00:00
Alex Ionescu
7802140549 - Fix a bug in RtlFillMemory.
- Fix overlap check comments.

svn path=/trunk/; revision=23887
2006-09-02 16:36:48 +00:00
Alex Ionescu
38ca1d7d77 - Add missing volatile statements to KPROCESS, KTHREAD, KPRCB and KDPC_DATA.
- Fix KDPC definition in DDK. You can always count on the w32api to get even the simplest structures wrong.
- Fix memory overwrite bug in KiInitSpinlocks.
- Part 1 of 2: Cleanup and improve DPC implementation to add partial support for Threaded DPCs and remove SMP vs non-SMP ifdefs. (At the expense of, oh God, 5 wasted CPU cycles!).

svn path=/trunk/; revision=23886
2006-09-02 16:19:00 +00:00
Aleksey Bragin
ea0c0daec0 Add forgotten "xs-native.cpp" to the MSVC project of ROS Explorer
svn path=/trunk/; revision=23885
2006-09-02 11:27:36 +00:00
The Wine Synchronizer
99b4a1d7ee Autosyncing with Wine HEAD
svn path=/trunk/; revision=23883
2006-09-02 06:27:09 +00:00
The Wine Synchronizer
8dff62e1f8 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23882
2006-09-02 06:24:20 +00:00
Alex Ionescu
aa69c69afb - Move machine-specific initializations to KeInit2.
- Initialize bugcheck messages much earlier, separate clock initialization from KeInit2.
- Completely move out and isolate ROS/FREELDR PE loading hacks to KiRosPrepareForSystemStartup so that KiSystemStartup is clean of them.

svn path=/trunk/; revision=23881
2006-09-02 05:10:16 +00:00
Alex Ionescu
ea01969067 - More Initialization changes:
- Initialize bugcheck lists, timer DPC, profile list/locks, timer lists, the swap lists and syscall table as part of KiInitSystem (portable).
   - Add more initialization for the initial/idle process+thread (some code disabled due to dispatcher problems).
   - Add code to support future Timer implementation (based on tick-hashes)
   - Separate post-boostrap initialization code in KiInitializeKernel.
   - Add some support for future SMP paths.
   - Create a DPC stack.
- Changes based on WI4 and my automated parsing tool.

svn path=/trunk/; revision=23880
2006-09-02 04:40:09 +00:00
Alex Ionescu
deed4ed0d6 - More kernel initialization changes and cleanups.
- Start support for an initial boot thread.

svn path=/trunk/; revision=23879
2006-09-02 02:59:44 +00:00
Thomas Bluemel
dbf97f3b50 Fix creating the console system menu items
svn path=/trunk/; revision=23878
2006-09-01 23:18:23 +00:00
Hervé Poussineau
c2d18fb0b6 Add softpub.h header
svn path=/trunk/; revision=23877
2006-09-01 23:06:32 +00:00
The Wine Synchronizer
abb022f081 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23876
2006-09-01 22:47:57 +00:00
Hervé Poussineau
e1d577c47c Add a stub sensapi.dll. This is a step to fix bug 1751
svn path=/trunk/; revision=23875
2006-09-01 22:41:31 +00:00
Hervé Poussineau
43d85c0abc Add some error codes (taken from Wine)
svn path=/trunk/; revision=23874
2006-09-01 22:10:56 +00:00
Thomas Bluemel
00c354405e Don't call BeginPaint/EndPaint while processing a WM_DRAWITEM message
svn path=/trunk/; revision=23873
2006-09-01 21:53:31 +00:00
Thomas Bluemel
c474673ac7 disable code that dereferences a random pointer
svn path=/trunk/; revision=23871
2006-09-01 18:56:06 +00:00
Thomas Bluemel
13e3041822 Don't leak a reference in NtReleaseSemaphore() in case KeReleaseSemaphore() raises and exception
svn path=/trunk/; revision=23870
2006-09-01 18:41:00 +00:00
Thomas Bluemel
4a586b2eb2 remove superfluous dereference
svn path=/trunk/; revision=23869
2006-09-01 18:20:44 +00:00
Ged Murphy
61059050bb - Use a more generic print service
- don't assign a service name at the start as it causes problems when query(ex) doesn't supply one.
- Simplify the service starting code.
- Add missing options to the print type
- rewrite the querying functionality to be cleaner, and use existing code.
- remove the braces I left, used for collapsing dbg info

svn path=/trunk/; revision=23868
2006-09-01 16:55:36 +00:00
Eric Kohl
9e843c89fc Fix indentation, no code changes.
svn path=/trunk/; revision=23867
2006-09-01 15:49:50 +00:00
Alex Ionescu
a85e942346 - More initialization cleanup.
svn path=/trunk/; revision=23866
2006-09-01 13:13:08 +00:00
Hervé Poussineau
562f8391e8 Fix build when compilation units are enabled for usetup.c
svn path=/trunk/; revision=23865
2006-09-01 12:58:56 +00:00
Alex Ionescu
5244a29dad - Fix bugs in RtlCompareMemory, RtlCompareMemoryULong
svn path=/trunk/; revision=23864
2006-09-01 12:38:57 +00:00
Eric Kohl
6b8b0b56b2 Remove trailing whitespace
svn path=/trunk/; revision=23863
2006-09-01 11:16:32 +00:00
Hervé Poussineau
f05d1bb617 Fix option selection in bootcd
Fix SetupOpenFileQueue, SetupCloseFileQueue and SetupCommitFileQueueW prototypes to match setupapi.dll ones

svn path=/trunk/; revision=23862
2006-09-01 09:53:33 +00:00
Alex Ionescu
30f4d83978 - Add back defines accidentaly removed.
svn path=/trunk/; revision=23854
2006-09-01 03:19:25 +00:00
Alex Ionescu
ad9fdb1ae3 - Fix bug in RtlZero, Fill, Move memory where the last 1-3 bytes weren't being copied.
svn path=/trunk/; revision=23853
2006-09-01 03:15:32 +00:00
Alex Ionescu
369f93b984 - Multiple changes to low-level Kernel initalization sequence to bring it a bit closer to Windows.
- Main difference is new CPU detection algorithms for ID, cache, etc, as well as using KF_ Kernel Feature bits instead of x86 CPU features (For portability).
- Also many many other cleanups and re-sequencing.

svn path=/trunk/; revision=23852
2006-09-01 03:05:30 +00:00
Ged Murphy
3c411c196d forgot to turn debugging off
svn path=/trunk/; revision=23850
2006-08-31 22:51:28 +00:00
Alex Ionescu
01081d279e - Some cleanups
- Add support for recovering from user-mode win32k callback fault.
- Also add support for debug register saving/reloading during user-mode callbacks and return.

svn path=/trunk/; revision=23849
2006-08-31 18:10:11 +00:00
Ged Murphy
158e4c116a first commit of an overhaul of sc.exe
- establish a connection to the SCM for each separate request, allowing the minimum privlidges required, instead of a generic (over privlidged) one.
- start to move service printing to separate functions and reduce code duplication
- make output 100% as per Windows
- fix some commands, e.g. 'interrogate'
- improve error checking
- improve code structure

svn path=/trunk/; revision=23848
2006-08-31 17:59:02 +00:00
Eric Kohl
8537a75fba Pass additional arguments to a service when it is started by a call to StartService.
svn path=/trunk/; revision=23846
2006-08-31 17:16:19 +00:00
Alex Ionescu
5a633f8fc9 - Remove some deprecated code and custom ROS exports/code.
svn path=/trunk/; revision=23845
2006-08-31 17:10:58 +00:00
Thomas Bluemel
87ab1c53a7 Add stubs for the condition variable functions
svn path=/trunk/; revision=23844
2006-08-31 16:56:49 +00:00
Aleksey Bragin
26b82125e5 Change a very ugly done DbgPrint() function to a good implementation. Now Freeldr shows all DPRINTs from e.g. cmlib correctly.
svn path=/trunk/; revision=23843
2006-08-31 16:08:17 +00:00
Aleksey Bragin
5cd8b68023 Sylvain Petreolle: Partly fix unicode build of cmd (a typo)
svn path=/trunk/; revision=23842
2006-08-31 14:14:42 +00:00
Hervé Poussineau
02d5b53e84 Add ATTACH_PARENT_PROCESS constant
svn path=/trunk/; revision=23841
2006-08-31 14:11:33 +00:00
Hervé Poussineau
1ebc320243 Remove some code duplication when calling PopupError
Add ConAttachConsole stub

svn path=/trunk/; revision=23840
2006-08-31 12:35:39 +00:00
Hervé Poussineau
8b597b0970 Fix build for Linux people, where gcc claims that it doesn't support I64 for printf. Thanks Usurp on IRC
svn path=/trunk/; revision=23839
2006-08-31 12:31:34 +00:00
Hervé Poussineau
ed70ab7f26 Fix Linux build (filename case problem...) Thanks gregj on IRC
svn path=/trunk/; revision=23837
2006-08-31 11:09:05 +00:00
Hervé Poussineau
cc2684d474 Cleanup in .inf file handling of usetup:
- Equivalent setupapi functions have the same protoype as in Win32 API
- Extra functions have the INF_* prefix

svn path=/trunk/; revision=23836
2006-08-31 09:13:03 +00:00
Hervé Poussineau
f52bca045b Clean up console functions in usetup. We now have 2 categories:
- The same functions as in Win32 Console API, prefixed with Con
- The helpers (which call Con* functions) prefixed with CONSOLE_
Do according changes in other files

svn path=/trunk/; revision=23834
2006-08-31 06:14:25 +00:00
Alex Ionescu
e870b20916 - Don't do fast system calls with the wrong DS/ES selectors.
- Properly load DS/ES on system startup and GDT load
- Use proper DS/ES during deprecated IRQ handling.
- Always use GS as 0 for all of the above.
- *FINALLY* fixes the oldest bug there ever was -> DS/ES corruption noticed in VMWare (And recently in QEMU+KERNELKQEMU, since it behaves internally like vmware). Hacks in trap code have FINALLY been removed!

svn path=/trunk/; revision=23833
2006-08-31 05:25:58 +00:00
Alex Ionescu
d2ba2fdc17 - Implement more parts of the GPF Handler.
- Add support for lazy loading.
- QEMU + -kernel-qemu seems to work now.
- Hack away the Win32k bug that's been there for ages (copy to user-mode from kernel-mode failing due to probe due to incorrect previous mode). It's not the right fix, but nobody seems to be willing to fix it, and it doesn't make anything less stable, sicne the actually copy is in SEH anyway. It opens a security vuln. (wow, not like we have 15000) in exchange for fixing dozens of win32k bugs and failures.

svn path=/trunk/; revision=23832
2006-08-31 04:10:33 +00:00
Pablo Borobia
e82f58c755 Testing commit
svn path=/trunk/; revision=23831
2006-08-31 03:12:14 +00:00
Alex Ionescu
e4e58dde50 - Write new, optimized, small, working and clean functions (fixes booting, last few commits broke it for me):
- RtlCompareMemory
    - RtlCompareMemoryUlong
    - RtlFillMemory
    - RtlFillMemoryUlong
    - RtlFillMemoryUlongUlong
    - RtlMoveMemory
    - RtlZeroMemory
    - RtlPrefetchMemoryNonTemporal
    - RtlUshortByteSwap
    - RtlUlongByteSwap
    - RtlUlonglongByteSwap

svn path=/trunk/; revision=23830
2006-08-31 01:20:55 +00:00
Thomas Bluemel
5b8d955fb7 Fix difference in signedness warnings
svn path=/trunk/; revision=23829
2006-08-30 21:47:38 +00:00
Thomas Bluemel
1fcf9ceba0 Use the new ProbeForWriteIoStatusBlock macro
svn path=/trunk/; revision=23828
2006-08-30 21:45:17 +00:00
Thomas Bluemel
176e324621 - Fix some probing macros
- Add probing macros for IO_STATUS_BLOCK structures
- Added two inline functions ProbeArrayForRead() and ProbeArrayForWrite(), mainly for use in win32k as they also check for integer overflows.

svn path=/trunk/; revision=23827
2006-08-30 21:44:12 +00:00
Magnus Olsen
0d6e03c305 Wrote RtlUshotByteSwap RtlUlongByteSwap and RtlUlonglongByteSwap to asm code.
but we need a C api for header to linking it right. Put the asm version to i386 

svn path=/trunk/; revision=23826
2006-08-30 21:17:53 +00:00
Thomas Bluemel
73120d4d50 Revert r23824. This needs to go into the clipboard branch for now.
svn path=/trunk/; revision=23825
2006-08-30 20:59:32 +00:00
Pablo Borobia
0effbf25dc * added GetLayout definition
* added Clipboards definitions
* added GetLastInputInfo definition

svn path=/trunk/; revision=23824
2006-08-30 20:56:17 +00:00
Thomas Bluemel
a65807043a Revert r23810, r23811, r23813. The clipboard changes are in the clipboard branch for now.
svn path=/trunk/; revision=23823
2006-08-30 20:40:07 +00:00
Hervé Poussineau
15d6307da5 mpr.dll can now be autosynced with Wine
svn path=/trunk/; revision=23822
2006-08-30 20:37:56 +00:00
Ged Murphy
08ecb38f3b update msi wine regtest
svn path=/trunk/; revision=23821
2006-08-30 20:37:49 +00:00
Ged Murphy
0ce8d02acc update comctl32 winetest
svn path=/trunk/; revision=23818
2006-08-30 20:28:33 +00:00
Hervé Poussineau
42b655b8f9 avifil32.dll can now be autosynced with Wine
svn path=/trunk/; revision=23816
2006-08-30 20:16:11 +00:00
Hervé Poussineau
85bfb7d006 wineimport.cmd (>= r23814) is now able to handle msi.dll autosync. Mark it as such.
svn path=/trunk/; revision=23815
2006-08-30 20:01:42 +00:00
Pablo Borobia
fc86ed2df2 * Added more clipboard regression tests
svn path=/trunk/; revision=23813
2006-08-30 19:46:40 +00:00
Hervé Poussineau
4c7a515ebc Add msi_ros.diff
svn path=/trunk/; revision=23812
2006-08-30 19:41:09 +00:00
Pablo Borobia
38bee199b7 shel32.dll part:
* Clipboard implemtation in win32k and user32
* Added a clipboard system for each Window Station
* GetLastInputInfo implementation
* GetLayout in win32k Stubs
* Shell32 changes to cut/copy & paste link/paste
* Implemented ALT+PrintScreen to clipboard

svn path=/trunk/; revision=23811
2006-08-30 19:35:54 +00:00
Pablo Borobia
5a624910f1 user32.dll part:
* Clipboard implemtation in win32k and user32
* Added a clipboard system for each Window Station
* GetLastInputInfo implementation
* GetLayout in win32k Stubs
* Shell32 changes to cut/copy & paste link/paste
* Implemented ALT+PrintScreen to clipboard

svn path=/trunk/; revision=23810
2006-08-30 19:35:22 +00:00
Alex Ionescu
3d10f77c92 - It should now be safe to remove the V86 ESP0 hack, since V86 mode works fine (tested on VMWare/QEmu).
svn path=/trunk/; revision=23809
2006-08-30 19:29:16 +00:00
Hervé Poussineau
21aef1a7a7 Update MSI to current Wine version.
Autosync will be put in place very soon for this dll.

svn path=/trunk/; revision=23808
2006-08-30 19:24:26 +00:00
Ged Murphy
6d52441d10 [WINESYNC]
update comctl32 to Wine_0.9.20

svn path=/trunk/; revision=23807
2006-08-30 19:18:49 +00:00
Thomas Bluemel
900bf1a753 Implement Slim Reader/Writer (SRW) locks:
- Implement AcquireSRWLockExclusive(), AcquireSRWLockShared(), InitializeSRWLock(), ReleaseSRWLockExclusive(), ReleaseSRWLockShared()
- NOTE: Some versions of GCC have a code generation bug with specially aligned structures on the stack. If compiled with such a compiler, the code might trigger special assertions. Pushlocks are also affected by this compiler bug.
- NOTE: The algorithms are most likely not the same as in Windows. Applications are supposed to treat the lock variables as opaque data, therefore it shouldn't matter.

svn path=/trunk/; revision=23806
2006-08-30 19:02:42 +00:00
Hervé Poussineau
538082297d Fix MsiGetFeatureStateA/W and MsiGetComponentStateA/W prototypes
svn path=/trunk/; revision=23805
2006-08-30 18:08:21 +00:00
Magnus Olsen
ec839eb8e2 Kill inline asm code compete in RtlUlongByteSwap for it doing swap wrong.
we go back using the C version. Thanks Fireball  

svn path=/trunk/; revision=23804
2006-08-30 17:51:36 +00:00
Alex Ionescu
7ea78797f2 - Fix KeRaiseUserException (can't use "return" from SEH_HANDLE).
svn path=/trunk/; revision=23803
2006-08-30 17:01:58 +00:00
Alex Ionescu
5fc996c43e - Some fixes to KiDispatchException: Add support for forwarding exception back to user-mode, protect against V86 or invalid-stack faults, handle stack overflow exception while handling usermode exception (Thanks KJK for the SEH_FILTER help). Decrement EIP by one when hitting an INT3, to get the correct address.
- Remove two associated kernel fun entries.

svn path=/trunk/; revision=23802
2006-08-30 16:58:12 +00:00
Eric Kohl
99e4b3809f - fix indentation and remove trailing whitespace
- StartServiceA/W: terminate argument buffer with a double zero.

svn path=/trunk/; revision=23801
2006-08-30 10:53:37 +00:00
Hervé Poussineau
a301256472 Add missing includes in .rc file
Sort them in alphabetical order

svn path=/trunk/; revision=23800
2006-08-30 10:40:59 +00:00
Magnus Olsen
0b5c566337 Implement RtlRandomEx by copy RtlRandom code.
ms have two different implement, One random is faster that other, (in some doc I read (maybe from osr) some year ago),  the RtlRandomEx  is not document in the free ddk/sdk, but it is include in ddk/ifs kit, according the doc. 

svn path=/trunk/; revision=23799
2006-08-30 10:13:01 +00:00
Johannes Anderwald
5a487c19e7 * remove useless cast
svn path=/trunk/; revision=23798
2006-08-30 09:45:08 +00:00
Johannes Anderwald
29b76a30a2 - fix definition of FONTENUMPROC
svn path=/trunk/; revision=23797
2006-08-30 09:17:47 +00:00
Alex Ionescu
841fa5cc41 - Update kernel fun.
svn path=/trunk/; revision=23796
2006-08-30 06:56:06 +00:00
Alex Ionescu
1b0f8e7e81 - Implement RtlCaptureStackBackTrace and RtlWalkFrameChain and add definitions to ntifs.h
- Get rid of KeRosGetStackFrames and replace usage by RtlWalkFrameChain or RtlCaptureStackBackTrace, depending.
- Remove this entry from Kernel Fun.

svn path=/trunk/; revision=23795
2006-08-30 06:52:10 +00:00
Alex Ionescu
a9bb1c6668 - Add about two dozen new bugcheck codes and strings.
- Major cleanup of exp.c to move out deprecated and old code.
- Use KdDebuggerNotPresent to determine if KDBG is there or not. KdDebuggerEnable is now set whenever booting with debugging -- even if only serial port or screen debugging.
- Complete cleanup and major rewrite/improvement of bugcheck code:
  - Moved stack dump routines to bug.c and cleaned them up. Next step is to remove most of them and implement them properly as part of RtlCaptureStackBackTrace and RtlWalkFrameChain.
  - Use InbvDisplayString for everything now. BSODs will only truly show on screen. (however, part of the KeBugCheckWithTf improvements, a special "if debugger enabled" BSOD will also be displayed for debugging purposes).
  - Do checksum calculation in bugcheck callbacks.
  - Detect and display which drivers belong to which EIP.
  - Implemented code to select the proper verbose BSOD message depending on the bug check code.
  - Also implemented code to detect a variety of "known" bug check codes and to recover more data on them, and/or modify them accordingly. Sadly ROS doesn't yet make use of most of these codes.
  - Factored out and split some code into individual routines.
  - Look and functionality is now identical to Windows XP.
  - Stack trace will only be shown if KDBG isn't connected. If KDBG is connected you can do "bt" anyway (which is more powerful).

svn path=/trunk/; revision=23794
2006-08-30 05:22:56 +00:00
Alex Ionescu
655e78f3cc - Jesus Christ... will Hell freeze over before someone finally listens and implements a proper PE loader in Freeloader?
svn path=/trunk/; revision=23793
2006-08-30 01:22:41 +00:00
Hervé Poussineau
ab77204ef9 Implement RegNtPreEnumerateValueKey/RegNtPostEnumerateValueKey registry callbacks.
Add missing callbacks in some paths
Fix a few typos

svn path=/trunk/; revision=23792
2006-08-29 23:01:52 +00:00
Brandon Turner
7b27e1c573 Better rand() implementation. This should fix the problem where you get 0 every time you use rand()
svn path=/trunk/; revision=23791
2006-08-29 22:27:48 +00:00
Magnus Olsen
0a5a03e8d1 found more inline asm.
1. move all inline asm to folder i386
2. to do : seh.s should be rewrites to intel syntax 
3. to do : almost all c files in folders i386 need be convert to true asm instead using inline asm 
4. add dection for x86 arch in rbuild for each found I have done 


svn path=/trunk/; revision=23790
2006-08-29 19:14:18 +00:00
Magnus Olsen
d43aed9f5c Audult : code is from djgpp most of it, ReactOS own code is like two line long
svn path=/trunk/; revision=23789
2006-08-29 19:10:12 +00:00
Magnus Olsen
f4b5816b23 [Audut] clean, after locking at the header I can see clear they comes from wine/djgpp with small changes in some headers that is ros specify.
svn path=/trunk/; revision=23788
2006-08-29 18:31:06 +00:00
Magnus Olsen
40e426cce5 Detect i386 asm code for setjump (we only have one asm version I add arch dections for it in rbuild
svn path=/trunk/; revision=23787
2006-08-29 18:03:24 +00:00
Magnus Olsen
3c0cd4da37 1. Rewote atan.c to pure asm
2. Rewote log10 to pure asm
3. Delete unuse c/asm files like ceil, cos, fabs, flor, sin, sqrt, and tan 
4. Switch to rtl asm version of pow 
5. Follow need be convert to asm atan2, exp, fmod, ldexp
6. Follow need c version  atan2, exp, fmod, ldexp, atan, log10, pow
7. Add i386 arch dections in rbuild for asm/inline asm so we using only i386 asm on x86 cpu 
 

svn path=/trunk/; revision=23784
2006-08-29 17:51:13 +00:00
Alex Ionescu
8453270af7 - Implement GetSideSidFromToken. Patch by Grzegorz Jaśkiewicz.
svn path=/trunk/; revision=23781
2006-08-29 15:22:53 +00:00
Magnus Olsen
ae4f64c515 Copied remotely
svn path=/trunk/; revision=23780
2006-08-29 15:08:14 +00:00
Magnus Olsen
cbab61db9c Copied remotely
svn path=/trunk/; revision=23779
2006-08-29 15:08:10 +00:00
Magnus Olsen
2a1e87e35e Copied remotely
svn path=/trunk/; revision=23778
2006-08-29 15:08:01 +00:00
Magnus Olsen
99dfca5a2c Copied remotely
svn path=/trunk/; revision=23777
2006-08-29 15:07:57 +00:00
Magnus Olsen
aff35f6703 Copied remotely
svn path=/trunk/; revision=23776
2006-08-29 15:05:07 +00:00
Magnus Olsen
ec9e57b10e Copied remotely
svn path=/trunk/; revision=23775
2006-08-29 15:04:58 +00:00
Magnus Olsen
261a9da3bd Copied remotely
svn path=/trunk/; revision=23774
2006-08-29 15:03:41 +00:00
Magnus Olsen
9f6a6f34c0 Copied remotely ceil from rtl to crt/math/i386
svn path=/trunk/; revision=23773
2006-08-29 15:02:41 +00:00
Magnus Olsen
2934b1b61e Created folder remotely
here we prepare copy asm version of math api from rtl asm version

svn path=/trunk/; revision=23772
2006-08-29 15:01:19 +00:00
Magnus Olsen
a260e8be5d add back change long to long_ptr change did not think about it was correct thx hpussin
svn path=/trunk/; revision=23771
2006-08-29 14:25:55 +00:00
Magnus Olsen
eda0d576b0 revert 23768 for this member does not exists in psdk or ddk in windows.
and that reason is it wrong. I told the author of the patch on the irc 
this changes was wrong. 

svn path=/trunk/; revision=23770
2006-08-29 14:13:42 +00:00
Christoph von Wittich
3a3cd44034 fix indentation
svn path=/trunk/; revision=23769
2006-08-29 13:01:47 +00:00
Hervé Poussineau
4b05210f15 Add some missing SIDs. Fix bug 1772.
See http://www.msfn.org/board/lofiversion/index.php/t43597.html for the list of authorities

svn path=/trunk/; revision=23768
2006-08-29 11:27:50 +00:00
Hervé Poussineau
f4763c0ce0 Fix bug 1770. Patch by Grzegorz Jaskiewicz
svn path=/trunk/; revision=23767
2006-08-29 11:02:08 +00:00
Magnus Olsen
2cac0acc13 put in if define i386 for asm version of cos, sin, atan2, floor, ceil we do not have a C version of those commands in rbuild file
svn path=/trunk/; revision=23766
2006-08-29 08:28:50 +00:00
Alex Ionescu
28122cd8d9 - Complete and utter reimplementation of V86 Mode for Ke386CallBios. Details below. Tested on QEMU/VMWARE. May give you a breakpoint/crash on real hardware - please let me know the V86 opcode displayed on the debug log/screen if this is the case *if you see such a message*.
- Got rid of all the previous related assembly code and implemented Ki386SetupAndExitToV86Mode and Ki386BiosCallREturnAddress.
- Implemented GPF (Trap 13) code for V86 faults (which will happen in V86 mode). Implement a generic Ki386HandleOpcodeV86 handler that increments counts and calls the right opcode handler.
- Implemented an Opcode Table Entry Index and Opcode Table array for mapping opcodes that caused a GPF to their V86 handlers/emulators.
- Implemented handlers for PUSHF, POPF, CLI, STI, IRETD and INTnn, which is what QEMU/VMWare and *most* VIDEO ROM BIOS code should use.
- Created a /vdm tree and moved all NTVDM/VDM specific code there.
- Halfplemented VdmStart/EndExecution APIs which the BIOS ROM V86 implementation is built upon. Currently don't handle VDM at all, only this V86 mode.
- Also added code for NtVdmControl and fixed up CSRSS and ACPI's calls to this API.
- Added detection and FIXMEs for support of VMEs in VMWare, Bochs and real hardware (VME is not yet supported).
- Move exp.c fixmes to krnlfun and remove kernel fun entries that this patch fixes.

svn path=/trunk/; revision=23763
2006-08-28 23:56:35 +00:00
Alex Ionescu
9d1c606794 [AUDIT] - Our CSRSS implementation is too different and incompatible for NT to have possibly been done through non-clean methods. Clean methods were probably not even used, except for reading documentation, since most of the code seems to be based on guesses and original implementations. (As a simple example, NT's CSRSS is 4kb, with all actions done by a server DLL. ROS has none of this).
svn path=/trunk/; revision=23762
2006-08-28 23:55:50 +00:00
Thomas Bluemel
d5f1f3ceca Move the __ALIGNED attribute to the correct position in the definition of EX_PUSH_LOCK_WAIT_BLOCK
svn path=/trunk/; revision=23761
2006-08-28 20:20:03 +00:00
Ged Murphy
96ff7d566c couple of minor fixes.
svn path=/trunk/; revision=23760
2006-08-28 19:33:28 +00:00
Thomas Bluemel
ca9ef93e32 "Fix" using an uninitialized variable (line 950) in lines 1334-1337. Yes I'm back, for now!
svn path=/trunk/; revision=23759
2006-08-28 18:15:46 +00:00
Johannes Anderwald
6e015da993 * fix another typo :-)
svn path=/trunk/; revision=23758
2006-08-28 07:13:40 +00:00
Magnus Olsen
c8385edeec fixing the spelling english spelling thanks mifritscher to notice it.
svn path=/trunk/; revision=23757
2006-08-27 22:20:33 +00:00
Magnus Olsen
18adfbcd79 Commit one part from big patch from Pablo Borobia (pborobia at gmail dot com) he is done the clipboard project
1. implement detail show for network. 

Magnus Olsen (me) aka GreatLord
I did review ncpa changes, he did only forget free the memory when detail propers was exit. I set erly style on file
that was not set. I also update most .rc so they contain the english res text. please translators translate this. 



svn path=/trunk/; revision=23756
2006-08-27 21:44:53 +00:00
Hervé Poussineau
becdf59777 Add French and Bengali resources to build
Sort files by alphabetical order

svn path=/trunk/; revision=23755
2006-08-27 20:56:34 +00:00
Hervé Poussineau
ffc884d4ca Add guard to prevent multiple inclusions (not used yet)
svn path=/trunk/; revision=23754
2006-08-27 20:23:26 +00:00
Johannes Anderwald
a5d8d20855 * improve error checking (by hpoussin)
* use correct CLSID -> now auto-start apps from %ALLUSERSPROFILE% can be started too

svn path=/trunk/; revision=23753
2006-08-27 20:01:14 +00:00
Johannes Anderwald
fbfe8c9245 * auto-start apps in autostart folder
* currently only works for current user
* SHGetFolderPathW CSIDL_ALTSTARTUP fails (All Users\...)

svn path=/trunk/; revision=23752
2006-08-27 19:22:48 +00:00
Christoph von Wittich
d3112a4a86 added vdmdbg.dll to bootcd
svn path=/trunk/; revision=23751
2006-08-27 19:08:20 +00:00
Johannes Anderwald
a80ab420d2 * fix warning
* set svn-eol-style native

svn path=/trunk/; revision=23750
2006-08-27 18:14:53 +00:00
Magnus Olsen
1a375085e9 reapplay rev 23614, it we have now russain letters and other contrus special letters.
The bug I experis before was reletate to ntoslnrl and is complete gone. I have now reboot and boot around 10-20 times
and run same program. But we see all unicode -> ansi problem with this change if u select russan in reactos 

svn path=/trunk/; revision=23749
2006-08-27 16:51:11 +00:00
Hervé Poussineau
43eef84aa9 Set user locale at login. User interface may now be (again) in other languages than English
svn path=/trunk/; revision=23747
2006-08-27 15:18:20 +00:00
Magnus Olsen
217e03e8e8 sorry wrong version
svn path=/trunk/; revision=23746
2006-08-27 14:55:31 +00:00
Magnus Olsen
a962c1d8c0 fix a crash in quake
svn path=/trunk/; revision=23745
2006-08-27 14:53:32 +00:00
Christoph von Wittich
0d7f6179b7 forgot to commit these files
svn path=/trunk/; revision=23744
2006-08-27 14:20:17 +00:00
Christoph von Wittich
5a6172f875 added LiveCDRegTest and BootCDRegTest targets
svn path=/trunk/; revision=23743
2006-08-27 13:28:23 +00:00
Christoph von Wittich
454bef01db renamed isoboot_regtest.asm to isobtrt.asm to comply with ISO-9660 standard
svn path=/trunk/; revision=23742
2006-08-27 13:26:43 +00:00
Klemens Friedl
b32b0a47c8 samba-tng: update the description
svn path=/trunk/; revision=23741
2006-08-27 12:28:22 +00:00
Christoph von Wittich
ec61eadeca * added bootloader which can be used for automated regression tests using buildbot
svn path=/trunk/; revision=23740
2006-08-27 11:59:01 +00:00
Christoph von Wittich
1424ff8a8c added GetSiteSidFromToken stub
svn path=/trunk/; revision=23739
2006-08-27 11:44:21 +00:00
Johannes Anderwald
c71c15d905 * make edit controls look standard
* GeT rId oF aNNoyIng DOt In EdiT cONtROl

svn path=/trunk/; revision=23738
2006-08-27 10:28:05 +00:00
Johannes Anderwald
8895520e58 * store static colors in global struct to make it thread-safe
svn path=/trunk/; revision=23737
2006-08-27 09:50:29 +00:00
Johannes Anderwald
adcaf80140 * auto-select correct radio button
* only repaint required on up/down notifications events

svn path=/trunk/; revision=23736
2006-08-27 09:42:16 +00:00
Johannes Anderwald
7a535d12d5 * dont code during night :-))))
svn path=/trunk/; revision=23735
2006-08-27 00:51:43 +00:00
Johannes Anderwald
f8feed90ce * optimize a few code paths
* add error checking in various places
* implement painting console image

svn path=/trunk/; revision=23734
2006-08-27 00:46:50 +00:00
Magnus Olsen
ab519c08f9 forget commit rbuild file for win32k
svn path=/trunk/; revision=23733
2006-08-26 23:27:49 +00:00
Magnus Olsen
6518b5361d for 24bpp
1. Remove inline asm for hline and implement a asm version of it in intel syntax. 
   (optimzeing of this version can be done better, but it for be done for now)
2. set eorly style on file I forget. 



svn path=/trunk/; revision=23732
2006-08-26 23:26:39 +00:00
Aleksey Bragin
c5edc7e6d3 - Typecast a param so that it doesn't give an error in gcc
- Make cmlib compilable as a makefile target "cmlib_host" (needed for linking with mkhive)

svn path=/trunk/; revision=23731
2006-08-26 21:19:34 +00:00
Magnus Olsen
1a6675e3d7 fpr 32bpp
1. Remove inline asm from hline and convert it to own asm file with intel syntax. 
2. Reimplement colorfill inline asm version and convert it to own asm file with intel syntax. 
   the asm code can be optimze bit more. But for done 

svn path=/trunk/; revision=23730
2006-08-26 21:18:33 +00:00
Aleksey Bragin
2857ff8136 Add testsets to building process too, so that they don't bitrot (compile time is neglectable)
svn path=/trunk/; revision=23729
2006-08-26 21:11:08 +00:00
Aleksey Bragin
0e407eb6b4 Don't crash during disconnection if a device doesn't have a driver
svn path=/trunk/; revision=23728
2006-08-26 21:09:11 +00:00
Aleksey Bragin
f0549011c0 Dmitry Philippov:
- Implement RTL_QUERY_REGISTRY_DELETE (which simply deletes the key after querying)
 - Fix REG_MULTI_SZ to actually walk through the whole data, not stopping at the first encountered 0 character. This makes the "ntdll_winetest.exe reg" test behave exactly as on Windows XP

svn path=/trunk/; revision=23727
2006-08-26 20:45:30 +00:00
Magnus Olsen
32a1a90cc7 fix a typo
svn path=/trunk/; revision=23726
2006-08-26 19:44:47 +00:00
Magnus Olsen
f73c521e7e adding 640x480x32, 800x600x32, 1024x768x32 select for vbe. accoding to VBE 2.0 spec this mode shall always be while for graphic card with vbe 2.0 or higher.
svn path=/trunk/; revision=23725
2006-08-26 19:40:24 +00:00
Klemens Friedl
b5e0a940b1 add samba-tng to the packmgr repo
svn path=/trunk/; revision=23724
2006-08-26 18:43:44 +00:00
Alex Ionescu
c5c008ec96 - Even though in assembly we return the BOOLEAN in all of EAX, HalBeginSystemInterrupt should, in theory, only use AL and we shouldn't make assumptions about any other bits. So chang ethe code to or al, al, instead of or eax, eax.
svn path=/trunk/; revision=23723
2006-08-26 16:23:59 +00:00
Alex Ionescu
1db10cc5ad - Remove useless stack operations in KiInterruptDispatch that I used for debugging.
svn path=/trunk/; revision=23722
2006-08-26 16:07:31 +00:00
Alex Ionescu
3213baa7ae - Fix some bugs in KiChainedDispatch.
svn path=/trunk/; revision=23721
2006-08-26 16:04:29 +00:00
Alex Ionescu
9e78b36f2e - Fix a bug during exceptions, thanks to W3seek, nice find.
svn path=/trunk/; revision=23720
2006-08-26 15:40:27 +00:00
Magnus Olsen
0e96db4bf5 bug 1769 : from w3seek : Implement some new functions
svn path=/trunk/; revision=23719
2006-08-26 14:28:34 +00:00
Johannes Anderwald
b4e91152db * show selected static control via DrawFocusRect
svn path=/trunk/; revision=23718
2006-08-26 13:43:15 +00:00
Magnus Olsen
a7216d7b12 do right typecast for ReadFile so it compiles on gcc 4.x
svn path=/trunk/; revision=23717
2006-08-26 10:01:03 +00:00
Magnus Olsen
def45d4b5a fixed one waring that thomas got with gcc 4.x
svn path=/trunk/; revision=23716
2006-08-26 09:57:38 +00:00
Hervé Poussineau
916f69a7cb Fix a missing referencing in PsImpersonateClient (dereferenced in PsRevertThreadToSelf)
PspWriteTebImpersonationInfo may be used to set or to clear impersonation info => remove an extra assignment

svn path=/trunk/; revision=23715
2006-08-26 08:46:18 +00:00
Alex Ionescu
617e78ebf0 - Transform TRAP_PROLOG into a GAS macro.
- Remove code in the page fault handler which was corrupting the trap frame.
- Remove some ROS hacks that dealt with the fact the trap frame was getting corrupted, since now it isn't anymore.
- Enable code that checks for Teb->GdiBatchCount during win32k system calls. The bugs that were mentionned in the #if 0 are fixed.

svn path=/trunk/; revision=23714
2006-08-26 06:14:32 +00:00
Brandon Turner
9f5f1ce315 * Implement: /low, /normal, /high, /realtime, /belownormal, and /abovenormal
* Correctly build the string used to create the process.

svn path=/trunk/; revision=23713
2006-08-25 23:12:50 +00:00
Hervé Poussineau
ec5899ca4f Implement IOCTL_SERIAL_WAIT_ON_MASK
Better implementation of IOCTL_SERIAL_SET_WAIT_MASK
Remove "Serial:" prefix on debug output

svn path=/trunk/; revision=23712
2006-08-25 22:07:10 +00:00
Alex Ionescu
3c97814afe - Hervé est un Dieu qui mérite une infinité de bières et de femmes vierges (et nues).
- This should fix booting on VMWare.

svn path=/trunk/; revision=23711
2006-08-25 20:18:34 +00:00
Magnus Olsen
bf4ff7bb94 forget this file thx christ
svn path=/trunk/; revision=23710
2006-08-25 18:26:26 +00:00
Magnus Olsen
87b9d209fd Add frist version of ReactOS net command. I finish frist step early that I calc, you need samba-tng rpcclient to use net command in your path. net command only support follow command "net start, net start serivce_display name, net stop", more will follow later.
The help text I need some help with to fill in the info how thuse command work and design the help text better. 
 


svn path=/trunk/; revision=23709
2006-08-25 17:50:26 +00:00
Hervé Poussineau
10782a0cfa Add an assert in IntEngCreateXlate
svn path=/trunk/; revision=23708
2006-08-25 15:49:31 +00:00
Alex Ionescu
397f1f88d2 - Viva la deprecation! Trunk should now boot and the installer should work.
- Basically revert the new HAL/KERNEL IRQ code by putting the old one in, but without the actual pain of svn reverting and losing all the previous code.
- The old code goes in ntoskrnl\deprecated, and we only add a comment to the .rbuild file, re-export an old function, and initialize the old code in kernel.c. All the other kernel changes stay in-place to be tested.
- Same for hal, basically replace irq.S with irql.c in the .rbuild file, and disable the call to Halpinit1. All the other changes remain.

svn path=/trunk/; revision=23707
2006-08-25 14:50:01 +00:00
Alex Ionescu
bb00cadd67 - Fix some bugs
svn path=/trunk/; revision=23706
2006-08-25 14:15:11 +00:00
Aleksey Bragin
3f4b7e4705 - Enable PIRQ when initializing UHCI, this solves the "no irq" problem on some UHC controllers (most popular type of such controller is the one emulated by VMWare)
- Fix a mistake in the source code resulting in a bugcheck
- Add _X86 to .rbuild (by Thomas)

svn path=/trunk/; revision=23705
2006-08-25 13:20:13 +00:00
Johannes Anderwald
50746a376e * share common painting code
* align static control in same way

svn path=/trunk/; revision=23704
2006-08-25 12:19:42 +00:00
Ged Murphy
a6c41b9d22 delete old dir
svn path=/trunk/; revision=23703
2006-08-25 10:12:28 +00:00
Ged Murphy
7adefa6232 move uptime to rosapps so Alex doesn't blow up into teeny weeny pieces ;)
svn path=/trunk/; revision=23702
2006-08-25 10:11:57 +00:00
Alex Ionescu
387c84f0f5 - Add some debugging code to see why trap frames are screwed up.
svn path=/trunk/; revision=23701
2006-08-25 04:11:45 +00:00
Alex Ionescu
38a0558e07 - We do not speak about the v86 hack.
- This should fix the V86 GPF error.

svn path=/trunk/; revision=23700
2006-08-25 02:23:47 +00:00
Alex Ionescu
b23894894d - Get rid of some code.
svn path=/trunk/; revision=23699
2006-08-25 02:22:50 +00:00
Alex Ionescu
35778c9f25 - If SeCaptureSubjectContextEx is called without a process, at least NULL-initialize the context to catch dereferences of invalid pointers.
svn path=/trunk/; revision=23698
2006-08-25 01:04:44 +00:00
Alex Ionescu
7d305ec8e6 - Fix compiling/linking problems.
- Remove KrnlFun entry - IRQs are now done through a typical NT/ROS trap frame and are synchronized and compatible with trap.S.
- Enable 2nd entry interrupt calls in HalBeginSystemInterrupt, since IRQs now use the right trap frame.

svn path=/trunk/; revision=23697
2006-08-25 00:46:41 +00:00
Ged Murphy
31cc308502 add an 'uptime' command.
Available in either Windows or Linux output. (defaulted to Windows)

svn path=/trunk/; revision=23696
2006-08-25 00:33:27 +00:00
Alex Ionescu
425592dd06 - The last piece of the puzzle: we had to initialize the IDR in HalInitProcessor to set it to the default of 0xFFFFFFB so that we don't get IRQ 0 and IRQ 1 until we're ready to handle them, which was causing the clock interrupt to be called too early.
- Remove irqhand.S and all other remaining pieces of deprecated code.

svn path=/trunk/; revision=23695
2006-08-25 00:30:26 +00:00
Alex Ionescu
5d9935a1fa - Got rid of the deprecated stuff left in irq.c and directly implemented it as part of irqhand.S (which is also deprecated).
- Cleaned up irq.c. Fixed file header, function prototypes, includes, etc, and moved general definitions and externs to ke.h

svn path=/trunk/; revision=23694
2006-08-24 23:25:37 +00:00
Johannes Anderwald
52f5a2cccc * handle PSN_APPLY effectively
* remove no longer used callback
* reenable PropSheet_Changed macros
* fix styles for dialog

svn path=/trunk/; revision=23693
2006-08-24 20:55:13 +00:00
Alex Ionescu
fe2d752e93 - Fix some bugs in clock.S
- Enable clock.S versions of KeUpdateSystem/RunTime and export them properly.
- Enable systimer.S to call into kernel's KeUpdateSystemTime.
- Enable Hal's Clock Interrupt during Phase 1.
- Remove most of the code that was still left in irq.c
- Only one large problem remains now, which is the spurious firing of the clock interrupt before we're ready to handle it... I will try to fix this today.

svn path=/trunk/; revision=23692
2006-08-24 19:17:14 +00:00
Andrew Munger
d43585136b DBG=0 fixes, patch by Physicus.
svn path=/trunk/; revision=23691
2006-08-24 18:48:15 +00:00
Christoph von Wittich
3dd85ba73d some more msvc warning fixes
svn path=/trunk/; revision=23690
2006-08-24 17:23:07 +00:00
Hervé Poussineau
cd01646b34 Fix all warnings detected by gcc 4.2
Patch by Thomas Weidenmueller

svn path=/trunk/; revision=23689
2006-08-24 16:58:12 +00:00
Christoph von Wittich
0c186af160 fixed some warnings (patch by w3seek)
svn path=/trunk/; revision=23688
2006-08-24 16:39:14 +00:00
Hervé Poussineau
71391c6a4f Build usbdriver without warning, at least with gcc 3.4.2
svn path=/trunk/; revision=23687
2006-08-24 16:21:16 +00:00
Christoph von Wittich
6db46bea8e fixed some warnings
svn path=/trunk/; revision=23686
2006-08-24 16:06:12 +00:00
Aleksey Bragin
342cd42b44 Fix a lot of annoying warnings, leaving basically only ehci.c and gendrv.c as big warnings providers
svn path=/trunk/; revision=23685
2006-08-24 12:58:52 +00:00
Aleksey Bragin
2036235837 Dmitry Philippov: Implement SmProcessFileRenameList()
svn path=/trunk/; revision=23684
2006-08-24 11:06:48 +00:00
Aleksey Bragin
1b82756b34 Temporary fix a call to KeUpdateSystemTime(), passing third CLOCK_INCREMENT's value (100000) as third param.
svn path=/trunk/; revision=23683
2006-08-24 09:32:32 +00:00
Aleksey Bragin
be7b345087 Fix compiling
svn path=/trunk/; revision=23682
2006-08-24 09:01:22 +00:00
Alex Ionescu
721fa0869e - Add more missing offsets to asm.h (as always, taken from ks386.inc)
- Fix incorrect KPCR_PRCB_DPC_ROUTINE_ACTIVE which was totally wrong (And could've caused a crash in the context swicher)
- Also fix the definition of KRCB which was off-by-4 after about offset ~0x500. It wasn't causing problems because assembly code only used < 0x500.
- Write the ASM implementation of KeUpdateRunTime (not used yet).

svn path=/trunk/; revision=23681
2006-08-24 07:48:50 +00:00
Alex Ionescu
065837f112 - Make KeUpdateSystemTime independent, so that it returns and exits from the current ROSterrupt by itself.
- Make KeUpdateRunTime increase the interrupt count, check for V86 as well as for user-mode by using the CS and EFLAGS (isntead of PreviousMode), also only request DPCs if DpcInterruptRequested isn't already set, and only perform Quantum End if this isn't the idle thread.
- Add clock.S which will have the clock interrupt handlers of the kernel (UpdateSystemTime and UpdateRunTime) and ultimately replace the only reason irqhand.S is still around (the clock interrupt). Implement the current version of KeUpdateSystemTime in assembly, with stack optimizations since we'll be called from the HAL later.

svn path=/trunk/; revision=23680
2006-08-24 06:52:33 +00:00
Alex Ionescu
5e7ef1d665 - Update KeUpdateSystemTime to use variable increments.
- Update KeTickCount properly instead of an ugly timecast hack.
- Also update UserSharedData->TickCount.
- Get rid of KiRawTicks.
- Properly update KiTickOffset at the end.

svn path=/trunk/; revision=23679
2006-08-24 06:27:29 +00:00
Alex Ionescu
8b82c0d641 - Write a basic Clock Interrupt handler in the HAL (doesn't deal with changing increments yet, just like current ROS). It will call KeUpdateSystemTime once ready.
- Implement KeDisconnectInterrupt with the new implementation.
- Put Clock Interrupt initialization in the right place (might still be too late: must investigate more).
- Added a debug print when unexpected interrupts are called, just noticed this happens on my checked machine, and it's a useful tracing tool.

svn path=/trunk/; revision=23678
2006-08-24 05:36:50 +00:00
Alex Ionescu
15899302f6 - Completely re-implement IRQ support (KeInitialize/Connect/Disconnect) interrupt using the same model as NT. Implementation was done by analyzing various of my systems at runtime with WinDBG and tracing through some of the code and dumping relevant objects.
- Uses new code added to trap.s for generic dispatching, as well as the NT implementation which copies a "template" into the ->DispatchCode array of every KINTERRUPT object.
- Also adds support for chained interrupts, but this hasn't been tested yet. Floating interrupts are not supported on NT it seems, so I haven't implemented those at all.
- KiDisableInterrupt not yet re-implemented, and timer code is still piggybacked on the old implementation.

svn path=/trunk/; revision=23677
2006-08-24 02:53:40 +00:00
Alex Ionescu
c8c71fcd5c - Implement Chained and Normal generic interrupt handlers.
- Make generated handlers have a proper .func symbol for symbol data.
- Make IDT writable, the page shouldn't be read-only.
- Change some symbol names.

svn path=/trunk/; revision=23676
2006-08-24 01:53:54 +00:00
Aleksey Bragin
b899ba11ba - Add a new level of debug verbosity
- Fix a bunch of warnings by Thomas and me

svn path=/trunk/; revision=23675
2006-08-23 22:17:09 +00:00
Alex Ionescu
5870fa3d6c - Enable the code in KeInitializeInterrupt that copies the Interrupt Template to the KINTERRUPT object and modifies the template pointer to point to the KINTERRUPT.
- Add the template code in trap.s.

svn path=/trunk/; revision=23674
2006-08-23 19:02:00 +00:00
Alex Ionescu
abe9e92dcf - Get rid of some large debugging functions that were called at all times, and don't manually deliver user APCs anymore, since the HAL handles it now.
svn path=/trunk/; revision=23673
2006-08-23 18:09:44 +00:00
Alex Ionescu
da725d9d30 - Fix some bugs in INT_PROLOG so that it can be used in cases like Unexepcted interrupts, where we don't want to push a fake error code, and want to use our own parameter.
svn path=/trunk/; revision=23672
2006-08-23 18:02:52 +00:00
Hervé Poussineau
daedfda3d4 Allow to change more easily the prefix of remote interface functions in services.exe
This is a step to share this file with Samba-TNG
Thanks to Elrond from Samba-TNG for help

svn path=/trunk/; revision=23671
2006-08-23 17:57:34 +00:00
Alex Ionescu
c0ad9f32d3 - [AUDIT] After spending some time looking at the current HAL, I believe it to be clean and written by authors which had knowledge of system internals and have always used clean-rooming. As well, the difference in implementation, complete and utter incompatibility with NT as well as the presence of some Linux-based code confirms this.
- Fix function definitions of HalQueryRealTimeClock, HalGetEnvironmentVariable. They were defined in the NDK in one way, but implemented another way, and since the HAL didn't include its own NDK file, the compiler didn't realize this. Calls of these functions might've experienced serious problems.
- Also fix HalHandleNmi and HalInitSystem definitions.
- Add stub code to actually setup the Clock Interrupt.

svn path=/trunk/; revision=23670
2006-08-23 17:28:39 +00:00
Alex Ionescu
8401f43ab0 - Switch PRIMARY_VECTOR_BASE to 0x30 instead of 0x40, as it should be.
svn path=/trunk/; revision=23669
2006-08-23 16:58:43 +00:00
Aleksey Bragin
7ad1947410 - Unmess header files a little - create one header file (usbdriver.h) which includes all other needed headers, also splitting a bit.
Also split out the roothub driver and device manager from hub.c (which was over 4500 SLOC)
- Enable PCH usage
- Reduced a few warnings

svn path=/trunk/; revision=23668
2006-08-23 12:36:08 +00:00
Aleksey Bragin
edaf50a0e7 Add accidentally deleted line (a call to WideCharToMultiByte() )
svn path=/trunk/; revision=23667
2006-08-23 08:24:37 +00:00
Alex Ionescu
4ade91ae66 - Kill two more hacks. IDR isn't hacked at 0xFFFFFFA on startup anymore, and the PIC is correctly set to 0xFA at startup.
svn path=/trunk/; revision=23666
2006-08-23 06:59:11 +00:00
Alex Ionescu
7fa6c080b5 - Enable 2nd entry for HalEndSystemInterrupt but not actually using the optimized 2nd entry since ROS IRQs are currently built with a completely different trap frame.
svn path=/trunk/; revision=23665
2006-08-23 06:51:54 +00:00
Alex Ionescu
9ac4b05366 - Fix some IDR->IRR bugs.
- Enable 2ndEntry for HalpEndSoftwareInterrupt (pending interrupt inside an interrupt).

svn path=/trunk/; revision=23664
2006-08-23 06:42:25 +00:00
Alex Ionescu
280da54a61 - Switch HalEndSystemInterrupt to ASM version and get completely rid of the irql.C file.
svn path=/trunk/; revision=23663
2006-08-23 06:38:46 +00:00
Alex Ionescu
a82987f860 - Switch to ASM version of KfLowerIrql
svn path=/trunk/; revision=23662
2006-08-23 06:35:33 +00:00
Alex Ionescu
de56d52a1b - Fix bugs in ASM version of KfLowerIrql (not yet used)
- Fix bugs in INT_PROLOG.
- Fix an important bug in TRAP_EPILOG which was causing register restoration to happen at all times (such as in Kei386EoiHelper/KiServiceExit2 when it shouldn't happen).
- Add DRx restoration from trap frame, if DR7 is set.
- Added and fixed some debugging assertions in TRAP_EPILOG.

svn path=/trunk/; revision=23661
2006-08-23 06:33:52 +00:00
Alex Ionescu
c30a8d1cd4 - Duplicate code between the remaining functions (KfLowerIRql and HalEndSystemInterrupt) so testing the switch to their ASM versions will be easier.
- Use same table as in ASM code.

svn path=/trunk/; revision=23660
2006-08-23 01:23:11 +00:00
Alex Ionescu
955d04b6ff - Disable interrupts while in HalpLowerIrql
- Properly handle IRR.
- Call IRR Handlers through the SWINT table.

svn path=/trunk/; revision=23659
2006-08-23 01:07:14 +00:00
Alex Ionescu
9f38dc5900 - Deliver APCs through a proper interrupt gate as well.
svn path=/trunk/; revision=23658
2006-08-23 00:51:08 +00:00
Alex Ionescu
44804d565e - Call KiDispatchInterrupt through an interrupt gate instead of directly.
svn path=/trunk/; revision=23657
2006-08-23 00:49:35 +00:00
Alex Ionescu
bbd5e3237f - Remove HalpEndSystemInterrupt since we were already doing that code in HalpLowerIrql.
svn path=/trunk/; revision=23656
2006-08-23 00:39:52 +00:00
Alex Ionescu
a2c9ae57c3 - Use the IRR to determine APC delivery.
svn path=/trunk/; revision=23655
2006-08-22 23:41:39 +00:00
Alex Ionescu
132b7c834f - Add the code necessary in the C version of KeLowerIRql to properly mask the PIC, and enable #ifed code in ASM KeRaiseIrql to mask the PIC, since it now works.
svn path=/trunk/; revision=23654
2006-08-22 22:45:45 +00:00
Alex Ionescu
fcdd76f501 - Get rid of the peculiar idea that the HAL should manually hack into ntoskrnl through a hack export and hackishly call the registered device interrupt handlers. This is why computers have a PIC in the first place...
svn path=/trunk/; revision=23653
2006-08-22 22:20:02 +00:00
Alex Ionescu
fcda0db1c6 - Switch to ASM version of HalEnableSystemInterrupt
svn path=/trunk/; revision=23652
2006-08-22 22:13:01 +00:00
Alex Ionescu
f5f0688575 - Use the IDR in the PCR intead of a local picmask.
- Use ASM version of HalBeginSystemInterrupt.

svn path=/trunk/; revision=23651
2006-08-22 22:10:52 +00:00
Aleksey Bragin
23b6ae75fb Dmitry Philippov:
- Add a test case for a multisz value which has zero-sized strings
- Add a test case for query registry delete

All tests are known to be passed on Windows XP SP2

svn path=/trunk/; revision=23650
2006-08-22 21:45:57 +00:00
Alex Ionescu
4e5173d7d0 - Commit current work on IRQ rewrite. Currently in a very ugly/dirty state of flux between the new ASM code (with tiny hacks) and the old C code (with giant hacks). I feel that this is a good/stable middle ground before continuing further with the changes.
svn path=/trunk/; revision=23649
2006-08-22 20:50:52 +00:00
Christoph von Wittich
746195690d * some msvc /W4 fixes
svn path=/trunk/; revision=23648
2006-08-22 20:06:30 +00:00
Hervé Poussineau
b7578b2c4b Fix GCC 4 build. Patch by Thomas Weidenmüller
svn path=/trunk/; revision=23647
2006-08-22 18:53:50 +00:00
Art Yerkes
acad050569 Fix elrond bug. DNS timeouts now work properly even in the absence of ICMP
destination unreachable or a proper response.

svn path=/trunk/; revision=23646
2006-08-22 06:23:00 +00:00
Alex Ionescu
67096f53f5 - Implement GENERATE_IDT_STUBS/GENERATE_INT_HANDLERS
- Generate actual Unexpected Interrupt entries in the IDT for INTs > 0x30 (basically IRQs).
- Generated all 208 Unexpected Interrupt Handlers for all INTs (using a single macro line) and implement a "Tail" function to handle them instead of bugchecking like before (they're now sent to HAL properly).
- Implement INT_PROLOG macro to create KTRAP_FRAME for interrupts (similar to traps).
- Part 1 of major changes to come....

svn path=/trunk/; revision=23645
2006-08-21 22:40:23 +00:00
Ged Murphy
9281b0c841 - Cleanup / rewrite much of the ip config code
- Move hardcoded strings into a resource file ready for translation
- Query registry data for friendly names, etc. We can remove some of this when the XP/vista API, GetAdaptersAddresses is implemented.
- tested in Windows, untested in ROS...

svn path=/trunk/; revision=23644
2006-08-21 19:28:18 +00:00
Hervé Poussineau
b8d9b16369 Fix compilation of ntoskrnl
svn path=/trunk/; revision=23643
2006-08-21 17:16:36 +00:00
Magnus Olsen
1288ce8d7c Update version number to 0.3.x
svn path=/trunk/; revision=23642
2006-08-21 15:04:20 +00:00
Johannes Anderwald
043df7bed9 * colors.c: add error checking
* console.c: add defaults
* layout: halfplement layout dialog

svn path=/trunk/; revision=23641
2006-08-21 10:57:14 +00:00
Magnus Olsen
038473fdfd revers 23614 it cause unexped regress in some api, the code need be goto thung pretty hard even try remove hardcode font in win32k, and it cause regress there and there. and cause regreess on boot time to time. sorry it took me most night figout out why. But I do not yet how to solv it.
svn path=/trunk/; revision=23640
2006-08-21 05:14:22 +00:00
Art Yerkes
58cdf1c29b Added gdi32, because we depend on CreateSolidBrush and kin.
svn path=/trunk/; revision=23639
2006-08-21 04:41:11 +00:00
Art Yerkes
ae19f2956d - Fixed timeout calculation.
- Fixed a couple of leaks.

svn path=/trunk/; revision=23638
2006-08-21 03:59:02 +00:00
Alex Ionescu
0ba60c4b62 - Delete bios.c and usertrap.c
- Add Ke entries to KernelFun!

svn path=/trunk/; revision=23637
2006-08-21 03:49:02 +00:00
Alex Ionescu
f038f4a895 - Gutted out KiTrapHandler. Now it is only a gateway for GPF/UD for V86 mode.
- Removed all the code in userptrap.c and removed KiKernelTrapHandler.
- Set Traps 11, 12, 16 and 17 as unhandled for now(Segment fault, stack fault, fpu fault and alignment fault). We weren't really "handling" them in the past either.
- I probably need to implement GPF handler for non-V86 mode to support Lazy segment loading and fix the vmware syscall bug that has been haunting me for two years.

svn path=/trunk/; revision=23636
2006-08-21 03:31:53 +00:00
Alex Ionescu
775b443831 - Call KiSystemFatalException directly instead of duplicating the code 5 times.
svn path=/trunk/; revision=23635
2006-08-21 03:03:52 +00:00
Alex Ionescu
03f23a9e0a - Convert 8, 9, 10, 15/F
svn path=/trunk/; revision=23634
2006-08-21 03:01:47 +00:00
Alex Ionescu
162d423eff - Switch 4, 5, 6 to common ASM dispatcher as well.
svn path=/trunk/; revision=23633
2006-08-21 02:32:08 +00:00
Alex Ionescu
4bb966cd9a - Implement generic exception dispatcher for traps (kind-of analogous to KiKernelTrapHandler/KiUserTrapHandler but in assembly and more generic/compact).
- Switch Traps 0, 1  to it.
- Trap 2 is NMI, bugcheck immediately since we can't handle them yet.

svn path=/trunk/; revision=23632
2006-08-21 02:01:07 +00:00
Alex Ionescu
c43ef4fb30 - Fixes to CONTEXT<->KTRAP_FRAME conversion.
svn path=/trunk/; revision=23631
2006-08-21 01:07:01 +00:00
Brandon Turner
4c9f6c31bb Label NtReadFileScatter as unimplemented.
svn path=/trunk/; revision=23630
2006-08-21 00:02:33 +00:00
Johannes Anderwald
44f2cc5731 * colors.c: implement color dialog (reading from registry is not yet supported)
* font.c/layout.c/console.c/options.c: add UNREFERENCED_PARAMETER macros, fix sharing of global struct
* console.def: fix building with MSVC

svn path=/trunk/; revision=23629
2006-08-20 23:55:08 +00:00
Alex Ionescu
74f108bb28 - Detect NPX/FPU in simple assembly and XMMI/SSE2 by using CPU Feature flags, replacing the old asm+c mess.
- Handle FPU/SSE saving in the CONTEXT<->KTRAP_FRAME routines directly, and using KiFlushNPXState assembly function.
- Implement a naive Trap 7 (FPU Fault) handler in assembly that properly does most of the work required to handle an FPU fault. Not yet complete however since it almost ignores user-mode faults (just like trunk). FPU isn't done in ctx switching yet.
- Remove all the other .c code that dealt with FPU stuff and had become incompatible since more then a year ago.

svn path=/trunk/; revision=23628
2006-08-20 23:53:07 +00:00
Michele Cicciotti
aabf06072b modified porting-tools/rdesktop-core-tester/activex.cpp
modified   porting-tools/rdesktop-core-tester/rdesktop-core-tester.cpp
    And from the chrysalis out came... the caterpillar. MissTosca stops just short of being demonstrable. I'll keep working on it, but the Google Summer of Code is, for all intent and purposes, over. The matter is in the hands of my judges now. Wish me luck

modified   rdesktop/iso.c
modified   rdesktop/proto.h
modified   rdesktop/rdesktop.h
modified   rdesktop/rdp.c
    Very minor fixes

modified   rdesktop/tcp.c
    Use asynchronous I/O and alertable waits to allow aborting the protocol thread ASAP

svn path=/trunk/; revision=23627
2006-08-20 21:02:10 +00:00
Art Yerkes
9cb66d7953 Add the ability to specify DNS servers and make adns work right in case they
are specified.

svn path=/trunk/; revision=23626
2006-08-20 20:51:54 +00:00
Alex Ionescu
43d5f7e90d - Remove some FPU deprecated constants and use the new ones.
- Deliver APCs on return from context switch with pending kernel APCs.

svn path=/trunk/; revision=23625
2006-08-20 20:27:03 +00:00
Alex Ionescu
893a8bcac6 - Don't use EFLAGS to store the Wait IRQL, just push directly, it's cleaner.
- Detect if kernel APCs are pending and request APC_LEVEL software interrupt from HAL if they are, returning with the right apc status.
- Also update INT21 VDM Descriptor handler when updating LDT descriptor.

svn path=/trunk/; revision=23624
2006-08-20 20:09:25 +00:00
Alex Ionescu
017e14551b - Damn copy/paste bug.
svn path=/trunk/; revision=23623
2006-08-20 20:02:18 +00:00
Alex Ionescu
baf87a4cfb - Fix bug 1764 reported by alexvlas.
svn path=/trunk/; revision=23622
2006-08-20 20:00:56 +00:00
Alex Ionescu
233e643648 - Add support for APC-delivery after context-switch (not yet programmed)
- Detect and crash if context switch is done inside a DPC.
- Switch kernel stack a bit earlier
- Don't switch address space if we're still in the same process, and fix some duplicated code that was mixed up together.
- Move LDT setup out-of-line.

svn path=/trunk/; revision=23621
2006-08-20 19:55:32 +00:00
Johannes Anderwald
9348f70d7d * implement debugger settings for Control Panel Applets for MSVC2005
* in order to use, start the vcproj save sln and restart && enjoy

svn path=/trunk/; revision=23620
2006-08-20 19:19:21 +00:00
Alex Ionescu
58257141b3 - Some micro-architectural changes and cleanups.
svn path=/trunk/; revision=23619
2006-08-20 19:08:57 +00:00
Aleksey Bragin
f448f3bae0 [FORMATTING]
svn path=/trunk/; revision=23616
2006-08-20 14:01:17 +00:00
Magnus Olsen
4e7aa7365f do not hard code to Bitstream Vera Sans use MS Shell Dlg instead
svn path=/trunk/; revision=23615
2006-08-20 12:46:02 +00:00
Magnus Olsen
35b13e8bb0 Fixed some hard code font name
1. Bitstream Vera Sans to MS Sans Serif
2. Bitstream Vera Sans Mono to Courier New
This fixed some problem that bug 1191 mentor but not all. 
I tested this change in ReactOS 
1. using BootCD install whole process and run some ros own program
   and tested cmd. No problem was found with this change. 

svn path=/trunk/; revision=23614
2006-08-20 12:42:30 +00:00
Michele Cicciotti
be56b5e77c modified porting-tools/rdesktop-core-tester/activex.cpp
modified   porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj
modified   porting-tools/rdesktop-core-tester/stdafx.h
    Support acting as both the stand-alone DLL (mstscax.dll) and the redistributable (msrdp.ocx)
    Wrap the non-standard "sealed" keyword in a macro
    Almost all state now correctly passed between rdesktop-core and the ActiveX
    Some debugging aids
    Prepared a functional DllMain
    Pulled in Common Controls, needed for the full-screen titlebar

modified   rdesktop/rdesktop.h
modified   rdesktop/rdp.c
modified   rdesktop/secure.c
    Minor clean-up

svn path=/trunk/; revision=23613
2006-08-19 21:44:41 +00:00
Michele Cicciotti
efcb331e18 modified porting-tools/rdesktop-core-tester/activex.cpp
Getting closer and closer and closer yet...

modified   porting-tools/rdesktop-core-tester/mstsclib_h.h
modified   porting-tools/rdesktop-core-tester/mstsclib_i.c
modified   porting-tools/rdesktop-core-tester/mstsclib_redist_h.h
modified   porting-tools/rdesktop-core-tester/mstsclib_redist_i.c
    Regenerated, no code changes

modified   porting-tools/rdesktop-core-tester/rdesktop-core-tester.cpp
modified   rdesktop/cache.c
modified   rdesktop/iso.c
modified   rdesktop/licence.c
modified   rdesktop/mcs.c
modified   rdesktop/orders.c
modified   rdesktop/parse.h
modified   rdesktop/proto.h
modified   rdesktop/pstcache.c
modified   rdesktop/rdesktop.h
modified   rdesktop/rdp.c
modified   rdesktop/rdp5.c
modified   rdesktop/secure.c
modified   rdesktop/tcp.c
    Trimmed down rdesktop-core library to the maximum extent possible
    Handle errors gracefully
    Use actual Unicode strings
    Fixed most warnings
    Added hooks for events happening inside the protocol's main loop

modified   porting-tools/rdesktop-core-tester/stdafx.cpp
    Clean-up

svn path=/trunk/; revision=23612
2006-08-19 18:40:53 +00:00
Aleksey Bragin
10f76ae52b Fix a bit of warnings
svn path=/trunk/; revision=23611
2006-08-19 18:09:30 +00:00
Aleksey Bragin
1f4c3ee955 - Brandon Turner's warning fixing patch
- When compiled with gcc we assume that CPU can't do TSC (the function will be rewritten anyway since it's weird to use inline assembly in a driver)
- Changed to the correct .rc file, removed duplicate one (ehci.rc)
- usbdriver now compiles with reactos build system

svn path=/trunk/; revision=23610
2006-08-19 16:53:49 +00:00
Johannes Anderwald
6da011c669 * implement console resources
* based on a patch by Lohnegrim

svn path=/trunk/; revision=23609
2006-08-19 10:35:00 +00:00
Brandon Turner
cd6e6b75c6 include sndvol32 on the bootcd. this fixes bug 1754
svn path=/trunk/; revision=23606
2006-08-18 23:48:02 +00:00
Aleksey Bragin
c0f94a72fc According to Filip Navara, HCELL's structure is
1. No plans to support NT 3.x hives (thus no need for OldCell / NewCell)
2. Cmlib is a bit architecturally different from NT's implementation:
"... i don't need the UserData, because that is what i return ... i don't consider it part of the header anymore"

svn path=/trunk/; revision=23605
2006-08-18 22:03:36 +00:00
Brandon Turner
5cd8f73f12 Don't redefine HIWORD or LOWORD if they are defined already.
Make 2 new macros USE_NON_PENDING_IRQL, USE_BASIC_NON_PENDING_IRQL and use accordingly to remove warnings

svn path=/trunk/; revision=23604
2006-08-18 21:37:02 +00:00
Aleksey Bragin
9bd9265d9f Fixes:
- missing ";" at eol
 - some compatibility issues with newer WDK's files

svn path=/trunk/; revision=23603
2006-08-18 21:00:43 +00:00
Aleksey Bragin
430d3e90b8 Import "USB Driver stack project for Windows NT 4.0" by Zhiming/Woodhead (mypublic99@yahoo.com).
It supports UHCI/EHCI controllers.
Don't expect it to compile with ReactOS build environment. I intend to do some work on it, and use this place to keep my changes, before it's suitable for ReactOS.


"I would like to see it useful for ReactOS" (c) woodhead

 

svn path=/trunk/; revision=23602
2006-08-18 20:37:55 +00:00
Magnus Olsen
4fec2ff8db fixed msvs build
svn path=/trunk/; revision=23601
2006-08-18 09:15:26 +00:00
Magnus Olsen
2384d41068 fixed to error that was show in msvs when it compiles
svn path=/trunk/; revision=23600
2006-08-18 09:06:28 +00:00
Brandon Turner
4316d67743 minor grammatical / wording fixes. bug 1747
svn path=/trunk/; revision=23599
2006-08-18 01:51:44 +00:00
Ged Murphy
00a97e886c don't read the 0000 key.
stops the annoying 'Missing NetCfgInstanceId Entry' message box when running in Windows.

svn path=/trunk/; revision=23598
2006-08-17 20:23:10 +00:00
Ged Murphy
0731e09013 match up taskmgr with current icon theme
svn path=/trunk/; revision=23597
2006-08-17 19:11:17 +00:00
Ged Murphy
369176ea9d Don't allow ws2_32 access to apps with bad setup data
(commit correct version this time)

svn path=/trunk/; revision=23596
2006-08-17 16:48:36 +00:00
Ged Murphy
885da5be07 Don't allow ws2_32 access to apps with bad setup data
svn path=/trunk/; revision=23595
2006-08-17 16:44:54 +00:00
Alex Ionescu
22917c0ebe - Properly disable impersonation in PsDisableImpersonation if it was previously enabled, instead of not disabling it. (fix a wrong check). Thanks to Arty.
svn path=/trunk/; revision=23588
2006-08-16 03:17:21 +00:00
James Tabor
a2976ce0d4 Only lower word is used with dwTypeData as bitmap handle.
svn path=/trunk/; revision=23587
2006-08-15 18:05:18 +00:00
Ged Murphy
b01f9a2937 [AUDIT]
iprtprio
unimplemented

svn path=/trunk/; revision=23585
2006-08-14 21:48:55 +00:00
Ged Murphy
3eb1c6a341 Add debug print
svn path=/trunk/; revision=23584
2006-08-14 21:35:51 +00:00
Alex Ionescu
361a28608d - Get rid of "ChunkSize" through a sickening hack (however this should make the Hv* interface compatible enough for me to resume work on the cm branch).
svn path=/trunk/; revision=23583
2006-08-14 21:09:41 +00:00
Magnus Olsen
207e201632 uppdate Dejavu font from 2.7 to 2.9
svn path=/trunk/; revision=23582
2006-08-14 19:48:29 +00:00
Johannes Anderwald
b94a1c980f * create a directory "system" under %SystemRoot% to make dumb apps work
* fixes bug 879

svn path=/trunk/; revision=23581
2006-08-14 17:40:41 +00:00
Ged Murphy
546f463b79 [AUDIT]
ws2_32
- All exported functions are fully documented on MSDN
- All internal functions are clearly written with no signs of reversing
- Reformat all code to ReactOS standard

svn path=/trunk/; revision=23580
2006-08-14 17:26:36 +00:00
James Tabor
4fe1ff2259 - User32: menu, patch by Michael Kaufmann. Fix the keyboard navigation and some graphical glitches for multi-column menus.
svn path=/trunk/; revision=23579
2006-08-14 14:44:40 +00:00
Alex Ionescu
d634e929b4 - Make HHIVE part of EREGISTRY_HIVE, similarly to NT.
- Get rid of Opaque member and paramter..

svn path=/trunk/; revision=23578
2006-08-14 14:16:00 +00:00
Alex Ionescu
055aceee0e - Parameter changes to HvInitialize
svn path=/trunk/; revision=23577
2006-08-14 12:50:09 +00:00
Alex Ionescu
b25952bbc1 - CELL_HEADER -> HCELL.
svn path=/trunk/; revision=23576
2006-08-14 12:22:00 +00:00
Alex Ionescu
b2ff1d22b8 - Fix small build brekage.
- Fix HBIN definition.

svn path=/trunk/; revision=23575
2006-08-14 12:15:26 +00:00
Alex Ionescu
da51ac07a6 - VALUE_CELL => CM_KEY_VALUE
svn path=/trunk/; revision=23574
2006-08-14 12:01:20 +00:00
Alex Ionescu
aa9cca267c - KEY_CELL => CM_KEY_NODE
svn path=/trunk/; revision=23573
2006-08-14 11:57:47 +00:00
Alex Ionescu
a627f5639b - Start using some NT structures (need to get rid of "Opaque").
svn path=/trunk/; revision=23572
2006-08-14 11:35:48 +00:00
Aleksey Bragin
75b35d0b0f - Change class.c to Wine-style debugging prints, add a bit of TRACEs, WARNs and ERRs (channel-based debugging output would really help a lot...)
- Fix IntMapDesktopView() to actually store the created mapping in a global list of mappings. Previously, any operation to map an address from such heap resulted in a NULL.
As a side-effect, "user32_winetest.exe class" went from 31 to 27 failures.

svn path=/trunk/; revision=23571
2006-08-13 21:43:53 +00:00
Aleksey Bragin
48ed6cd4d0 Dmitry Philippov: In MoveFileWithProgressW()
- Change alloca() to RtlAllocateHeap() and add missing freeing of the allocated space
    - Fix incorrect FileNameLength param in call to NtSetInformationFile()
    - Add support for MOVEFILE_REPLACE_EXISTING flag

svn path=/trunk/; revision=23570
2006-08-13 19:49:34 +00:00
Aleksey Bragin
81ff664e0c Dmitry Philippov: Add more tests for delayed file operations
svn path=/trunk/; revision=23569
2006-08-13 19:12:53 +00:00
Johannes Anderwald
2d95178395 * fix registry BSOD when no value exists
* fixes bug 1750
* thnx to P43LOk for bug report

svn path=/trunk/; revision=23568
2006-08-13 18:57:28 +00:00
Johannes Anderwald
0b11700c2c * add registry test code from bug 1750 by P43LOk
svn path=/trunk/; revision=23567
2006-08-13 18:52:57 +00:00
Art Yerkes
b194f1db87 Accept a NULL ResourceList if the caller is just asking how big the result
will be, as indicated by a zero BufferSize.

svn path=/trunk/; revision=23566
2006-08-13 07:05:14 +00:00
James Tabor
4e777dcafd - User32: menu, Patch by Aric Stewart, Implement MNS_NOTIFYBYPOS. Added WM_MENUCOMMAND to winuser.h.
svn path=/trunk/; revision=23565
2006-08-13 04:48:34 +00:00
Michele Cicciotti
2c5ded9a8c modified porting-tools/mstscax/mstscax.cpp
Guard against NULL pointers in certain methods
   Append a newline to debug messages
   Support a couple forgotten VARIANT types
   Corrected implementations of IUnknown::QueryInterface
   Better debug output for IDispatch::GetIDsOfNames and IDispatch::Invoke
   Debug output for IQuickActivate

modified   porting-tools/rdesktop-core-tester/activex.cpp
   Way too many changes to list. Basically, I wrote an ActiveX control without any help from third party libraries such as ATL. It was educative, but not terribly fun. Very nearly there
   All properties of the control are now supported, aligned to the behavior of the original control, version 5.2. Parameter validation and range enforcement eveeywhere

modified   porting-tools/rdesktop-core-tester/mstsclib.idl
   Reindented
   Removed explicit __stdcall convention
   Added alternate interface ids/class ids for compatibility with the msrdp.ocx redistributable. Code does not support this yet

modified   porting-tools/rdesktop-core-tester/mstsclib.rc
added      porting-tools/rdesktop-core-tester/mstsclib_redist.idl
added      porting-tools/rdesktop-core-tester/mstsclib_redist.rc
modified   porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj
added      porting-tools/rdesktop-core-tester/typelib.rh
   Support two type libraries for compatibility with the msrdp.ocx redistributable. Code does not support this yet

modified   porting-tools/rdesktop-core-tester/mstsclib_h.h
modified   porting-tools/rdesktop-core-tester/mstsclib_i.c
added      porting-tools/rdesktop-core-tester/mstsclib_redist_h.h
added      porting-tools/rdesktop-core-tester/mstsclib_redist_i.c
   Auto-generated files, for the poor souls without MIDL

modified   porting-tools/rdesktop-core-tester/stdafx.h
   Added missing OLE header
   Corrected typo

svn path=/trunk/; revision=23564
2006-08-12 20:40:12 +00:00
Johannes Anderwald
eb1be244ca * implement unattend switch for intl
* makes ReactOS gui setup run unattended (untill VmWare popsup)

svn path=/trunk/; revision=23563
2006-08-12 19:32:57 +00:00
Johannes Anderwald
e1dde86798 * make rundll32 work w/o kernel32 hack
* thnx to Alex_Ionescu for hint

svn path=/trunk/; revision=23562
2006-08-12 19:29:08 +00:00
Johannes Anderwald
b08d57c6a7 revert my useless code
svn path=/trunk/; revision=23561
2006-08-12 18:16:17 +00:00
Johannes Anderwald
d68fdca31f disable code for now
svn path=/trunk/; revision=23560
2006-08-12 17:41:38 +00:00
Johannes Anderwald
2d88d68e4d * handle special case
svn path=/trunk/; revision=23559
2006-08-12 17:29:38 +00:00
James Tabor
219faa9936 Remove hack for TS messages.
svn path=/trunk/; revision=23558
2006-08-12 15:55:03 +00:00
James Tabor
8d995ea23d Implement SendNotifyMessage. Needs more testing.
svn path=/trunk/; revision=23557
2006-08-12 15:50:45 +00:00
Ged Murphy
635b9fb393 fix a few resource leaks
svn path=/trunk/; revision=23556
2006-08-12 15:17:29 +00:00
Ged Murphy
7c636c8e1f [AUDIT]
smdll.dll
This is a ReactOS native library

svn path=/trunk/; revision=23555
2006-08-12 14:55:16 +00:00
Magnus Olsen
7fda8aece2 revers Revision: 23549 | * allocate a terminating zero for every parsed argument
The code cause a regress. and the old code is 100% correct. I spoken with janderwald about it
*argc can be 0 when it call to CommandLineToArgv and he did not think of it. and agrument 
agrc is always 1, but that can not be take into accunt. for u do not paraser how many argc it exists
you parser the current argv, like is it 0, is it 1 so on. 

 


svn path=/trunk/; revision=23554
2006-08-12 14:51:51 +00:00
Ged Murphy
bdea0e74a9 [AUDIT]
samlib.dll
Confirmed to be clean by Eric Kohl

svn path=/trunk/; revision=23553
2006-08-12 14:48:29 +00:00
Ged Murphy
c79e850942 revert 23551, wrong directory.
As my penance, I'll review this one next ;)

svn path=/trunk/; revision=23552
2006-08-12 14:47:31 +00:00
Ged Murphy
b386ef68c8 [AUDIT]
samlib.dll
Confirmed to be clean by Eric Kohl

svn path=/trunk/; revision=23551
2006-08-12 14:44:58 +00:00
Johannes Anderwald
2066acf1fa * remove unused export
svn path=/trunk/; revision=23550
2006-08-12 14:22:40 +00:00
Johannes Anderwald
9ab72b3399 * allocate a terminating zero for every parsed argument
svn path=/trunk/; revision=23549
2006-08-12 14:17:44 +00:00
Johannes Anderwald
c20e99d518 * unhack calling international control panel applet by using rundll32
svn path=/trunk/; revision=23548
2006-08-12 14:14:52 +00:00
Johannes Anderwald
336ae5366e * put application name in quotes when lpCommandLine is != NULL
svn path=/trunk/; revision=23547
2006-08-12 14:10:31 +00:00
Ged Murphy
4a4efbf11b [AUDIT]
packet.dll
3rd party lib from winpcap

svn path=/trunk/; revision=23546
2006-08-12 11:01:41 +00:00
Aleksey Bragin
ac3d2f0869 - Remove non-needed checks from GetClassInfoA/W, because they are performed in GetClassInfoExA/W or not performed in Windows at all
- So now GetClassInfoA/W implementations are correct and all hacks are moved to GetClassInfoExA/W. This doesn't fix Abiword, but might fix direct calls to GetClassInfoExA/W which might fail due to not set "cbSize" member of WNDCLASS struct.
I marked this as HACKHACK for further investigation and removal.


svn path=/trunk/; revision=23545
2006-08-11 21:24:11 +00:00
Aleksey Bragin
a31fa06b4d Computer name must always be uppercased, even despite it is an example
svn path=/trunk/; revision=23544
2006-08-11 09:05:24 +00:00
Aleksey Bragin
e91fadbcbd Revert one meaningless change from the previous patch
svn path=/trunk/; revision=23543
2006-08-10 20:56:48 +00:00
Art Yerkes
9834923eaf Added missing return.
svn path=/trunk/; revision=23542
2006-08-10 19:52:55 +00:00
Hervé Poussineau
65cde24d6c "Unicodify" msgina
Add stubs for locking/unlocking

svn path=/trunk/; revision=23541
2006-08-10 18:41:23 +00:00
Hervé Poussineau
e3d8854be7 Add code to start the screensaver from winlogon
This code should replace the existing one in win32k/csrss, but is not activated (yet) due to some bugs:
- Calling SetWindowsHookEx with WH_KEYBOARD_LL gives a BSOD when pressing a key
- Time field in PKBDLLHOOKSTRUCT/PMSLLHOOKSTRUCT should be in milliseconds
- Screen saver parameters can't be retrieved with SystemParametersInfoW
- Probably others...

Plus a few less important ones:
- When sending a message with HWND_BROADCAST, the invisible SAS window doesn't get the message
- When calling (NtUser)SystemParametersInfo, WM_SETTINGSCHANGE message is not sent
- desk.cpl doesn't save (some) screensaver parameters to registry

svn path=/trunk/; revision=23540
2006-08-10 18:37:03 +00:00
Martin Fuchs
3318c29301 some commentary changes
svn path=/trunk/; revision=23539
2006-08-09 21:27:05 +00:00
Martin Fuchs
f465feb351 refresh shell background in response to system color changes
svn path=/trunk/; revision=23538
2006-08-09 20:10:41 +00:00
Aleksey Bragin
ccf643d45b Dmitriy Philippov (shedon@mail.ru):
- The MOVEFILE_DELAY_UNTIL_REBOOT flag is incorrect processed in the MoveFileWithProgressW function.
- The add_boot_rename_entry function contains too many bugs, it crashes when
deleting operation is performed, it does not save old entry in registry, etc...

Fixes are based on the testing application located in reactos/base/application/testsets/smss/movefile


svn path=/trunk/; revision=23537
2006-08-09 19:46:07 +00:00
Aleksey Bragin
46d49263c2 Dmitriy Philippov (shedon@mail.ru): Add test application for move file after reboot function of smss.exe / kernel32.dll
svn path=/trunk/; revision=23536
2006-08-09 19:42:50 +00:00
Hervé Poussineau
3be6aa3601 Check if logoff succeeded before continuing
Check if shutdown succeeded before calling kernel

svn path=/trunk/; revision=23534
2006-08-09 14:29:12 +00:00
Hervé Poussineau
4419e2ce2a A thread may exit with a status code of 0.
svn path=/trunk/; revision=23533
2006-08-09 12:46:41 +00:00
Hervé Poussineau
009c9838df Fix a bug in NtQueryInformationThread, which was leading to its unusability in user mode
svn path=/trunk/; revision=23532
2006-08-09 12:15:18 +00:00
Aleksey Bragin
f253f896e7 - Add tracing to class.c
- Slightly change header to match the new style

svn path=/trunk/; revision=23531
2006-08-09 10:00:04 +00:00
Hervé Poussineau
6007fa59ce Remove HandleExitWindows, and move its code to HandleLogoff and HandleShutdown
Lots of cleanup

svn path=/trunk/; revision=23530
2006-08-09 06:31:02 +00:00
Andrew Munger
844073d973 Update the hardcoded ViewCVS URL. Now packmgr works on the bootcd.
svn path=/trunk/; revision=23529
2006-08-08 21:19:11 +00:00
James Tabor
e2f4a9bdf8 Fix build, for NDEBUG.
svn path=/trunk/; revision=23528
2006-08-08 20:51:59 +00:00
Andrew Munger
16837dffa3 Correct the path to the package.dll for packmgr.
svn path=/trunk/; revision=23526
2006-08-08 20:13:27 +00:00
James Tabor
43bcb034b6 - DrawCaption
- Patch by Saveliy Tretiakov, new NtUserDrawCaption implementation.
    See URL for more details, http://www.reactos.org/archives/public/ros-dev/2006-July/008575.html


svn path=/trunk/; revision=23525
2006-08-08 20:00:53 +00:00
Aleksey Bragin
0468c25a60 Force -fno-sibling-call-optimisation to every module's CFLAGs. This fixes *numerous* bugs (thanks to a bug in GCC itself), even in DBG=1 builds!
Just an example, comctl32.dll doesn't crash anymore in LISTVIEW_Callback().

Thanks to Dmitriy Philippov (aka Shedon) for encountering the comctl32 bug and investigating it!

svn path=/trunk/; revision=23524
2006-08-08 12:41:56 +00:00
Hervé Poussineau
cd084157bd Give a valid name to the event
svn path=/trunk/; revision=23523
2006-08-08 11:10:59 +00:00
Hervé Poussineau
6889ad333c Patch by Filip Navara: Remove the call to HvFree, as the hive was not initialized
svn path=/trunk/; revision=23522
2006-08-08 09:31:19 +00:00
Eric Kohl
4d64dd44c6 - Implement ScmStartServiceA and revert the last modification of StartServiceA.
- Fix EnumServicesStatusExW.

svn path=/trunk/; revision=23521
2006-08-07 22:13:26 +00:00
Hervé Poussineau
2f021d099e - Start lsass.exe sooner, as Gina can call LsaRegisterLogonProcess in WlxInitialize
- Check that loaded Gina has all needed functions
- Set security attributes on windowstation and desktops

svn path=/trunk/; revision=23520
2006-08-07 17:18:58 +00:00
Hervé Poussineau
30c988c9be Call ScmrStartServiceW in StartServiceA to prevent code duplicating between ScmrStartServiceA/W in services.exe
svn path=/trunk/; revision=23519
2006-08-07 17:04:48 +00:00
Johannes Anderwald
552dc71367 * GUI settings for unattended setup
svn path=/trunk/; revision=23518
2006-08-07 13:32:31 +00:00
Johannes Anderwald
1547291dcc * make 2nd stage setup semi-unattendable (locale page is missing)
* to enable add the boot\bootdata\unattend.inf                          6   optional
to boot\bootdata\packages\reactos.dff

svn path=/trunk/; revision=23517
2006-08-07 13:31:11 +00:00
Hervé Poussineau
6845ab891c Add missing svn:eol-style property
svn path=/trunk/; revision=23516
2006-08-07 11:11:15 +00:00
Hervé Poussineau
dca537db04 Skip first call to AddDevice
svn path=/trunk/; revision=23515
2006-08-07 11:03:35 +00:00
Hervé Poussineau
8fb3dbf0ac Remove extra call to SETUP_CreateDevicesList
svn path=/trunk/; revision=23514
2006-08-07 11:02:14 +00:00
Hervé Poussineau
2d8c75910e Return code is really a NTSTATUS, not an unsigned int
svn path=/trunk/; revision=23513
2006-08-07 09:56:33 +00:00
Hervé Poussineau
2d7a591549 Move some more standard types in a common header
Thanks to Elrond from Samba-TNG for help

svn path=/trunk/; revision=23512
2006-08-07 09:48:54 +00:00
The Wine Synchronizer
7c4786c712 [FORMATTING]
Fix file headers to match coding style, and include reference to all programmers.

No code change.

svn path=/trunk/; revision=23511
2006-08-07 07:54:08 +00:00
Hervé Poussineau
157b8e865c Put standard types in a common header
Thanks to Elrond from Samba-TNG for help

svn path=/trunk/; revision=23510
2006-08-06 22:45:51 +00:00
Aleksey Bragin
f792bc36a0 Relax restriction on the segment in NtSetLdtEntries(). Look into diff for details. Thanks to Myria for providing information.
There were no reasons found which can proof that this change could lead to security issues.

svn path=/trunk/; revision=23509
2006-08-06 22:02:02 +00:00
Aleksey Bragin
4a57b7984a Goodbye REGISTRY_ERROR bsod!
- Change UserMode -> KernelMode in ObReferenceObject*() calls, because that calls failed
- Remove Cm-specific hack from Ob

"advapi32_winetest.exe registry" shows 0 failures on the first run and 2 failures on further runs.
I suppose there might be a leakage in the CM. To be investigated further (or wait till complete Cm rewrite in October).

svn path=/trunk/; revision=23508
2006-08-06 21:15:55 +00:00
Hervé Poussineau
15e0dc6523 SECURITY_NT_NON_UNIQUE_RID -> SECURITY_NT_NON_UNIQUE
svn path=/trunk/; revision=23507
2006-08-06 20:33:34 +00:00
Aleksey Bragin
310cebde9f - Change DbgPrint prototype back to Alex's fix. His change was correct and my commit was wrong.
- Respectively fix all occurences of DbgPrint()'s wrong prototypes throughout the tree
- HACKHACK: Change KeNumberProcessors definition in "else" branch of NTDDI_VERSION #if. I'm not sure how to properly fix this and for now I marked this place. Probably NTDDI_VERSION should be set correctly in ntoskrnl and other modules which use this variable. 

svn path=/trunk/; revision=23506
2006-08-06 19:57:24 +00:00
Hervé Poussineau
afb2063fd3 Fix an infinite loop if environment variable is not defined
svn path=/trunk/; revision=23505
2006-08-06 18:44:27 +00:00
Hervé Poussineau
887690f26d Move code around files to be more like Wine. No code change.
svn path=/trunk/; revision=23504
2006-08-06 18:37:39 +00:00
Hervé Poussineau
918b7c6c45 Implement CreateWellKnownSid and IsWellKnownSid, by ripping the Wine implementation (created by Robert Reif)
svn path=/trunk/; revision=23503
2006-08-06 18:22:36 +00:00
Hervé Poussineau
b1079a9149 Add more SID defines
svn path=/trunk/; revision=23502
2006-08-06 18:08:16 +00:00
Hervé Poussineau
63e6cdc364 Cleanup shutdown code path. Now, the user can logoff and logon again.
svn path=/trunk/; revision=23501
2006-08-06 15:47:04 +00:00
Hervé Poussineau
b229f6fcb2 Update French translation
svn path=/trunk/; revision=23500
2006-08-06 15:40:47 +00:00
Hervé Poussineau
6d3b584805 Fix a few referencing bugs (Object type must be specified if AccessMode is UserMode)
svn path=/trunk/; revision=23499
2006-08-06 15:38:56 +00:00
Hervé Poussineau
82aec77c32 STDCALL -> NTAPI
Update my mail address

svn path=/trunk/; revision=23498
2006-08-06 15:37:21 +00:00
Hervé Poussineau
6821c84844 Fix return type in .idl file
(advapi32.dll and services.exe already agreed on a error code status as return type)

svn path=/trunk/; revision=23497
2006-08-06 14:29:19 +00:00
Hervé Poussineau
705830858c - Add dsgetdc.h header
- Add missing constants SECURITY_MIN_SID_SIZE/SECURITY_MAX_SID_SIZE
- Define FreeInheritedFromArray only when _WIN32_WINNT >= 0x0501

svn path=/trunk/; revision=23496
2006-08-06 12:03:31 +00:00
Magnus Olsen
d68102ed54 forget remove one line in DirectDraw_GetAvailableVidMem sorry
svn path=/trunk/; revision=23495
2006-08-06 10:29:56 +00:00
Magnus Olsen
803578b8bc fixing some bugs in DirectDraw_GetAvailableVidMem
svn path=/trunk/; revision=23494
2006-08-06 10:28:08 +00:00
Magnus Olsen
1df8bd39ee Bugfix DirectDraw_AddRef
svn path=/trunk/; revision=23493
2006-08-06 09:56:21 +00:00
Magnus Olsen
f5b7920569 fixing ddraw regress instead bsod or fail create surface, now it fail on attach surface
svn path=/trunk/; revision=23492
2006-08-06 08:47:18 +00:00
Aleksey Bragin
dc159816df [AUDIT]
Configuration Manager

Cm part of the kernel was developed from scratch for a long time ago, and based only on legally clean information sources. After going through the code, it doesn't have any signs of questionable origin.
Authorship information will be added during formatting of the code.

svn path=/trunk/; revision=23491
2006-08-05 21:39:29 +00:00
Aleksey Bragin
8310980ff6 Fix the last definition of DbgPrint
svn path=/trunk/; revision=23490
2006-08-05 21:17:55 +00:00
Aleksey Bragin
4a9752bbe4 Fix DbgPrint / DbgPrintEx definitions to use PCCHAR instead of PCCH (recent WDK uses PCCHAR).
This change fixes compiling.

svn path=/trunk/; revision=23489
2006-08-05 20:57:36 +00:00
Alex Ionescu
3646d0b420 - Fix another incorrect DbgPrint prototype.
svn path=/trunk/; revision=23488
2006-08-05 16:50:36 +00:00
Alex Ionescu
86e31ea51a - Fix how DDK is included.
svn path=/trunk/; revision=23487
2006-08-05 16:50:23 +00:00
Alex Ionescu
4a84399353 - mangledDDK had no idea what a const char is, now it does.
- mangledDDK had wrong prototypes of DbgPrint/Ex.
- PSEH too.
- Fixed ntoskrnl headers to build with Windows 2003 header definitions. Make handle.c force usage of Windows 2000 header definitions, because the handle code is Win2K.
- mangledDDK had wrong KeNumberProcessors definition.

svn path=/trunk/; revision=23486
2006-08-05 16:49:07 +00:00
Alex Ionescu
9d109579e3 - DDK Compatibility fixes.
svn path=/trunk/; revision=23484
2006-08-05 16:27:20 +00:00
Aleksey Bragin
7f1a5332e2 Convert \ to / path separator in .rc files (fixes linux building process)
svn path=/trunk/; revision=23482
2006-08-05 13:38:51 +00:00
Magnus Olsen
5cf9d852b7 1. move rc languages to folder lang
2. Adding rsrc.rc so u can open rc file in vs 
3. fixing sublang id for some languages  so it can be open in vs

svn path=/trunk/; revision=23481
2006-08-05 11:55:35 +00:00
Magnus Olsen
db565c34cd 1. move rc languages to folder lang
2. Adding rsrc.rc so u can open rc file in vs 
3. fixing sublang id for some languages  so it can be open in vs

svn path=/trunk/; revision=23480
2006-08-05 11:43:49 +00:00
Magnus Olsen
c196fd1221 1. move rc languages to folder lang
2. Adding rsrc.rc so u can open rc file in vs 
3. fixing sublang id for almost all languages  so it can be open in vs
ToDO
each langues have diffent menu and dialog for some have update En.rc and not the rest of the languages file 
Never only update En.rc update all other languages file same time so we have same desgin and option and dialog
box on each languages. 

svn path=/trunk/; revision=23479
2006-08-05 10:37:42 +00:00
Magnus Olsen
a86f6c873d forget this file thx fireball
svn path=/trunk/; revision=23478
2006-08-05 10:08:29 +00:00
Magnus Olsen
8c69a85ea6 1. move rc languages to folder lang
2. Adding rsrc.rc so u can open rc file in vs 
3. fixing sublang id for hu.rc so it can be open in vs

svn path=/trunk/; revision=23477
2006-08-05 09:29:13 +00:00
Magnus Olsen
812c059223 1. move rc languages to folder lang
2. Adding rsrc.rc so u can open rc file in vs 

svn path=/trunk/; revision=23476
2006-08-05 09:21:21 +00:00
Aleksey Bragin
3a9d44aa99 Change "\" to "/", so it compiles both on Linux and Windows.
svn path=/trunk/; revision=23475
2006-08-05 09:15:18 +00:00
Magnus Olsen
f5c9f4acdb 1. move rc languse to folder lang
2. Adding rsrc.rc so u can open rc file in vs 
3. Fixing Ru and Hu sublang id. so they showing in vs instead for unkown langues. 

svn path=/trunk/; revision=23474
2006-08-05 09:05:28 +00:00
Magnus Olsen
5004195fad move rc languse to folder lang
svn path=/trunk/; revision=23473
2006-08-05 09:03:04 +00:00
Magnus Olsen
60bdf62560 move the lang filr to folder lang
(do not use torstensvn to move file, torstensvn can not manger move all file at once, only command base svn)

svn path=/trunk/; revision=23472
2006-08-05 08:43:23 +00:00
Aleksey Bragin
591d64daec Moved language resource files to lang subdir.
svn path=/trunk/; revision=23471
2006-08-05 08:35:32 +00:00
Magnus Olsen
7f27d73fda Moved remotely
svn path=/trunk/; revision=23470
2006-08-05 08:30:47 +00:00
Magnus Olsen
20a0e7fdb3 Moved remotely
svn path=/trunk/; revision=23469
2006-08-05 08:30:39 +00:00
Magnus Olsen
fc71bab6eb Moved remotely
svn path=/trunk/; revision=23468
2006-08-05 08:30:26 +00:00
Magnus Olsen
055745600b Moved remotely
svn path=/trunk/; revision=23467
2006-08-05 08:30:18 +00:00
Magnus Olsen
81e2c1b0e0 Moved remotely
svn path=/trunk/; revision=23466
2006-08-05 08:30:11 +00:00
Magnus Olsen
714ccb42ca Moved remotely
svn path=/trunk/; revision=23465
2006-08-05 08:30:03 +00:00
Magnus Olsen
ac06d7203f Moved remotely
svn path=/trunk/; revision=23464
2006-08-05 08:29:58 +00:00
Magnus Olsen
0ac77c3f8c Moved remotely
svn path=/trunk/; revision=23463
2006-08-05 08:29:49 +00:00
Magnus Olsen
d2fd2cd3fa Moved remotely
svn path=/trunk/; revision=23462
2006-08-05 08:28:29 +00:00
Magnus Olsen
c24caedf13 Created folder remotely
svn path=/trunk/; revision=23461
2006-08-05 08:27:21 +00:00
Magnus Olsen
937ceea974 finsih the move of langues rc
svn path=/trunk/; revision=23460
2006-08-05 08:26:42 +00:00
Magnus Olsen
300d54c674 Moved remotely
svn path=/trunk/; revision=23459
2006-08-05 08:13:11 +00:00
Magnus Olsen
254a2e45f6 Moved remotely
svn path=/trunk/; revision=23458
2006-08-05 08:12:46 +00:00
Magnus Olsen
99db1b9c92 Moved remotely
svn path=/trunk/; revision=23457
2006-08-05 08:12:31 +00:00
Magnus Olsen
ec9f9a3f13 Moved remotely
svn path=/trunk/; revision=23456
2006-08-05 08:12:03 +00:00
Magnus Olsen
d22731eceb Moved remotely
svn path=/trunk/; revision=23455
2006-08-05 08:11:50 +00:00
Magnus Olsen
6c109b3daa Moved remotely
svn path=/trunk/; revision=23454
2006-08-05 08:11:34 +00:00
Magnus Olsen
ef91589118 Created folder remotely
we store all langues rc file to folder lang

svn path=/trunk/; revision=23453
2006-08-05 08:10:44 +00:00
James Tabor
79b9b1a431 Patch by Dan Hipschman, Call SetLastError in CreateWindowEx when WS_CHILD is set with no parent.
svn path=/trunk/; revision=23452
2006-08-05 01:48:20 +00:00
Ged Murphy
c44fecf418 change definition to ensure calling of unicode
svn path=/trunk/; revision=23449
2006-08-04 23:40:16 +00:00
Brandon Turner
4ea471d5a5 update the help for exit to include /b
svn path=/trunk/; revision=23448
2006-08-04 21:24:57 +00:00
Hervé Poussineau
56a847b2ca Implement /CMDCONS switch, which allows the user to start in text mode
Autologon should only be done once (when starting the computer, not after the user has logged out)
Remove the status message dialog only in GUI

svn path=/trunk/; revision=23447
2006-08-04 19:44:35 +00:00
Aleksey Bragin
41fb06f69a Add an entry to enable unattended 1st stage setup (commented out by default).
In order to get unattended setup working:
1. Copy unattend.inf.sample to unattend.inf, adjust as needed
2. Uncomment the line in bootdata.rbuild to include it into bootcd

svn path=/trunk/; revision=23446
2006-08-04 19:28:54 +00:00
Hervé Poussineau
3455731503 Try to implement a working shutdown.
Sorry, I had to disable some code to close user processes in subsystems/win32/csrss/win32csr/exitros.c

svn path=/trunk/; revision=23445
2006-08-04 15:39:44 +00:00
Hervé Poussineau
3008860064 We should be able to set ThreadImpersonationToken information with NtSetInformationThread
svn path=/trunk/; revision=23444
2006-08-04 13:52:16 +00:00
Hervé Poussineau
c5245d5b4b - Remove now useless entries about PCI bus, as StartService is now working in 2nd stage setup
- Add Netlogon service (lsass.exe)

svn path=/trunk/; revision=23443
2006-08-04 12:01:27 +00:00
Hervé Poussineau
06797ae112 - Specify *W at the end of function calls, and remove the need to define UNICODE
- Rename MsGina to Gina
- Start services.exe before running 2nd stage setup

svn path=/trunk/; revision=23442
2006-08-04 11:37:18 +00:00
Ged Murphy
6777e6905f fix loading of current values for ip and dhcp
svn path=/trunk/; revision=23441
2006-08-03 22:20:44 +00:00
Ged Murphy
2175834be0 - load the current IP address when switching from dhcp to manual.
- this isn't how Windows behaves, but it should be as it makes life slightly easier in most cases

svn path=/trunk/; revision=23440
2006-08-03 21:29:09 +00:00
Ged Murphy
7288929ef0 doh, rushed code leads to leaked resources.
thanks lkjasa for pointing it out.

svn path=/trunk/; revision=23439
2006-08-03 20:32:10 +00:00
Ged Murphy
728a261829 size the buffer dynamically to avoid potentially overflowing it
svn path=/trunk/; revision=23438
2006-08-03 19:06:12 +00:00
Ged Murphy
c6b0db6688 Add a header to the prop sheet and correct a variable spelling
fixes bug 1731
patch from itay.perl@gmail.com

svn path=/trunk/; revision=23437
2006-08-03 18:01:47 +00:00
Christoph von Wittich
53af48a8b2 -removed DefWindowProc from the Dialog WndProcs
svn path=/trunk/; revision=23436
2006-08-03 15:57:10 +00:00
Hervé Poussineau
5ef94aacb7 Don't try to remove a status message if none have been displayed and GINA has not been initialized
svn path=/trunk/; revision=23435
2006-08-03 15:14:14 +00:00
Hervé Poussineau
603ac11c9a Simplify management of loggedout window
Implement locking/unlocking of the workstation (only by code, not the associated dialogs)

svn path=/trunk/; revision=23434
2006-08-03 13:54:44 +00:00
Hervé Poussineau
e202c810ac Implement shutdown and unlocking
Remove some useless code
Implement Timeout for dialogs

svn path=/trunk/; revision=23433
2006-08-03 13:50:40 +00:00
James Tabor
21ea0d9494 Fix build
svn path=/trunk/; revision=23432
2006-08-03 01:30:40 +00:00
Christoph von Wittich
26dbfdec15 -splitted resource file into en.rc and msgina.rc
-prettyfied msgina a bit
-fixed line endings

svn path=/trunk/; revision=23430
2006-08-03 00:32:32 +00:00
James Tabor
a0f6dcc406 Fixed typo, btw this fixes most of the edit tests.
svn path=/trunk/; revision=23429
2006-08-03 00:01:05 +00:00
James Tabor
db09492d5f - Win32k
- CreateWindowsEx: Patch based on janderwald patch.
    1. Reading and follow wine source (user/win.c & winex11.drv/window.c), I noticed that cs->hwndParent is unmodified when passed to the children via WM_NC/CREATE.
    2. Reordered the "fine the parent" code, based on wine. I've tested this change for last two weeks.

svn path=/trunk/; revision=23428
2006-08-02 23:39:53 +00:00
Hervé Poussineau
4546ac2820 Fix compilation
svn path=/trunk/; revision=23427
2006-08-02 22:49:02 +00:00
Ged Murphy
972b814ded disable the floating toolbars by default until they are useful.
svn path=/trunk/; revision=23425
2006-08-02 21:52:20 +00:00
Hervé Poussineau
d194ee80a5 Winlogon:
- Register CTRL+ALT+DELETE notification
- Better session loop between all GINA dialogs
- Display a dialog box if GINA DLL cannot be loaded
GINA:
- Add an graphical and text interface to enter username/password
- Take care of autologon parameters in registry

svn path=/trunk/; revision=23424
2006-08-02 21:01:37 +00:00
Johannes Anderwald
d99c9b45f0 .c files are not executable files
svn path=/trunk/; revision=23423
2006-08-02 20:51:13 +00:00
Hervé Poussineau
0d5fd6cd68 - Implement INF_STYLE_OLDNT style in SetupOpenInfFileW
- Add some documentation in header file

svn path=/trunk/; revision=23422
2006-08-02 20:45:13 +00:00
Ged Murphy
5b8e3e2f5b fix MSI build warnings
svn path=/trunk/; revision=23421
2006-08-02 20:01:22 +00:00
Ged Murphy
64a6bb9b0e remove wine file. This should now be defined in our psdk
svn path=/trunk/; revision=23420
2006-08-02 20:00:45 +00:00
Johannes Anderwald
31b43700f6 add description on how to bypass MBR installation page
svn path=/trunk/; revision=23419
2006-08-02 18:59:06 +00:00
Johannes Anderwald
6c41639b61 * make ReactOS textmode setup full-unattendable
svn path=/trunk/; revision=23418
2006-08-02 18:58:07 +00:00
Michele Cicciotti
6556fec93f modified porting-tools/mstscax/mstscax.cpp
modified   porting-tools/mstscax/stdafx.h
   Added support for aggregation (ActiveX controls are expected to be aggregable)
   Added IMsRdpClientAdvancedSettings4 stub
   Added some other minor stubs

added      porting-tools/rdesktop-core-tester/activex.cpp
modified   porting-tools/rdesktop-core-tester/stdafx.h
modified   porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj
   Full stubs for RDP client ActiveX control

added      porting-tools/rdesktop-core-tester/mstsclib.idl
added      porting-tools/rdesktop-core-tester/mstsclib.rc
added      porting-tools/rdesktop-core-tester/mstsclib_h.h
added      porting-tools/rdesktop-core-tester/mstsclib_i.c
   IDL definition file and type library resource for the ActiveX control. MIDL-generated files temporarily committed

modified   porting-tools/rdesktop-core-tester/rdesktop-core-tester.cpp
   Overall cleanup
   GDI code now uses SaveDC/RestoreDC instead of multiple calls
   Virtual Channel API stubs

modified   rdesktop/bitmap.c
   Re-enable optimizations

modified   rdesktop/channels.c
   Magic numbers are evil

modified   rdesktop/mcs.c
modified   rdesktop/rdesktop.h
   MCS channel ids were superfluous

modified   rdesktop/rdesktop-core.vcproj
modified   rdesktop/secure.c
modified   rdesktop/types.h
   Removed virtual channels implementation, preparing to replace with extensible, multithreaded, Windows-compatible implementation

svn path=/trunk/; revision=23417
2006-08-02 14:21:45 +00:00
Martin Fuchs
2a4389576a fix GCC build error "explicit qualification in declaration of MLStorage::..." for ibrowser
svn path=/trunk/; revision=23416
2006-08-02 12:20:14 +00:00
Martin Fuchs
a16732d63c fix GCC build error "explicit qualification in declaration of MLStorage::..."
svn path=/trunk/; revision=23415
2006-08-02 12:11:24 +00:00
Ged Murphy
6193e2092b - sync MSI to Wine 0.9.18
- note, it still has the swprintf warnings which I'll fix tomorrow (if someone reminds me ;) )
- MSI Wine test is now in trunk, if anyone has chance to do a before and after test ...

svn path=/trunk/; revision=23414
2006-08-01 23:12:11 +00:00
Ged Murphy
5e15912284 add msi wine regression test
svn path=/trunk/; revision=23410
2006-08-01 22:48:23 +00:00
James Tabor
1d2d013384 - User32
- Dialog.c Partial sync to wine. 
  - Add WinPosActivateOtherWindow to winpos.c, activate another window when the dialog gets hidden in EndDialog.
  - Misc fixes and changes.

svn path=/trunk/; revision=23409
2006-08-01 21:14:45 +00:00
Hervé Poussineau
963218942e Use the locally modified StartupInfo, instead of the one the caller gave us
svn path=/trunk/; revision=23407
2006-08-01 15:59:14 +00:00
The Wine Synchronizer
e184a78b53 Revert 23354 (causes a bugcheck). It will be committed when Alex has time to fix that issue.
svn path=/trunk/; revision=23405
2006-08-01 12:50:11 +00:00
Martin Fuchs
9940e41a7b fix output of XML document types
svn path=/trunk/; revision=23403
2006-08-01 09:23:41 +00:00
Filip Navara
eb035c3d8f Fix the damn detection code.
svn path=/trunk/; revision=23401
2006-08-01 03:43:51 +00:00
Martin Fuchs
2005844309 cleanup project files
svn path=/trunk/; revision=23400
2006-07-31 23:49:13 +00:00
Martin Fuchs
0887b49c1b move string constants into XMLStorage namespace
svn path=/trunk/; revision=23399
2006-07-31 23:46:20 +00:00
Martin Fuchs
8cb05b5ab7 IBrowser: update XMLStorage library and remove Expat dependency
svn path=/trunk/; revision=23398
2006-07-31 23:23:19 +00:00
Martin Fuchs
350cddb3d6 Explorer: update XMLStorage library and remove Expat dependency
svn path=/trunk/; revision=23397
2006-07-31 23:21:55 +00:00
Andrew Munger
4a89b0422d Fix the build on linux (for real). Patch from hpoussin, who checked that it didn't break the win32 build.
This also reverts 23394.

svn path=/trunk/; revision=23396
2006-07-31 22:34:55 +00:00
Martin Fuchs
56781e4522 ibrowser resources: fix norwegian sublanguage ID
svn path=/trunk/; revision=23395
2006-07-31 22:29:45 +00:00
Eric Kohl
5bcb07458e Fix missing _strnicmp on Linux.
svn path=/trunk/; revision=23394
2006-07-31 20:20:10 +00:00
Brandon Turner
899a4ac7b8 Implement the reading and writing of pagefile settings. We should not longer have to edit it by hand in regedit. This works 100% flawlessly in win2k3 but has not been tested in ros yet. Patch by Christian Wallukat (cwallukat@gmx.at) and myself.
svn path=/trunk/; revision=23381
2006-07-30 23:14:02 +00:00
The Wine Synchronizer
ad4cd97427 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23380
2006-07-30 21:27:45 +00:00
Eric Kohl
1edf91632a Updated information about widl.
svn path=/trunk/; revision=23378
2006-07-30 13:39:42 +00:00
Eric Kohl
945bcdf5e8 This modification is required for use with the WINE widl.
svn path=/trunk/; revision=23377
2006-07-30 13:02:53 +00:00
Eric Kohl
9c239fd76f Synchronize with current WINE widl 20060729.
svn path=/trunk/; revision=23376
2006-07-30 12:58:24 +00:00
Hervé Poussineau
6c4f49b5cd - Create a window to receive the CTRL+ALT+DELETE event (not working yet)
- Remove support for console start (it is the role of msgina, not winlogon)
- Implement some simple functions

svn path=/trunk/; revision=23375
2006-07-30 08:38:35 +00:00
Hervé Poussineau
6b63d81fbd Implement SM_REMOTESESSION message
svn path=/trunk/; revision=23374
2006-07-29 23:55:07 +00:00
Hervé Poussineau
754546cdfc Add autologon information (not used yet)
svn path=/trunk/; revision=23373
2006-07-29 23:13:17 +00:00
Christoph von Wittich
9cff1db692 fix ASSERT in ndis, now the Realtek 8029AS (ne2000) driver is working
svn path=/trunk/; revision=23368
2006-07-29 20:23:44 +00:00
Aleksey Bragin
6698793717 Move two helper macros into cm.h, and uncomment DPRINTs using them in registry code
svn path=/trunk/; revision=23365
2006-07-29 20:01:38 +00:00
Alex Ionescu
17509fb1e5 - Added profiling for possible Nt I/O function optimizations. Booting and running Firefox gave an amazing "0 missed optimizations", so defintely, this has been moved down on the priority list. Also merged all tracing TODOs in one entry and added device.c tracing TODO.
- Fix IRP Cancellation and enable all calls to IopQueueIrpToThread and IopUnqueueIrpFromThread. This seems to work properly now and the kernel fun entry for it has been removed. All remaining Io TODOs are now low priority.

svn path=/trunk/; revision=23354
2006-07-29 19:26:13 +00:00
Hervé Poussineau
8775e940c1 Remove no longer needed hack
svn path=/trunk/; revision=23353
2006-07-29 17:59:04 +00:00
Alex Ionescu
ca2a89a457 - Add another paramter to IopCleanupFailedIrp to free an optional buffer being specified to it. This way we don't leak some allocated buffers when IRP allocation fails.
- Create inlined IopUnQueueIrpFromThread to match IopQueueIrpToThread.

svn path=/trunk/; revision=23352
2006-07-29 16:56:26 +00:00
Alex Ionescu
1c28eb66f4 - Add SEH to all iofunc.c functions that required it. (note: Some SEH might seem "useless" to have been added. This is because we don't use Pool Quotas yet, which generate exceptions which will later need to be handled).
- Implement IopExceptionCleanup as a generic cleanup handler for SEH exceptions.

svn path=/trunk/; revision=23351
2006-07-29 16:35:05 +00:00
Magnus Olsen
3d997c8dae fixing the language so it can be edit from vs, open the rsrc.rc file in vs to edit a languages.
svn path=/trunk/; revision=23350
2006-07-29 15:56:00 +00:00
Magnus Olsen
66b40e74ee rename some file from xml to rbuild.
Now all rename is done. 

svn path=/trunk/; revision=23349
2006-07-29 15:23:19 +00:00
Aleksey Bragin
bcd159805c Add 2nd half of the Filip Navara's cmlib. Now both freeldr and ntoskrnl utilise the same base library to access the registry.
Remember that you need to recreate binary hives, your old reactos registry isn't compatible (due to slight difference in the on-disk structure).

svn path=/trunk/; revision=23348
2006-07-29 14:43:32 +00:00
Magnus Olsen
677d2a40df Remove welcome from rosapps, we already it in reactos/base/....
svn path=/trunk/; revision=23347
2006-07-29 14:34:22 +00:00
Magnus Olsen
f50ffbf8c4 remove welcome from rbuild file
svn path=/trunk/; revision=23346
2006-07-29 14:33:39 +00:00
Magnus Olsen
3524699490 Remove format from rosapps, we already it in reactos/base/....
svn path=/trunk/; revision=23345
2006-07-29 14:32:05 +00:00
Magnus Olsen
ae5ead0153 Fixing some renname of xml to rbuild
svn path=/trunk/; revision=23344
2006-07-29 14:26:28 +00:00
Magnus Olsen
f909be8aaa rename some file from xml to rbuild.
svn path=/trunk/; revision=23343
2006-07-28 21:30:18 +00:00
Magnus Olsen
6b19073a39 sorry for the typo
svn path=/trunk/; revision=23342
2006-07-28 21:21:38 +00:00
Magnus Olsen
6bd161c5b8 some forgot fixing rosapps change the xml to rbuild.
fixed that in trunks

svn path=/trunk/; revision=23341
2006-07-28 21:15:46 +00:00
Magnus Olsen
3a43d2db6c adding more and find to livecd and bootcd
svn path=/trunk/; revision=23340
2006-07-28 21:05:48 +00:00
Magnus Olsen
307c8c7494 building more and find
svn path=/trunk/; revision=23339
2006-07-28 21:04:25 +00:00
Magnus Olsen
30c6b3bace making rosapps build again
svn path=/trunk/; revision=23338
2006-07-28 21:00:14 +00:00
Magnus Olsen
c8183964de copy cmdutils.rbuild
svn path=/trunk/; revision=23337
2006-07-28 20:57:04 +00:00
Aleksey Bragin
793b990edb Actually add cmlib itself
svn path=/trunk/; revision=23336
2006-07-28 20:50:05 +00:00
Magnus Olsen
d01cb10386 Moved cmdutils command more remotely
svn path=/trunk/; revision=23335
2006-07-28 20:48:20 +00:00
Magnus Olsen
397361df50 Moved cmdutils command find remotely
svn path=/trunk/; revision=23334
2006-07-28 20:47:22 +00:00
Magnus Olsen
05066fce58 prepare move for cmdutils more and find for they are necessary cmd command for allot bat files.
Fireball agrees to it. 

svn path=/trunk/; revision=23333
2006-07-28 20:43:58 +00:00
Aleksey Bragin
b6fc604db0 - Add Filip Navara's cmlib
- Use cmlib in Freeldr and Setupldr (patch by Filip Navara)
- Fix some HIVE definition and checksum calculation in mkhive and ntoskrnl (so they btoh create a compatible registry)

TODO: Apply 2nd half of the patch, which makes ntoskrnl using cmlib.

This commit is dedicated to Filip Navara's constant promises to commit cmlib and to recent small Arty vs. Alex debate on irc :)

svn path=/trunk/; revision=23332
2006-07-28 20:25:47 +00:00
Magnus Olsen
02f0e4b7ac patch from LMH1 : Bug#: 1684 : Norwegian translation
svn path=/trunk/; revision=23331
2006-07-28 20:03:29 +00:00
Aleksey Bragin
b9673c3ca0 Add message's spy into user32.dll. In order to enable, just uncomment #define YDEBUG in spy.c file and optionally set the messages you want to include / exclude in the registry (HKCU\ReactOS\Debug).
When it's turned off (YDEBUG is not defined), it doesn't provide any slow-down to the system.

DefWindowProc() functions are slightly refactored to have one exit point instead of numerous returns in a switch-case statement.

FIXME: maybe DPRINTs will be changed to DbgPrint because it's pointless to display path to the spy.c file everytime.

svn path=/trunk/; revision=23330
2006-07-28 13:52:23 +00:00
Alex Ionescu
3d97c16cd1 - Mega whammy jammy fix commit:
- Fix bootcd by fixing some bugs in CDFS (same as in VFAT).
  - Fix Broken Installers and other I/O programs that couldn't, for example, create temporary directories.
  - Fix Firefox installers and other apps crashing due to a bug in NtSetInformationFile.
  - Fix File Objects being referenced twice resulting in IRP_MJ_CLOSE/CLEANUP never being sent and several memory leaks.
  - Fix File Object Lock being incorrectly created and then misused by mm/section code.
  - Fix creation of File Object before setting up the IRP, to properly cleanup during failures.
- Add failure code if ObCreateObject fails.

svn path=/trunk/; revision=23328
2006-07-27 22:26:40 +00:00
Aleksey Bragin
27f7e69bf7 Improve a few headers by adding missing definitions and structures (taken from Wine).
Versioning might not be correct.

svn path=/trunk/; revision=23327
2006-07-27 20:34:04 +00:00
Alex Ionescu
280c7a5a59 - Add kernel fun entry:
- Find out why 7zip can't create temporary folders due to deferred I/O
    completion in IopParseDevice when creating a new File Object.. 
Thanks to encoded.

svn path=/trunk/; revision=23326
2006-07-27 20:18:22 +00:00
Alex Ionescu
48d3c8e74f - Enable IopReferenceDeviceObject in IopParseDevice (not much use for now except OS "Correctness" and identifying broken drivers). DO referencing isn't fully used in the kernel yet.
- Fix broken drivers: i8042 and videoprt. NDIS might be broken too, but downloading worked fine for me, so it's not hitting the check in IopParseDevice.

svn path=/trunk/; revision=23325
2006-07-27 20:16:48 +00:00
Alex Ionescu
bef11ebb29 - Set DRVO_INITAILIZED flag for intiailized driver objects.
- Loop the list of devices created by the driver's DriverEntry and remove the DO_DEVICE_INITIALIZING flag.

svn path=/trunk/; revision=23324
2006-07-27 19:56:38 +00:00
Alex Ionescu
6e6d9ed927 - Fix some last STDCALL->NTAPI problems.
- Generate KUSER_SHARED_DATA cookie if it doesn't already exist when a user-mode thread runs.
- Remove the last Ps entry from kernel fun.

svn path=/trunk/; revision=23323
2006-07-27 18:28:26 +00:00
Alex Ionescu
22b41d9acf - Reimplement and activate NtQueryInformationThread.
- Remove kernel fun entry.

svn path=/trunk/; revision=23322
2006-07-27 17:09:42 +00:00
Andrew Munger
306688e01b "PnPify" ne2000, patch from Filip.
This allows the ne2000 driver to work with (and without) the new qemu acpi settings.

svn path=/trunk/; revision=23320
2006-07-27 16:52:03 +00:00
Alex Ionescu
248996ff72 - Reimplement and activate NtSetInformationThread.
svn path=/trunk/; revision=23319
2006-07-27 16:43:03 +00:00
Aleksey Bragin
148bbcc210 Add sm.exe to bootcd
svn path=/trunk/; revision=23318
2006-07-27 11:37:23 +00:00
Aleksey Bragin
96c732942d Fix sm.exe's compilation
svn path=/trunk/; revision=23315
2006-07-27 11:03:36 +00:00
Magnus Olsen
e95b8ee1f2 forgot the file.
patch from LMH1  : Bug#:  1682  :  Norwegian translation
note : sm are not include in building process, the source code have got begin to be rotten, it 
       can not longer be build. shall we delete it ? or shall some look into and make it
       work again, I am not voluntary todo either of it. some else for todo that. 

svn path=/trunk/; revision=23314
2006-07-27 08:36:37 +00:00
Magnus Olsen
27f868593a patch from LMH1 : Bug#: 1682 : Norwegian translation
note : sm are not include in building process, the source code have got begin to be rotten, it 
       can not longer be build. shall we delete it ? or shall some look into and make it
       work again, I am not voluntary todo either of it. some else for todo that. 

svn path=/trunk/; revision=23313
2006-07-27 08:35:46 +00:00
Magnus Olsen
a88bf9a848 patch from LMH1 : Bug#: 1681 : Norwegian translation
svn path=/trunk/; revision=23311
2006-07-27 08:21:29 +00:00
Magnus Olsen
82d4e57ee2 patch from LMH1 : Bug#: 1680 : Norwegian translation
svn path=/trunk/; revision=23310
2006-07-27 08:17:00 +00:00
Magnus Olsen
bdcc4dd0cb patch from LMH1 : Bug#: 1687 : Norwegian translation
svn path=/trunk/; revision=23309
2006-07-27 07:59:35 +00:00
Magnus Olsen
692e79dc80 patch from LMH1 : Bug#: 1686 : Norwegian translation
svn path=/trunk/; revision=23308
2006-07-27 07:55:55 +00:00
Magnus Olsen
03b940bdba patch from LMH1 : Bug#: 1683 : Norwegian translation
svn path=/trunk/; revision=23307
2006-07-27 07:50:33 +00:00
Magnus Olsen
57404c2c93 patch from LMH1 : Bug#: 1700 : Norwegian translation
svn path=/trunk/; revision=23306
2006-07-27 07:46:08 +00:00
Alex Ionescu
29a0553ced - Remove PspGetImagePath and use the new SeLocateProcessImageName instead.
It's still not fully XP-compatible, because it should return the entire name with the \Device\HardDisk0 path, but that is easily fixable by modifying the OB Type info for the device object to also use IopQueryNameFile (TODO).
- Update kernel fun with specifics about Cc-branch dereference bug and re-prioritize an I/O Bug.

svn path=/trunk/; revision=23305
2006-07-27 05:03:03 +00:00
James Tabor
55483dc7f6 - Part 2, Menu.c, cosmetic fixes. Fixed most of all the drawing issues. One outstanding needed fix is Lazarus. There maybe some tweaking needed, over all menus look nice.
svn path=/trunk/; revision=23304
2006-07-27 01:21:21 +00:00
Alex Ionescu
de6dc70c56 - Implement XP-style process name auditing to store the full name of the process in EPROCESS instead of only the first 16 ascii characters. This is required for one of the newer Info process classes. Implemented SeInitializeProcessAuditName and SeLocateProcessImageName.
- Remove #ifed out code in PspCreateProcess which was attempting to create the name structure. Add code to MmCreateProcessAddressSpace to initialize the audit name after the 16-byte name.
- Implement some helper APIs for better code refactoring.
- TODO: Get rid of PspGetImagePath and wrap around SeLocateProcessImageName instead.

svn path=/trunk/; revision=23303
2006-07-27 00:22:36 +00:00
Alex Ionescu
f0166aaf6e - Fix multiple bugs in VfatGetNameInformation:
* Return the file name length even if the buffer is too small, that's the whole point of the "Query length before comitting a buffer" principle.
  * FSDs are not supposed to null-terminate the buffer, nor expect the caller to send a buffer large enough for null-termination.
  * Added a hack in IopQueryFile to handle another VFAT bug which makes it return the total number of bytes written in IoStatus.Information instead of the total number of bytes *left untouched*.There are probably many other broken things due to this.
- Fix some length calculation bugs in IopQueryFile.

svn path=/trunk/; revision=23302
2006-07-27 00:13:14 +00:00
Johannes Anderwald
c0e140d91b * Ukrainian translation by Temarez (bug 1713)
* fix a warning

svn path=/trunk/; revision=23301
2006-07-26 20:41:38 +00:00
Alex Ionescu
4a34b5d7b6 - More kernel fun
svn path=/trunk/; revision=23298
2006-07-26 07:18:06 +00:00
Maarten Bosma
37fbfe0d73 Added module list needed to generate the xml. It contains all Kernel, KernelModeDLL, NativeDLL and Win32DLL modules. I produced it by hacking rbuild.
svn path=/trunk/; revision=23295
2006-07-25 21:45:23 +00:00
Maarten Bosma
f83c1d1963 Copy the needed xsl file from trunk\cis to tools\rgenstat\web.
svn path=/trunk/; revision=23294
2006-07-25 21:34:21 +00:00
Ged Murphy
c4abac4743 Export CPlApplet() as stdcall
patch from Thomas Weidenmueller 

svn path=/trunk/; revision=23293
2006-07-25 21:19:31 +00:00
Alex Ionescu
986d920762 - Fix a bug in LPC creation (missing one handle) and LPC closing (was not properly closing the port). This caused LPC_PORT_CLOSED never to be sent, and thus CSRSS never received and never closed its handle of the process, meaning that all win32 processes leaked.
- As a result, processes can die again, and also be killed by Task Manager.
- And finally, "Exit" in cmd.exe as well as pressing the "x" button work.

svn path=/trunk/; revision=23292
2006-07-25 20:21:24 +00:00
Ged Murphy
fb050d7eb5 quick build fix
Code needs fixing (and formatting) correctly.

svn path=/trunk/; revision=23291
2006-07-25 20:02:26 +00:00
Alex Ionescu
a9183e6f8f - Hack FPU handler. 2nd stage installation now works if you had a crash, as well as any other crash where your trace indidicated one of the following: "CoordLpToDP", "KiHandleFpuFault".
svn path=/trunk/; revision=23290
2006-07-25 19:49:53 +00:00
Magnus Olsen
b1961cb16c Move some stuff from createsurface to startup.c
Bugfix some other stuff

svn path=/trunk/; revision=23289
2006-07-25 19:20:49 +00:00
Magnus Olsen
4ca3d3c07b rewrote Main_DDrawSurface_AddAttachedSurface lite so we are using Gdientry DdattachSurface and using wine attach code.
to keep Hal compatible. 
 

svn path=/trunk/; revision=23288
2006-07-25 17:31:07 +00:00
Magnus Olsen
21f9a961c8 Implement Main_DDrawSurface_EnumAttachedSurfaces after wine desgin of it
we need rewrite Createsurface and Implement AttahedSurface 
Thanks to wine code and some wine devloper to expain how it works

I got one more directx sdk sample working parlty with this change. 


svn path=/trunk/; revision=23287
2006-07-25 16:57:57 +00:00
Magnus Olsen
0b21a745a5 fixing bsod in GetAttachSurface when pointer is NULL
svn path=/trunk/; revision=23286
2006-07-25 16:04:10 +00:00
Maarten Bosma
2e4a553ff9 Also committed the red leds because they are way better readable.
svn path=/trunk/; revision=23285
2006-07-25 14:59:13 +00:00
Maarten Bosma
cb544d38c3 Apal (Bug 1632): "I tested winemine but I really didn't enjoy the color combination, so I decided to change it a little bit so as to appear more like classic Windows' minesweeper!"
svn path=/trunk/; revision=23284
2006-07-25 14:43:00 +00:00
Magnus Olsen
3fadd1de23 Implement Main_DDrawSurface_GetAttachedSurface after wine desgin of it
we need rewrite Createsurface and Implement AttahedSurface 
Thanks to wine code and some wine devloper to expain how it works

svn path=/trunk/; revision=23283
2006-07-25 12:21:00 +00:00
Magnus Olsen
c9bdabd39c patch from LMH1 : Bug#: 1678 : Norwegian translation
svn path=/trunk/; revision=23282
2006-07-25 09:02:45 +00:00
Magnus Olsen
23904d50da patch from LMH1 : Bug#: 1677 : Norwegian translation
svn path=/trunk/; revision=23281
2006-07-25 08:57:37 +00:00
Magnus Olsen
174722893e patch from LMH1 : Bug#: 1676 : Norwegian translation
svn path=/trunk/; revision=23280
2006-07-25 08:41:07 +00:00
Johannes Anderwald
2a6b31d0e7 Ukraianian translation by Temarez
svn path=/trunk/; revision=23279
2006-07-25 07:12:28 +00:00
Johannes Anderwald
667ed9aa18 Ukraianian translation by Temarez
svn path=/trunk/; revision=23278
2006-07-25 07:10:14 +00:00
Johannes Anderwald
0c45200a84 Ukraianian translation by Temarez
svn path=/trunk/; revision=23277
2006-07-25 07:06:38 +00:00
Johannes Anderwald
b3d053f7bd Ukraianian translation by Temarez
svn path=/trunk/; revision=23276
2006-07-25 07:03:34 +00:00
Johannes Anderwald
e42675c8e7 Ukraianian translation by Temarez
svn path=/trunk/; revision=23275
2006-07-25 07:02:51 +00:00
James Tabor
b8da24b40b Broken explorer popups with IsBadString, revert string pointer checking. Misc fix to win32k menu and removed byposition flag check and save.
svn path=/trunk/; revision=23274
2006-07-25 00:50:35 +00:00
Magnus Olsen
f1470917fa 1. Cleanup some stuff
2. Fixing the build again
3. Fixing a memory leak.

svn path=/trunk/; revision=23273
2006-07-24 22:02:13 +00:00
Magnus Olsen
6561a4a6b2 Kill more of the old design.
svn path=/trunk/; revision=23272
2006-07-24 21:51:31 +00:00
The Wine Synchronizer
0f10d5736f Alexey Minnekhanov:
- Registry keys are created if they don't exist
 - "Custom colors" are stored in the registry too now (tested to work under Windows XP)
 - Fixed a check during adding of a new wallpaper to the list. Now it will actually deny addition of the same wallpaper image more than once
 - Some TAB -> Spaces fixes

svn path=/trunk/; revision=23271
2006-07-24 21:24:10 +00:00
Magnus Olsen
36b80aa9b3 Kill more of the old design.
svn path=/trunk/; revision=23270
2006-07-24 21:00:01 +00:00
Magnus Olsen
af150158bb Kill more of the old design.
svn path=/trunk/; revision=23269
2006-07-24 19:13:31 +00:00
Magnus Olsen
44cab3a37e Sorry I have create a mess in ddraw.c
1. found why createsurface did stop working, fixed
2. Split some surface member betwin gbl and lcl struct 
3. Reimplement the revert I did, implement Revision: 23263 and Revision: 23262 again
4. Revert new createsurface code and setdisplay mode code that was intrudes 
5. Alot other changes as well. 
6. Todo Need remove the old code for HAL and HEL split. 
7. move Our ddraw working again with apps it did work with.
8. Almost complete kill the file ddraw_hal.c some api is left be kill for at moment they are in use




svn path=/trunk/; revision=23268
2006-07-24 18:29:02 +00:00
Hervé Poussineau
5b0708bb5f Entries in HKLM\SYSTEM\CurrentControlSet\Control\NLS\Locale should be of type REG_SZ, not REG_DWORD
svn path=/trunk/; revision=23267
2006-07-24 16:46:23 +00:00
Magnus Olsen
8a9ccfa7da revert Revision: 23263 and Revision: 23262 something is wrong with them
svn path=/trunk/; revision=23266
2006-07-24 15:37:03 +00:00
Hervé Poussineau
1a11ca877f Don't try to free twice a pointer.
svn path=/trunk/; revision=23264
2006-07-24 12:14:26 +00:00
Magnus Olsen
8f7ebb2923 Kill a ungly hack; I will rewrite it later
svn path=/trunk/; revision=23263
2006-07-24 08:34:18 +00:00
Magnus Olsen
836b9930a0 1. move some member from global DirectDraw struct to Surface struct.
2. Free some memory I forget
3. Move some surface code to startup.c for it is global info. 
4. Cleaning up bit more in ddraw_main.c 

Regress to createsurface for some apps that did work. 
Can not be help at moment. only 1 ms dx sdk 6 directdraw apps work, and DrFred demo apps. 
will fix this regress later. 
 

svn path=/trunk/; revision=23262
2006-07-24 08:31:22 +00:00
Magnus Olsen
a937d122c1 Revert 23251 it causing regress and it is ungly hack
svn path=/trunk/; revision=23261
2006-07-24 06:28:30 +00:00
Alex Ionescu
9b5a87cdac - Fix trace macro to print line number in decimal, not hex.
- Implement PspSetCrossThreadFlag and PspClearCrossThreadFlag and use them. Thanks to Thomas for the idea.
- Fix a bug in Fast Referencing, thanks to Thomas.

svn path=/trunk/; revision=23260
2006-07-23 21:38:31 +00:00
Magnus Olsen
5cfb6a6d48 really small change using DDSURFACEDESC2 instead of DDSURFACEDESC, for these struct basic same but DDSURFACEDESC2 have few more member at end. and it is type casted around DDSURFACEDESC when it pass down. u can found that info in msdn, ddk, sdk
svn path=/trunk/; revision=23259
2006-07-23 20:54:53 +00:00
Magnus Olsen
7b88a669e2 Forget remove ref in rosdraw.h
svn path=/trunk/; revision=23258
2006-07-23 20:39:46 +00:00
Magnus Olsen
414ef85877 1. start Cleaning up ddraw_main.c
2. Implement (not tested) CreatePalette it can use HAL or HEL 
3. change DirectDraw_Addref and DirectDraw_Release using document dwRefCnt in DDRAWI_DIRECTDRAW_LCL
4. change Palette_Addref and Palette_Release using document dwRefCnt in DDRAWI_DDRAWPALETTE_GBL

more cleanup will follow

svn path=/trunk/; revision=23257
2006-07-23 20:38:28 +00:00
Alex Ionescu
251250ad96 - Temporarly disable screensaver code. Sorry greatlord but you're creating 150 realtime threads per minute and killing the system with the code. Please fix it.
- Fix some incorrect tracing macro usage and make it add the current line.
- Re-organize I/O bugs per priority.

svn path=/trunk/; revision=23256
2006-07-23 20:12:45 +00:00
Magnus Olsen
c9ef32aff5 Forget commit some changes
svn path=/trunk/; revision=23255
2006-07-23 19:57:36 +00:00
Alex Ionescu
881a60f895 - Add tracing in process/thread.c as well.
- Add a new tracing class/macro for reference counts and add it in kill/process/thread.c.
- Remove tracing TODO from kernel fun.

svn path=/trunk/; revision=23254
2006-07-23 19:45:16 +00:00
Magnus Olsen
6cf55b644f Patch from w3seek
svn path=/trunk/; revision=23253
2006-07-23 19:14:19 +00:00
Magnus Olsen
92583a9250 1. Implement check for DDCREATE_HARDWAREONLY and DDCREATE_EMULATIONONLY in CreateDraw and CreateDrawEx
2. Implement activate of DDCREATE_HARDWAREONLY and DDCREATE_EMULATIONONLY in StartupDirectDraw
3. Fix correct return value when pUnkOuter is not NULL in CreateDraw and CreateDrawEx

Now we can activate deactive HAL or HEL and use one of thuse interface.

svn path=/trunk/; revision=23252
2006-07-23 19:03:41 +00:00
Johannes Anderwald
bef2c32a89 * use supplied parent window handle when class is of type system
* this is temp hack for getting edit controls with notification windows going
* reduces user32_winetest.exe from 43 to 2 total faults

svn path=/trunk/; revision=23251
2006-07-23 18:12:19 +00:00
Alex Ionescu
e685ced6d0 - Add ObGetObjectSecurity calls like in PspCreateProcess to check the thread's level of access towards itself.
- Add code to handle two more failure (the last, afaics) cases.
- Get rid of 2 kernel fun entries.

svn path=/trunk/; revision=23250
2006-07-23 17:56:57 +00:00
Alex Ionescu
3774a4b259 - Acquire Process lock when touching the thread list entry and incrementing the process' active threads.
- Set the Thread Create Time on creation, I had forgotten this!
- Handle failures for thread-safety/race conditions. If the process was deleted or the thread terminated behind our back, then go through a manual un-initalization code path.
- Just like previous process patch, add code to now create an access state with SeCreateAccessStateEx.
- Handle failure of ObInsertObject.

svn path=/trunk/; revision=23249
2006-07-23 17:45:30 +00:00
Alex Ionescu
78ffb6aecc - Make use of PsChangeQuantumTable on system startup to setup the raw priority separation.
- Call PspComputeQuantumAndPriority in PspCreateProcess to calculate process base priority and quantum for child threads.
- Add security code to calculate process's access rights to itself, as documented in WI II.

svn path=/trunk/; revision=23248
2006-07-23 17:01:43 +00:00
Magnus Olsen
b1bc28f878 1. Remove more dead code after all commit
2. Move Cleanup code to own file.

svn path=/trunk/; revision=23247
2006-07-23 15:37:57 +00:00
Magnus Olsen
a845d3f67d Implement HELDdSetmode
1. it is hacked, this small hack need be rewriten later. 
   But lest we got back same compatible we had with our ddraw.dll
   in windows. 

svn path=/trunk/; revision=23246
2006-07-23 15:09:06 +00:00
Magnus Olsen
5bd92faae5 Remove alot HAL and HEL split and make the split into startup.c instead.
it will save us the time to write same code twice. and it is extream 
easy to adding HEL api. U can look at ddk and sdk how Dd* api works
and write then proper HEL for it. 

1. I have break the HEL version of set display for we need it follow DdSetMode 
   and no code have been rewriten for it yet.


 

svn path=/trunk/; revision=23245
2006-07-23 13:13:07 +00:00
Eric Kohl
534e2e28c0 Implement CM_Get_Log_Conf_Priority[_Ex] and add PNP_GetLogConfPriority stub.
svn path=/trunk/; revision=23242
2006-07-23 10:35:27 +00:00
Magnus Olsen
c1ecf8175e Now is the move of all startup code complete.
Starting redesign it. and alot of files will be delete

svn path=/trunk/; revision=23241
2006-07-23 10:21:30 +00:00
Magnus Olsen
bbc166ce1d move more code into startup.c
svn path=/trunk/; revision=23240
2006-07-23 10:12:08 +00:00
Johannes Anderwald
11459c8cc4 * add ukrainian translation by Temarez
* fixes bug 1706

svn path=/trunk/; revision=23239
2006-07-23 09:59:30 +00:00
Magnus Olsen
a3842a1f4e Start cleaing up DDraw.dll I start moving all startup code for HAL and HEL to startup.c. It will kill alot of files and code
and we can adodate our ddraw to wine ddraw design, at end. 

svn path=/trunk/; revision=23238
2006-07-23 09:57:15 +00:00
Johannes Anderwald
ca4d6063a2 * add automatic powrprof diff for winesync
svn path=/trunk/; revision=23237
2006-07-23 09:56:59 +00:00
Alex Ionescu
1223ca9cab - Refactor SeCaptureSubjectContext into SeCaptureSubjectContextEx and SeCreateAccessState into SeCreateAccessStateEx. The *Ex routines allow specifying a custom process/thread which isn't the current one. This is useful when creating a new process or thread since we're not actually in it.
- Implemented a bit more security calls in PspCreateProcess as seen in WI II. We now create an AccessState.
- Also write the PID in the ObjectTable.

svn path=/trunk/; revision=23236
2006-07-23 08:20:57 +00:00
Alex Ionescu
a92eec4397 - SeAccessCheck should assume failure if no SD was passed. Also fixes bugcheck on startup since processes don't currently have SDs.
svn path=/trunk/; revision=23235
2006-07-23 07:24:20 +00:00
Alex Ionescu
a818a86bf9 - Fixup PSTRACE to print much nicer output and actually work.
- Add tracing for security.c and kill.c.

svn path=/trunk/; revision=23234
2006-07-23 07:13:19 +00:00
Alex Ionescu
90ea51a96b - ImperstionationLocale -> ImpersonationLocale.
- Implement PspWriteTebImpersonationInfo for setting the impersonation locale and impersonation status in the TEB (since User-mode needs to read this value and we don't want to NtQueryInformationThread for it each time to read the ETHERAD flag).
- Complete the implementation of PspSetPrimaryToken to recalculate a process's access rights to itself based on a new primary token.
- Reorganize ps.h header like ob.h and io.h, implement Tracing support but not the tracing itself yet.
- Get rid of some deprecated cruft.

svn path=/trunk/; revision=23233
2006-07-23 05:43:28 +00:00
Alex Ionescu
04e0d8c7bf [AUDIT] - The entire /kd directory is clear. We do not implement any Kd support in ReactOS, and I very much doubt someone implemented GDB or BOCHS support based reverse-engineering NT since NT happens not to have a GDB/BOCHS stub built-in (what a surprise!).
svn path=/trunk/; revision=23232
2006-07-23 05:43:00 +00:00
Alex Ionescu
59c6a927a2 - CT_ACTIVE_IMPERSTIONATION_INFO_BIT -> CT_ACTIVE_IMPERSONATION_INFO_BIT
- Added Process and Thread locking inlined functions for Ps Security functions.
- Thread safety is your friend! Huge rework of almost all the functions in ps/security.c to use the process/thread pushlocks and use interlocked operations when dealing with the ActiveImpersonationInfo thread flag.
- Added PAGED_CODE().
- Added checks for Processes with Jobs for the day that will happen.
- PsAssignImpersoonationToken with a NULL token handle means simply to revert to self.
- Don't ignore the HandleAttributes in NtOpenProcessTokenEx.
- Use SeTokenType to make sure the token passed is an impersonation token.
- Remove some fixed bugs in krnlfun.c, add more TODOs.

svn path=/trunk/; revision=23231
2006-07-22 22:57:42 +00:00
Klemens Friedl
0cc0655c20 Add software patent setting to build config template.
Implement the setting in freetype2 (rbuild file).

svn path=/trunk/; revision=23230
2006-07-22 19:38:18 +00:00
Alex Ionescu
7af4849812 - Implement KiRecalculateDueTime to handle cases where a timeout wait has been interupted by an APC or alerted, and it needs to be recalculated in the relative case. (This fixes the "contact alex" bugcheck).
svn path=/trunk/; revision=23229
2006-07-22 17:19:09 +00:00
Brandon Turner
d310e2ae8c Fix typo.
svn path=/trunk/; revision=23228
2006-07-22 17:03:00 +00:00
Brandon Turner
25b81049eb Partially implement:
NtUserCallHwndOpt
NtUserGetThreadState
Implement
GetProgmanWindow
GetTaskmanWindow
This is (kinda)part of bug 1668

svn path=/trunk/; revision=23227
2006-07-22 16:50:23 +00:00
Alex Ionescu
db04986dce - Give winlogon SE_ASSIGNPRIMARYTOKEN_PRIVILEGE because it was lacking it and would fail under this kernel patch.
- PspAssignPrimaryToken was good enough for actually *assigning* the token, but when NtSetInfoProcess is called with ProcessPrimaryToken, we want to do a lot more then just randomly assigning it. Added PspSetPrimaryToken which first verifies if the token being assigned is a child token and if not, checks for SeAssignPrimaryTokenPrivilege. Also added a fixme for more code that's needed, to actually re-calculate the process's granted access towards itself. Also added thread-safety.

svn path=/trunk/; revision=23226
2006-07-22 16:03:12 +00:00
Eric Kohl
e553dd4145 Implement CM_Get_Next_Log_Conf[_Ex] and add PNP_GetNextLogConf stub.
svn path=/trunk/; revision=23225
2006-07-22 14:45:14 +00:00
James Tabor
7f907bd0ac Fix for TrackMouseEvent by Dmitry Timoshkov, wine port.
svn path=/trunk/; revision=23224
2006-07-22 07:04:44 +00:00
Brandon Turner
1c87e124a6 you can thank me later jim ;)
svn path=/trunk/; revision=23223
2006-07-22 05:50:06 +00:00
James Tabor
db1b46702a Put back revision 23192
svn path=/trunk/; revision=23222
2006-07-22 05:37:33 +00:00
James Tabor
07b6ddc2b6 -Part 1
-Win32k and User32
  - Menu.c: Made set menu items selective masking. Setting masks fixed the garbage going into the item structure. Now right justify menu bar works. There are some more cosmetic issues left to do. I have those ready next week or so. Running wine menu test fail due to exception in kernel32 IsBadStringPtrA&W isbad.c. Funny? Does PSEH work in user mode? The string test is needed. Misc fixed, some restructuring and Wine ports. Please let me know if it breaks something.

svn path=/trunk/; revision=23221
2006-07-22 05:28:44 +00:00
Brandon Turner
4a6251c297 Revert my backspace patch from before. I found a better way to handle backspaces which doesnt break backspacing in ftp.exe(and some of apps) while still fixing ncftp.exe.
svn path=/trunk/; revision=23220
2006-07-22 05:16:26 +00:00
Hervé Poussineau
c1d9e2bb6c Get rid of TCHAR variables. Use WCHAR instead.
svn path=/trunk/; revision=23219
2006-07-21 22:15:21 +00:00
Brandon Turner
a6bd824e02 Fix the horribly broken SetProgramWindow implementation
svn path=/trunk/; revision=23218
2006-07-21 21:11:46 +00:00
Alex Ionescu
da390966cc - Add bugcheck CRITICAL_OBJECT_TERMINATED
- Implement PspCatchCriticalBreak and fix the 5 or so FIXMEs that depended on it.

svn path=/trunk/; revision=23216
2006-07-21 19:59:16 +00:00
Hervé Poussineau
4dfbe6ea8c Add a hack to be able to use serial mice again (IRP_MJ_CLOSE is not set after IoGetDeviceObjectPointer() + ObDereferenceObject())
svn path=/trunk/; revision=23215
2006-07-21 19:49:32 +00:00
Alex Ionescu
2f2139d851 - Implement Kernel, Memory Manager and Process Manager APIs for the following concepts (not yet used):
- Process Quantum.
  - Fixed and Variable Quantum Tables.
  - Long and Short Quantum Variability.
  - Priority Separation and Separation Masks.
  - Foreground Quantum Table.
  - Process Priority, Priority Modes and Priority Classes.
  - Virtual Memory Priority
  - Job Scheduling Classes
- Implement PsSetProcessPriorityByClass.

svn path=/trunk/; revision=23214
2006-07-21 19:28:38 +00:00
Hervé Poussineau
3ea8db48b1 Fix regression introduced in r23174, which prevented autochk to work
svn path=/trunk/; revision=23212
2006-07-21 19:00:28 +00:00
The Wine Synchronizer
9924c52e90 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23211
2006-07-21 13:07:57 +00:00
The Wine Synchronizer
fb4c0e59ed Autosyncing with Wine HEAD
svn path=/trunk/; revision=23210
2006-07-21 13:07:51 +00:00
The Wine Synchronizer
6c0bd6bc60 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23209
2006-07-21 13:05:13 +00:00
The Wine Synchronizer
d2f18185df Autosyncing with Wine HEAD
svn path=/trunk/; revision=23208
2006-07-21 13:05:07 +00:00
The Wine Synchronizer
9046d40509 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23207
2006-07-21 13:05:00 +00:00
The Wine Synchronizer
5a5dc9a1c4 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23206
2006-07-21 13:04:55 +00:00
The Wine Synchronizer
e1450f1b74 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23205
2006-07-21 13:04:49 +00:00
Aleksey Bragin
c280f26aa5 Update autosyncing status of Wine-shared DLLs
svn path=/trunk/; revision=23204
2006-07-21 12:49:46 +00:00
The Wine Synchronizer
b82b5be98b Autosyncing with Wine HEAD
svn path=/trunk/; revision=23203
2006-07-21 11:30:20 +00:00
The Wine Synchronizer
4a1626a594 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23202
2006-07-21 11:20:23 +00:00
The Wine Synchronizer
fb9067d427 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23201
2006-07-21 11:13:18 +00:00
Magnus Olsen
74739f95d9 patch from LMH1 : Bug#: 1675 : Norwegian translation
svn path=/trunk/; revision=23200
2006-07-21 10:23:55 +00:00
Alex Ionescu
0355e26a86 - Use safe referencing.
- Fix a bug in PsGetNextProcess(Thread) since we now use safe referencing and the lookup loop can continue.

svn path=/trunk/; revision=23199
2006-07-20 18:47:35 +00:00
Alex Ionescu
5da6c3508f - Refactor NtSuspend/ResumeThread into PsSuspend/ResumeThread.
- Implement NtSuspend/ResumeProcess with PsSuspend/ResumeProcess.
- Improve the previous code to use rundown protection and be thread-safe.

svn path=/trunk/; revision=23198
2006-07-20 18:29:54 +00:00
Alex Ionescu
e9600e4c9c - Add Pushlock support for GCC (Thanks Thomas!)
- Remove a bunch of deprecated crap from ps.h
- Get rid of PsLockProcess, PsUnlockProcess. Use the process pushlock instead.
- When assigning the job, only acquiring rundown protection is enough.
- Use interlocked intrinsics for setting the ExceptionPort instead of locking the entire process object.
- Disable locking in ProcessSessionInformation for NtSetInformationProcess. The whole API seems wrong anyway, on my XP machine calling it does not change the session or change any token data. To verify later...

svn path=/trunk/; revision=23197
2006-07-20 17:44:30 +00:00
Michele Cicciotti
82aa6e1250 Too many changes to list here! just see screenshot: http://img352.imageshack.us/my.php?image=socloseta2.png (not pictured: artifacts due to sometimes-broken handling of window region refreshing)
The graphics, mouse and keyboard are virtually done. Mouse wheel works. Still some bugs in the handling of binary raster operation codes, but less than before. Fixed polyline. Fixed all cursor issues. Fully supports text output. Fixed a resource leak where all clipping region were slowly leaked. Now closes cleanly on server disconnect

Moving on to more fun things!

Many thanks to filip & WaxDragon for the code of the previous Win32 port, it was misleading at times but very useful overall!

svn path=/trunk/; revision=23196
2006-07-20 17:11:00 +00:00
Alex Ionescu
40a3a52a7b - Add some final missing annotations to kill.c
[AUDIT]
 - Most of the functions are documented at length in Windows Internals II and at a more high-level fashion in Windows Internals 4 and were based on that information. Undocumented routines were based of the operations done in the documented ones (for example, freeing buffers that we know were allocated, etc).

svn path=/trunk/; revision=23195
2006-07-20 16:30:07 +00:00
Alex Ionescu
a92681004e - Move a bunch of externs to ps.h and delete many dupped/tripped ones.
- Change FAST_MUTEX PsActiveProcessMutex to KGUARDED_MUTEX.
- Define PS Flags and use them, isntead of magic numbers. (For magic mushrooms, you'll have to wait a while, these aren't implemented yet).

svn path=/trunk/; revision=23194
2006-07-20 16:26:10 +00:00
Alex Ionescu
a74eda7fe8 - Fix Win32K thread rundown bug, fixes shutdown crash and other bugchecks where some ASSERT(Class->windows) wasn't 0.
- Close the right debug handle instead of some random value.
- Some generic formatting cleanup.

svn path=/trunk/; revision=23193
2006-07-20 15:46:10 +00:00
Alex Ionescu
502215cb1c - Simplify PsGetNextProcess so it works like PsGetNextProcessThread.
- Reformat and annotate parts of process.c
- Remove PsGetWin32Process, PsGetWin32Thread and implement/export the real functions PsGetCurrentProcessWin32Process, PsGetCurrentThreadWin32Thread, change win32k to use them.
- Initailize and use process rundown.
- Set corrent GrantedAccess.
- Remove an extra incorrect reference we were adding to processes.
- Implement PsIsProcessBeingDebugged.
- Make the same changes to NtOpenProcess that we did previously to NtOpenThread.

svn path=/trunk/; revision=23192
2006-07-20 14:53:47 +00:00
Aleksey Bragin
18726a1fac Spaces -> TABs, no contents change
svn path=/trunk/; revision=23191
2006-07-20 09:32:50 +00:00
Magnus Olsen
e0377113db start spliting up my code. I been writing
1. DD_CALLBACKS code writen by me have been move to dd.c 

2. follow DD_CALLBACKS api is working as they should 
   NtGdiDdWaitForVerticalBlank, NtGdiDdCanCreateSurface, NtGdiDdGetScanLine

3. follow api does not working as it should, is it gdi32 problem or win32k problem for it ?
   NtGdiDdCreateSurface

4. Start rewriten surf callback and cleanup some code 
   alot wrong with them.

5. start moving surface callback to ddsurf.c 
 

 

svn path=/trunk/; revision=23189
2006-07-20 07:23:21 +00:00
Hervé Poussineau
7b45b10011 Rename twain32.rbuild to twain_32.rbuild
svn path=/trunk/; revision=23188
2006-07-20 07:09:20 +00:00
Hervé Poussineau
85a4e7f1ba Delete now useless twain directory
svn path=/trunk/; revision=23186
2006-07-20 06:38:33 +00:00
Hervé Poussineau
a5440df642 Forgot to commit this file with previous commit ;)
svn path=/trunk/; revision=23185
2006-07-20 06:27:35 +00:00
Hervé Poussineau
19dabc7661 Copy twain directory to twain_32
svn path=/trunk/; revision=23184
2006-07-20 06:26:09 +00:00
Filip Navara
602677e8f5 Fix a bug in RtlMultiByteToUnicodeSize. Credits belong to whoever debugged it.
svn path=/trunk/; revision=23183
2006-07-20 06:25:51 +00:00
Hervé Poussineau
2c1a305f03 Rename twain32.rbuild to twain_32.rbuild
svn path=/trunk/; revision=23182
2006-07-20 06:15:24 +00:00
Alex Ionescu
50f095a47e - Fix for bug 1703. reported by gkrupa.
svn path=/trunk/; revision=23181
2006-07-20 05:39:40 +00:00
Alex Ionescu
d4cceffe59 [AUDIT]
- 90% of the functions in this file are 1 line functions which set or get a value from ETHREAD.
 - The other 4 functions are related to User and System Thread Startup APCs, which are documented in gruesome detail and pseudo-code in Windows Internals 4 and Windows Internals II, as well as the main Thread Creation routine (PspCreateThread) which is one of the most well documented internal routines of NT. Code was developped in conjuction with WI4 and WI II.

svn path=/trunk/; revision=23180
2006-07-20 05:37:12 +00:00
Alex Ionescu
ed65a3293e - Move ExGetPreviousMode to \ex, it's not a Ps function
- Organize thread.c into private/public functions properly.
- Do another pass of formatting fixes and function annotation.
- Fix a bug in PspSystemStartup.
- Properly hold object references towards a thread that's being created.
- Set the Thread->GrantedAccess value.
- Update NtOpenThread to use an Access State since these work now and Ob respects them, and also add a special hack present on NT: If the SeDEbugPrivilege is present, then the caller will get full thread access regardless of his rights.

svn path=/trunk/; revision=23179
2006-07-20 05:33:03 +00:00
Alex Ionescu
88aac74efb - More kernel fun.
svn path=/trunk/; revision=23178
2006-07-20 03:10:32 +00:00
Alex Ionescu
9bd4990de5 [AUDIT]
- PspGetImagePath: internal to ROS and reads the image path pretty differently from how NT does it.
 - NtQuery/Set functions: although huge in size, they are just a set of 2-10 line sub-functions which only transfer data from EPROCESS into a usermode structure or vice-versa. Fully documented in Nebett's book, and we have many test cases in the tree which show their clean implementation.
 - Also, our nice automatgic buffer validation and size checks are 100% Thomas's genius and not used in NT at all.
 - Thus, file is clean.

svn path=/trunk/; revision=23177
2006-07-20 03:09:40 +00:00
Alex Ionescu
6e8d8b5e84 - Formatting cleanup and optimizations to NtSetInformationProcess.
svn path=/trunk/; revision=23176
2006-07-20 03:05:46 +00:00
Alex Ionescu
2278c2914f - Major formatting cleanup and optimizations to NtQueryInformationProcess so that it does not burn the eyes of anyone that might attempt to read it.
svn path=/trunk/; revision=23175
2006-07-20 00:13:09 +00:00
Alex Ionescu
69995705e9 - Cleanup the mess in query.c by reformatting the code to remove tab/space confusion and 2-space identation.
- Removed the InfoClass tables and got rid of the thread semi-infoclass table. Created a real InfoClass stub table for thread information
- Moved info class tables to a new header, ps_i.h
- Simplified syntax of info class macros so that sizeof() is done automatically for the type/alignment.
- Reformatted the tables completely to present them in a plesing, ordered, readable fashion.
- Added some missing info classes.
- Added ARRAYSIZE, RTL_NUMBER_OF(V1/V2) and used them in the info code.
- *TEMPORARILY* disable NtQuery/SetThreadInformation until next patch when it can be made to work.

svn path=/trunk/; revision=23174
2006-07-19 23:21:19 +00:00
Aleksey Bragin
d78c254a8d Revert 23170, since these registry keys should not be mandatory (simple test case: delete this registry entry in Windows XP using regedit, open desk.cpl, choose your params, click apply - all registry entries will be re-created).
Fix for reactos desk.cpl will follow.

svn path=/trunk/; revision=23173
2006-07-19 19:43:55 +00:00
Maarten Bosma
6eca31ac9d - Use clipper so we can use a normal instead of a popup window
- Fix my old coding style and get rid of main.h
- Change he color to pink for alternation

svn path=/trunk/; revision=23172
2006-07-19 10:30:30 +00:00
Aleksey Bragin
d1ecea1424 Alexey Minnekhanov (minlexx@rambler.ru):
- Implement setting of desktop background color. This feature is tested to work in Windows XP, however in ReactOS the setting currently does no effect.
- Improve russian translation, also check and fix layout/placement (so that russian words actually fit)

svn path=/trunk/; revision=23171
2006-07-19 08:45:21 +00:00
Aleksey Bragin
85f58646b3 Add HKCU\Control Panel\Colors\Background key for storing desktop background color (Windows XP stores it in this key)
svn path=/trunk/; revision=23170
2006-07-19 08:40:38 +00:00
James Tabor
bf0906f9ed User32 Implement MenuTrackKbdMenuBar, it does work but, alt f works but hit alt again goes into a message loop. So hit alt f than esc esc. If hit alt f than alt v or something else the popup menu stays displayed until the program has terminated.
svn path=/trunk/; revision=23169
2006-07-19 07:10:56 +00:00
Magnus Olsen
ed119adcef hacking NtGdiDdResetVisrgn so it lest say clip have not change. for now
svn path=/trunk/; revision=23168
2006-07-19 02:14:26 +00:00
Magnus Olsen
64918dadb2 more source cleanup
svn path=/trunk/; revision=23167
2006-07-19 02:03:22 +00:00
Magnus Olsen
342b9f2cdb small cleanup of the code in this file.
and alot of callbacks working as they should if a drv support it.

svn path=/trunk/; revision=23166
2006-07-19 01:49:55 +00:00
Magnus Olsen
0353857608 Complete NtGdiDdQueryDirectDrawObject now we support all 3d callbacks.
svn path=/trunk/; revision=23165
2006-07-19 01:40:06 +00:00
Magnus Olsen
f2f19d2e9a cleanup NtGdiDdCreateSurface
we can now create a surface from DdCreateSurface. 

svn path=/trunk/; revision=23164
2006-07-19 00:41:18 +00:00
Magnus Olsen
5483a9b9dc Fixing small bug in DdCreateSurface
svn path=/trunk/; revision=23163
2006-07-19 00:39:03 +00:00
Magnus Olsen
fdcc54dc69 framebuf
Implement DdCreateSurface not tested. 
Bugfix the prototyped. 

svn path=/trunk/; revision=23162
2006-07-18 23:56:48 +00:00
Aleksey Bragin
d457403caf Add traceprints, and temporarily comment out NDEBUG
svn path=/trunk/; revision=23161
2006-07-18 19:06:30 +00:00
Magnus Olsen
8fdd3538a9 rewrote NtGdiDdQueryDirectDrawObject for I must have been drunk when I wrote it frist time.
Now we manger getting gdientry2 working more or less here is a log how far I have come 
I have not implement create surface for the drv yet. But it showing lest how far dxhaltest
comes. as u all can see it is not far before we getting dx hal working out of the box from
win32k and gdi32. I will thank all people that have been invlove in this, DrFred to helping debug betwin ddraw.dll gdi32.dll 
with his sniffer apps, Alex for GdiEntry2, and some other help, W3seek, Filip, GvG help me to understand how our win32k how it works
and some other info. to make so far posible, it is now posible to load a graphic driver directx hal support in ros. But I do not known how well it works yet, after it is the frist public version that working so far.  
 
ddraw.c:60) NtGdiDdCreateDirectDrawObject
ddraw.c:140) DirectDraw return handler 0x3b6001e4
ddraw.c:170) NtGdiDdQueryDirectDrawObject
ddraw.c:247) Found DirectDraw CallBack for 2D and 3D Hal
ddraw.c:170) NtGdiDdQueryDirectDrawObject
ddraw.c:247) Found DirectDraw CallBack for 2D and 3D Hal
ddraw.c:432) NtGdiDdCanCreateSurface
ddraw.c:348) NtGdiDdCreateSurface

svn path=/trunk/; revision=23160
2006-07-18 19:04:41 +00:00
Magnus Olsen
b1863c2944 DrvGetDirectDrawInfo
fixing a bug I did set halinfo to wrong size

svn path=/trunk/; revision=23159
2006-07-18 18:55:11 +00:00
James Tabor
83ef67c550 Little patch, help distinguish between Bitmap and Text drawing or do both. dwTypeData is a pointer going to the user not the true text pointer of the menu item and should not be used for checking if menu item has text.
svn path=/trunk/; revision=23158
2006-07-18 17:29:34 +00:00
Aleksey Bragin
8c7446addd Add two more test cases into ex timer testing
svn path=/trunk/; revision=23157
2006-07-18 16:49:11 +00:00
Magnus Olsen
97f449127c pathc from w3seek : bug 1702 : Fix BitScanReverse()
svn path=/trunk/; revision=23156
2006-07-18 16:36:54 +00:00
Magnus Olsen
55b8810a2b setup almost all info it need in DrvGetDirectDrawInfo, left todo is the rop table.
and debugging see if everything went right. it is eunght for me continue on next 
step in debugging  

svn path=/trunk/; revision=23155
2006-07-18 15:57:42 +00:00
Hervé Poussineau
353c1f9a6e Disable a few more warnings when using pshpackX.h/poppack.h
svn path=/trunk/; revision=23154
2006-07-18 15:50:13 +00:00
Hervé Poussineau
3dd1713e53 Fix headers, so MSVC can use them
svn path=/trunk/; revision=23153
2006-07-18 15:30:22 +00:00
Alex Ionescu
3d6bddb98f [AUDIT] security.c is mostly composed of trivial implementations of APIs that transfer one set of data from another, or simply wrap around complex Se* functions which do the actual work. There are one or two slightly more complex APIs (~15-20 lines), but they were written by Eric/Thomas, which are well-known for always writing clean code.
[FORMATTING] Re-formatted file properly, ordered functions and annotated them, added proper programmer credits, etc.
- Pushlocks need to be acquired in a -critical-, not -guarded- region.
- PsDisableImpersonation should return FALSE if it was already disbled.
- Don't forget to reference the token in PsReferenceEffectiveToken.
- PsImpersonateClient should still return success if it was given no token.
- PsImperstonateClient should de-reference the token if there is already active impersonation info.

svn path=/trunk/; revision=23152
2006-07-18 15:13:55 +00:00
Johannes Anderwald
fff24ee1dd add mouse properties registry keys
svn path=/trunk/; revision=23151
2006-07-18 14:48:53 +00:00
Hervé Poussineau
930a4d2351 Fix warnings detected by MSVC
svn path=/trunk/; revision=23150
2006-07-18 14:41:55 +00:00
Hervé Poussineau
b37ee32a56 Fix some 'unreferenced variable' warnings
svn path=/trunk/; revision=23149
2006-07-18 14:40:55 +00:00
Hervé Poussineau
999b44ccf2 Fix some 'unreferenced variable' warnings
svn path=/trunk/; revision=23148
2006-07-18 14:39:37 +00:00
Hervé Poussineau
c05ceaf190 Fix wrong library names in export files
svn path=/trunk/; revision=23147
2006-07-18 14:38:35 +00:00
Alex Ionescu
9170a29ef7 [AUDIT] - State.c is clean, it is merely a collection of trivial ~10 line wrappers around the actual kernel (Ke) functions which do the work.
- Rename suspend.c to state.c (since it also had resume APIs) and add alert APIs from kthread to it too.
- Fix a bug in one of the alert APIs which was probing for a valid pointer even if the caller had given NULL (which is valid if the caller doesn't want the previous state returned).

svn path=/trunk/; revision=23146
2006-07-18 14:34:06 +00:00
Hervé Poussineau
d9f7a999cf Fix some 'unreferenced variable' warnings
svn path=/trunk/; revision=23145
2006-07-18 13:56:00 +00:00
Hervé Poussineau
1a781d5bf4 Fix a warning (unused variable)
svn path=/trunk/; revision=23144
2006-07-18 13:55:22 +00:00
Johannes Anderwald
72301905a6 * check parameters
svn path=/trunk/; revision=23143
2006-07-18 13:45:37 +00:00
Johannes Anderwald
78bc2ae282 * check parameters in CreateAcceleratorTableA/W and DestroyAcceleratorTable
svn path=/trunk/; revision=23142
2006-07-18 13:44:39 +00:00
Magnus Olsen
adbc8e954a fill the DDHALINFO almost to 100% now, we are mising the rops table.
Almost all info that need be send back for frist call is done, 

svn path=/trunk/; revision=23141
2006-07-18 13:23:38 +00:00
Saveliy Tretiakov
a55aa2f49f Revert 21223 (was not good idea...)
svn path=/trunk/; revision=23140
2006-07-18 13:14:12 +00:00
Saveliy Tretiakov
5f77e6ae34 Add Andrew Munger (waxdragon) to credits.
svn path=/trunk/; revision=23139
2006-07-18 12:33:30 +00:00
Saveliy Tretiakov
ba51348c89 Add missing return value checks. Finally fix bug #1526
svn path=/trunk/; revision=23138
2006-07-18 12:19:07 +00:00
Saveliy Tretiakov
6a97df1eec Testapps for NtUserDrawCaption. (I sent the patch to ros-dev for review)
svn path=/trunk/; revision=23137
2006-07-18 11:59:22 +00:00
Hervé Poussineau
f0e080241f Correctly return information to caller
svn path=/trunk/; revision=23136
2006-07-18 11:55:40 +00:00
Saveliy Tretiakov
073eaa0b04 Make guiconsole window movable and respond to minimize and close buttons (regression caused by r22822)
svn path=/trunk/; revision=23135
2006-07-18 11:45:28 +00:00
Magnus Olsen
380d90d8a1 adding NULL pointer check for ppdev, pHalInfo, pdwNumHeaps, pdwNumFourCCCodes
fill in more info for DDHALINFO it is not complete yet.

svn path=/trunk/; revision=23134
2006-07-18 08:54:32 +00:00
Alex Ionescu
6cf95d5263 - Move ps/locale.c to ex/locale.c, since it has nothing to do with Process/Thread management (locale settings are part of the executive).
- Cleanup formatting in the file and add proper credits (Thomas and Eric).
- Create internal Exp* functions for Setting/Getting the user langid, since they need to be called 2, 3 times by other code and thus shared.
- Remove some deprecated code, make the functions themselves initialize the default ID when called for the first time (which should be done by winlogon --> it seems this isn't done yet?).
- Set default locale to 0x409 instead of 0x0.

svn path=/trunk/; revision=23133
2006-07-18 01:58:10 +00:00
Alex Ionescu
26331352ea - Kernel Fun
svn path=/trunk/; revision=23132
2006-07-18 00:51:09 +00:00
Alex Ionescu
a9bcf7b487 [AUDIT] - notify.c contains trivial (3 or 4 lines of code) implementations of adding a pointer to an array, and then looping said array and calling a pointer. Your grandmother could code this.
- Cleanup notify.c and fix the return value of PsSetCreateProcessNotifyRoutine.
- Create ps_x.h for inlined Ps routines and put the internal routines which call the registered callbacks in it.

svn path=/trunk/; revision=23131
2006-07-17 22:18:44 +00:00
Magnus Olsen
65316d9faa start implement DrvGetDirectDrawInfo it is not complete only around 1/3 is done
svn path=/trunk/; revision=23130
2006-07-17 22:14:58 +00:00
Hervé Poussineau
2c59aa9330 - kbdclass/mouclass should be able to return more than one keystroke/mouse move during a IRP_MJ_READ.
- Better cleanup in case of error in ClassAddDevice
- Registering the interface is optional. Don't fail in case of error.

svn path=/trunk/; revision=23129
2006-07-17 22:13:40 +00:00
Johannes Anderwald
de3f42794a * unlink menu object from window object on destroy
svn path=/trunk/; revision=23128
2006-07-17 19:16:30 +00:00
Alex Ionescu
7ddd4aa708 [FORMATTING] - Cleanup win32.c
[AUDIT] - Only function of interest is PsConverToGuiThread, heavily documented at:
http://www.windowsitlibrary.com/Content/356/07/1.html
http://www.osronline.com/lists_archive/ntdev/thread4614.html
http://www.i.u-tokyo.ac.jp/edu/training/ss/lecture/new-documents/Lectures/17-Win32K/Win32K.ppt

svn path=/trunk/; revision=23127
2006-07-17 17:32:58 +00:00
Magnus Olsen
d0ba1357ee more code, from alex patch I got over one year ago, thanks alex for all help and for all code he wrote.
and sorry for the mess at moment in the file. it will be pretty large update to this file, for the patch have been lying on my 
harddisk for some time. 



svn path=/trunk/; revision=23126
2006-07-17 16:27:13 +00:00
Alex Ionescu
e0dbaebab5 - Export Ps(S)GetContextThread
svn path=/trunk/; revision=23125
2006-07-17 14:31:15 +00:00
Alex Ionescu
1ee9504d8d - Factor out NtSet/GetContextThread implementation into PsGet/SetContexThread, new exported kernel APIs available to drivers, and export them.
- If the caller didn't request extended registers, don't probe the full CONTEXT structure.
- Use the proper trap frame in the kernel APC responsible for the context read/write.
- Always go through the APC instead of directly calling the Ke routine.
- Cleanup the code.
[AUDIT] - Mark file as clean. The NT APIs are stubs around the Ps APIs which simply setup an APC and stack context to an APC function that is again, merely a wrapper around the Ke function (which is not in this file).

svn path=/trunk/; revision=23124
2006-07-17 14:30:53 +00:00
Magnus Olsen
e1a8b7eeff patch from LMH1 : Bug#: 1674 : Norwegian translation
svn path=/trunk/; revision=23122
2006-07-17 08:20:16 +00:00
Magnus Olsen
445d240e4b patch from LMH1 : Bug#: 1644 : Norwegian translation
svn path=/trunk/; revision=23121
2006-07-17 08:14:27 +00:00
Magnus Olsen
1cb4e18908 patch from Apal : bug 1429 : greek translation
svn path=/trunk/; revision=23120
2006-07-17 07:53:10 +00:00
Magnus Olsen
7fef6a44ac patch from Apal : bug 1429 : greek translation
svn path=/trunk/; revision=23119
2006-07-17 07:49:42 +00:00
Magnus Olsen
00298de6bc patch from Apal : bug 1429 : greek translation
svn path=/trunk/; revision=23118
2006-07-17 07:38:53 +00:00
Magnus Olsen
5cb7a4f594 patch from Apal : bug 1429 : greek translation
svn path=/trunk/; revision=23117
2006-07-17 07:35:06 +00:00
Magnus Olsen
74bd4ace29 patch from LMH1 : Bug#: 1643 : Norwegian translation
svn path=/trunk/; revision=23116
2006-07-17 07:23:27 +00:00
Magnus Olsen
6924da266a patch from LMH1 : Bug#: 1642 : Norwegian translation
svn path=/trunk/; revision=23115
2006-07-17 07:18:36 +00:00
Alex Ionescu
8db06b0b73 - Fix two small bugs in NtQueryDirectoryObject.
- RDISK Count, Windowstation list enumeration now work on startup.
- Explorer's object viewer now works again.

svn path=/trunk/; revision=23114
2006-07-17 03:49:40 +00:00
Alex Ionescu
0957e22a49 - Finish up implementation of NtQueryDirectoryObject by doing the final conversion.
svn path=/trunk/; revision=23113
2006-07-17 03:24:41 +00:00
Alex Ionescu
96722f7c02 - Fix definition of OBJECT_DIRECTORY_INFORMATION
- Implement most of NtQueryDirectoryObject. It lacks the last step of converting the absolute buffer to a relative one. I have no idea why the old code was re-implemented in a recent commit when I clearly said I would fix this tonight.

svn path=/trunk/; revision=23112
2006-07-17 03:16:15 +00:00
Alex Ionescu
8baa71bb63 - Added another MSVC intrinsic to gcc (BitScanReverse). Thanks to Vampyre.
- Added very basic and skeletal NUMA code when creating a thread and process, currently only does some basic affinity checks and settings.
- Added a table and helper function (KeFindNextRightSetAffinity) for calculating affinity masks and sets.
- Split KeInitailizeThread into KeStartThread and KeInitThread, and modified Ps code to use the calls. Now added a failure case where Init fails, but we don't have to backout the entire effects of a "Start".
- Changes based on WI4 and Windows Internals II.

svn path=/trunk/; revision=23111
2006-07-17 01:40:10 +00:00
Magnus Olsen
7c1513c7eb patch from LMH1 : Bug#: 1641 : Norwegian translation
svn path=/trunk/; revision=23110
2006-07-17 01:15:56 +00:00
Magnus Olsen
2a8df0cc3d patch from LMH1 : Bug#: 1637 : Norwegian translation
svn path=/trunk/; revision=23109
2006-07-17 01:10:56 +00:00
Magnus Olsen
e5278ff085 patch from temarez : Bug#: 1635 : Ukrainian translation update and some new translations
svn path=/trunk/; revision=23108
2006-07-17 00:51:49 +00:00
Magnus Olsen
3774cda832 patch from temarez : Bug#: 1635 : Ukrainian translation update and some new translations
svn path=/trunk/; revision=23107
2006-07-17 00:49:43 +00:00
Magnus Olsen
d96e5ccf7b patch from temarez : Bug#: 1635 : Ukrainian translation update and some new translations
svn path=/trunk/; revision=23106
2006-07-17 00:49:01 +00:00
Magnus Olsen
61883a6c33 patch from temarez : Bug#: 1635 : Ukrainian translation update and some new translations
svn path=/trunk/; revision=23105
2006-07-17 00:48:07 +00:00
Magnus Olsen
1743dd24ee patch from temarez : Bug#: 1635 : Ukrainian translation update and some new translations
svn path=/trunk/; revision=23104
2006-07-17 00:47:19 +00:00
Magnus Olsen
2258ebff5f patch from temarez : Bug#: 1635 : Ukrainian translation update and some new translations
svn path=/trunk/; revision=23103
2006-07-17 00:46:30 +00:00
Magnus Olsen
1ffbaf7d4a patch from temarez : Bug#: 1635 : Ukrainian translation update and some new translations
svn path=/trunk/; revision=23102
2006-07-17 00:45:10 +00:00
Magnus Olsen
539e91e037 patch from temarez : Bug#: 1635 : Ukrainian translation update and some new translations
svn path=/trunk/; revision=23101
2006-07-17 00:42:34 +00:00
Magnus Olsen
69c0fb3bfc patch from : Fork : Bug#: 1633 : Norwegian translation
svn path=/trunk/; revision=23100
2006-07-17 00:36:20 +00:00
Magnus Olsen
5b8262fc5d patch from : Fork : Bug#: 1633 : Norwegian translation
svn path=/trunk/; revision=23099
2006-07-17 00:33:59 +00:00
Magnus Olsen
243cd7fe80 patch from : Fork : Bug#: 1633 : Norwegian translation
svn path=/trunk/; revision=23098
2006-07-17 00:31:16 +00:00
Magnus Olsen
c1bf3efbbe patch from : Fork : Bug#: 1633 : Norwegian translation
svn path=/trunk/; revision=23097
2006-07-17 00:27:59 +00:00
Magnus Olsen
fddc4b77ba patch from Apal : Bug#: 1630 : Greek Translation files for explorer
svn path=/trunk/; revision=23096
2006-07-17 00:04:45 +00:00
Magnus Olsen
85afb97623 more code, from alex patch I got over one year ago, thanks alex for all help and for all code he wrote.
and sorry for the mess at moment in the file. it will be pretty large update to this file, for the patch have been lying on my 
harddisk for some time. 

+ remove dead code same time, almost whole alex big patch are in. 
+ clean up need 
+ Gdientry2 need some bugfix, but lest we got one now. 
+ vbe drv framebuf interface need some more dx hal api before it functions.


svn path=/trunk/; revision=23095
2006-07-16 23:32:57 +00:00
Aleksey Bragin
cb979df177 - Fix "ret 0" to "ret 4" in a fastcall function taking 3 parameters.
- Fix some prototypes in comments, so they correspond to reality

svn path=/trunk/; revision=23094
2006-07-16 21:40:11 +00:00
Hervé Poussineau
e66f23066f Implement NtQueryDirectoryObject, based on code which was deleted in revision 20004
svn path=/trunk/; revision=23093
2006-07-16 21:15:16 +00:00
Magnus Olsen
b4d66b0066 more code, from alex patch I got over one year ago, thanks alex for all help and for all code he wrote.
and sorry for the mess at moment in the file. it will be pretty large update to this file, for the patch have been lying on my 
harddisk for some time. 

1. Cleanup GdiEntry1 and optimze it by alex
    

svn path=/trunk/; revision=23092
2006-07-16 21:10:13 +00:00
Magnus Olsen
63acffc926 more code, from alex patch I got over one year ago, thanks alex for all help and for all code he wrote.
and sorry for the mess at moment in the file. it will be pretty large update to this file, for the patch have been lying on my 
harddisk for some time. 

svn path=/trunk/; revision=23091
2006-07-16 20:35:25 +00:00
Aleksey Bragin
edcb8de7a6 Alexey Minnekhanov: Improve monitor.bmp for desk.cpl
svn path=/trunk/; revision=23090
2006-07-16 20:10:48 +00:00
Aleksey Bragin
359a5de1ec Slightly improve debug prints in IoInvalidateDeviceRelations()
svn path=/trunk/; revision=23089
2006-07-16 20:05:18 +00:00
Magnus Olsen
7601691d1b Start implement code that alex for one year ago, thanks alex for all help and for all code he wrote.
and sorry for the mess at moment in the file. it will be pretty large update to this file, for the patch have been lying on my 
harddisk for some time. 

svn path=/trunk/; revision=23088
2006-07-16 19:03:46 +00:00
Magnus Olsen
3e29a1f5b1 start implement of gdientry2, for moment it return incorrect info. and does not fill some stuff right.
we are return alot of kernel pointer and does not setup alot stuff right, see it as start ground.
I do not want lose this start code again. it will be add in modifcate alot.   

svn path=/trunk/; revision=23087
2006-07-16 18:12:13 +00:00
Aleksey Bragin
3cf55b986d [AUDIT]
fmifs.dll

It is completely clean, because it's only stubs without any code. The only pair of coded functions are trivial "pass-through"/wrappers.

svn path=/trunk/; revision=23086
2006-07-16 17:38:03 +00:00
Alex Ionescu
03d4c9af39 - Added constants for all the ETHREAD flags so when we use Interlocked operations to edit them, a nice symbolic name is there isntead of a magic hex value.
- Fixed a bug in PspUserThreadStartup which was causing us to notify the debugger for system threads or hidden threads, instead of vice-versa.
- Documented cookie generation for Thomas.
- Threads were incorrectly created with KernelMode access instead of PreviousMode.
- Initialize the thread's rundown protection and use the process's.
- Handle failure when TEB = NULL.
- The LPC Semaphore has a limit of 1, not 0x7FFF.

svn path=/trunk/; revision=23085
2006-07-16 17:19:21 +00:00
Hervé Poussineau
72185bb72b [FORMATTING] Replace tabs by spaces
Replace some DPRINT1 by DPRINT

svn path=/trunk/; revision=23084
2006-07-16 17:00:39 +00:00
Ged Murphy
2f8950ce51 {AUDIT]
rossym
ROS specific lib

svn path=/trunk/; revision=23083
2006-07-16 15:32:42 +00:00
Johannes Anderwald
63a3c06ea0 * check return value of RtlDeleteAtomFromAtomTable
* simply, optimize, bugfix UserRegisterClass 
* allow de-registration for system classes
* set ERROR_CLASS_DOES_NOT_EXIST in case of errors
* reduces user32_winetest.exe class errors to 31 failures

svn path=/trunk/; revision=23082
2006-07-16 15:16:55 +00:00
Johannes Anderwald
6a8b5b1b25 * GetClassInfo should return NULL for hInst when hInst is UserHInstance
* fixes one bug found by user32_winetest.exe class.c

svn path=/trunk/; revision=23081
2006-07-16 14:57:34 +00:00
Magnus Olsen
0d759ca707 Framebuf drv
Implement : DdCanCreateSurface
Stub : DdCreateSurface
adding struct ddpfDisplay and dxHalInfo
ddpfDisplay are being filld but not use
dxHalInfo are not fill it is rater large work getting it right 


svn path=/trunk/; revision=23080
2006-07-16 14:54:59 +00:00
Ged Murphy
4b2f6b62b4 add Wine cabinet regression tests
svn path=/trunk/; revision=23079
2006-07-16 14:24:37 +00:00
Aleksey Bragin
61938c2ebc [AUDIT]
- Doxyfile: not a code file at all
- ntdll.h / ntdllp.h: nothing copyrightable or reversengineerable in these files, it's a few functions prototypes only. Thus clean.

svn path=/trunk/; revision=23078
2006-07-16 13:55:11 +00:00
Aleksey Bragin
de67bf2622 [AUDIT]
- setup.c: This is a fully ReactOS-specific code, thus clean

svn path=/trunk/; revision=23077
2006-07-16 13:51:13 +00:00
Aleksey Bragin
e7729711e5 [AUDIT]
- setup.rc / lsass.rc: nothing copyrightable exists in this files
- lsass.c: some partly #if 0...#endif'ed stub. Doesn't implement any functionality, thus clean (and useless probably)
- win32err.c: a small error-printing function taken from Mark Russinovich's chkdskx source code. Contains nothing which could be thought as copyright-infringement, and the function overall is a few lines only

svn path=/trunk/; revision=23076
2006-07-16 13:46:47 +00:00
Johannes Anderwald
a4b70302ef * dont succeed if found Class is local and hInstance is NULL
* set hInstance to input value given when nonzero, zero for global classes and to the actual value of class when its local
* reduces the user32_winetest.exe failures by 20 error to 44

svn path=/trunk/; revision=23075
2006-07-16 12:24:09 +00:00
Eric Kohl
8135ef1f04 Implement CM_Get_First_Log_Conf[_Ex] and add PNP_GetFirstLogConf stub.
svn path=/trunk/; revision=23074
2006-07-16 12:11:26 +00:00
Magnus Olsen
fc29d1edf0 Clean up NtGdiDdCreateDirectDrawObject and confirm it working.
1. Fix create hdc when it is NULL that is need to get ms windows xp d3dx.dll working in ReactOS, if some want try it. 

 

svn path=/trunk/; revision=23073
2006-07-16 12:03:41 +00:00
Magnus Olsen
d16a694b91 Start adding basic directdraw hal 2d interface, so we have a directdraw hal interface to test with, for vmware server does not come with directdraw interface for the the driver. for now everthing is stubed.
svn path=/trunk/; revision=23072
2006-07-16 11:46:30 +00:00
James Tabor
0a02efc6e2 Fix typo
svn path=/trunk/; revision=23071
2006-07-16 01:40:36 +00:00
James Tabor
c1685e75b7 User32: Menu.c I found a small problem with drawing menu popups. This fixes the problem.
svn path=/trunk/; revision=23070
2006-07-16 00:33:50 +00:00
Magnus Olsen
a7dcf72d50 disable the screensaver from bootcd and livecd
reason : qemu and vmware 5.0 / 5.5 is afacted by same bug, it does not reading the timeout value right. 
         I need figout why, it is working in vmware server as it should 

svn path=/trunk/; revision=23069
2006-07-15 23:50:51 +00:00
Magnus Olsen
64e3f510fe Tempary fixing kbdclass and mouse class u can not call on IoDeleteDevice before disabler the keyboard or mouse driver other wise it will bsod at shoutdown of ReactOS, create the frist boot problem. that we have seen on BootCD; Hpoussin I have comment out iodevice for now, please look at it when u got time.
svn path=/trunk/; revision=23068
2006-07-15 20:14:44 +00:00
Alex Ionescu
78874d1548 - Remove some debug prints that are not needed anymore
- NtCurrentTeb now returns the TEB instead of the KCPR, so re-enable the codepath that set the CurrentLocale and IdealProcessor in the TEB from the KTHREAD.

svn path=/trunk/; revision=23067
2006-07-15 20:10:13 +00:00
Magnus Olsen
1af6dae1c1 reverting : patch from w3seek :Bug #: 1669 : Probing macros improvements and fixes
reason    : it break second boot, at when u press on finsh buttom 
            with the mouse or wait until auto rest kick in,
            but we still have one more regress to found for 
            second boot when u leave from vmware at center 
            point the setup will crash (when u toch the keyboard)
            lest the mouse does not cause the bsod any longer.
            I will inform w3seek about it when he comes online

 

svn path=/trunk/; revision=23066
2006-07-15 19:10:07 +00:00
James Tabor
d61db42063 -User32: Fixed GetMenuItemInfoA so it should work closely to spec and reimplemented GetMenuItemInfoW so it should do the same. Added a string flag to GetMenuStringW. Tested with explorer, winefile, VIDE, Lazarus (nochg) and Miranda. Wine menu test 1178 failures now.
svn path=/trunk/; revision=23065
2006-07-15 01:40:10 +00:00
Alex Ionescu
1d5f17dc97 - Add IN/OUT annotations for KeWaitForSIngleObject
- Set the wait block outside the loop, small optimization in case we get alerted by an APC and have to loop again.
- Set the wait block pointer in the KTHREAD structure only *after* checking if a wait is actually needed. That way, if the object is already signaled, we don't set anything in the WaitBlockList.
- Small optimization: only set the caller's WAitBlock as the next wait block if a timer wasn't specificed, else we ended up overwriting the value.
- Small optimziation: don't write the thread in the wait block, this is a wait for a signle object so this isn't needed.

svn path=/trunk/; revision=23063
2006-07-14 21:45:27 +00:00
Aleksey Bragin
7e51a54974 Add tests for Create/Open/Set/Cancel Timer in Executive. Under Win2003 SP1 works perfectly, however ReactOS hangs.
svn path=/trunk/; revision=23062
2006-07-14 21:04:31 +00:00
Magnus Olsen
8c3ad7c90d [AUDLT] This code are clean and written by filip.
svn path=/trunk/; revision=23061
2006-07-14 17:20:21 +00:00
Alex Ionescu
891d788fca - Implement Safe Referencing (an internal method for referencing objects when race conditions are possible)
- Implement two Vista APIs and export them: ObIsKernelHandle and ObDeleteObjectDeferDelete. ZOMG! Vista APIs in the kernel!

svn path=/trunk/; revision=23060
2006-07-14 15:26:19 +00:00
Alex Ionescu
514aa8290f - Fix a serious bug in Kernel Queues. A condition existed where an inserted kernel queue with a timeout would crash the system once the thread waiting on it had its wait aborted or completed.
- Thanks a lot to Thomas for his brutal test application which allowed me to discover this bug and the bugs addressed in the previous commits (related to the wait list and thread scheduler list corruption).

svn path=/trunk/; revision=23057
2006-07-14 02:26:44 +00:00
Alex Ionescu
1f1857f96d - Add KiCheckThreadStackSwap and KiAddThreadToWaitList macros
- Initialize PRCBs' Wait Lists
- Fix a ghastly implementation fault where the the queue code was correctly removing the thread from its wait list, but where this wait list was actually connected to the _SCHEDULER_ and ended up removing a thread behind its back, causing bizarre issues and w3seek's ASSERT(State == Ready) bug. Fixed this by using the macros above and PRCB Wait List and properly inserting a waiting thread into that list, and then removing it when unblocking it or removing a queue.

svn path=/trunk/; revision=23056
2006-07-14 01:03:27 +00:00
Alex Ionescu
8d372c2271 - Fix utterly messed up unblocking/readying thread logic.
- KiUnblockThread becomes KiReadyThread and doesn't perform priority modifications anymore. Also removed a large block of code that was #if 0ed out.
- KiAbortWaitThread now does priority modifications (and better then before), then calls KiReadyThread.
- Inserting a queue now *READIES A THREAD ONLY* instead of removing all its waits!

svn path=/trunk/; revision=23055
2006-07-13 22:52:18 +00:00
Magnus Olsen
eab221b08b Activate screensaver for bootcd
rember fullpath should be c:\reactos\system32\matrix.scr but we use matrix.scr as key path for getting this working on livecd.
But the desk.cpl apps should save full path to it. (and it does it in windows and reactos before ros cm broken it did in ros). 

svn path=/trunk/; revision=23054
2006-07-13 22:42:40 +00:00
Magnus Olsen
85a2492f52 last fix for getting screensaver working on livecd it is rugh hack
svn path=/trunk/; revision=23053
2006-07-13 22:38:30 +00:00
Hervé Poussineau
d0bbf9199b In case of error, free the input data buffer only if we just allocated it.
svn path=/trunk/; revision=23052
2006-07-13 22:20:54 +00:00
Alex Ionescu
19ff9cb593 - More cleanup of wait.c
- Set the right wait status in KiAbortWaitThread.
- Don't ignore priority boost (increments) when aborting waits.
- When satisfying a mutant, insert if into the the head of the back-link, not the forward-link.

svn path=/trunk/; revision=23051
2006-07-13 22:19:57 +00:00
Alex Ionescu
fc546e804a - Cleanup + formatting fixes for wait.c
- Move some inlined functions from ke.h to ke_x.h
- Add checks for special apc disabled (guarded regions) in wait code.

svn path=/trunk/; revision=23050
2006-07-13 21:48:45 +00:00
Eric Kohl
b41eb98534 Implement CM_Free_Log_Conf[_Ex] and add PNP_FreeLogConf stub.
svn path=/trunk/; revision=23049
2006-07-13 21:28:01 +00:00
Magnus Olsen
20ce435a3b 1. Fixing so the screensaver only start one time when ReactOS starting.
2. Fixing so the screensaver do not restart it self. 
Alesky here is the bugfix I promies, it will not longer see alot start screen msg. 
One bug remains before the reg key will be adding as defualt for matrix.scr so it 
can run from livecd as well



svn path=/trunk/; revision=23047
2006-07-13 21:21:30 +00:00
Aleksey Bragin
9d2f75b905 Added a check for a non-null WndProc into IntCallWndProcA/W. Instead of bugchecking, it shows a DPRINT1 now to inform about a bug.
As a side effect, mIRC now works in ReactOS.

svn path=/trunk/; revision=23046
2006-07-13 20:47:59 +00:00
Alex Ionescu
d7e7bd087e [FORMATTING] - Cleanup timer.c
svn path=/trunk/; revision=23045
2006-07-13 19:43:10 +00:00
Alex Ionescu
bdde4622cc - Don't make the timer signaled in KeSetTimerEx if it already expired.
- Only call KiWaitTest on timers if they have waiters.
- Fix list looping in KiExpireTimers.

svn path=/trunk/; revision=23044
2006-07-13 19:04:39 +00:00
Magnus Olsen
07eacf79df 1. Remove guithreadinfo from the make file. for it not longer builds.
2. Adding a test apps for starting directdraw hal interface, that I have keep within few ros devs, and one wine devs, 
   it also being using in 2-3 diffent company same code. I known which company that using it with my written premitions 
   I give them on icq or email. But u need a document how to use kernel, d3d, mocomp interface,and some more how to access
   them. I only show how to start dx hal the interface and using so call IDrawDraw interface. in this apps. 
  

svn path=/trunk/; revision=23043
2006-07-13 19:00:05 +00:00
Magnus Olsen
e862b8b461 patch from w3seek :Bug #: 1667 : NTOSKRNL: Fix GCC4 warning and return correct error code in NtSignalAndWaitForSingleObject
svn path=/trunk/; revision=23041
2006-07-13 12:30:56 +00:00
Aleksey Bragin
d5f8964338 Free the buffer as MSDN says
svn path=/trunk/; revision=23040
2006-07-13 07:17:13 +00:00
Alex Ionescu
77203d0406 - Add some TIMER values to the ddk.
- Add DPC Settings (Queue Depths, Rates, etc)
- Cleanup System/Run Time Update code.
- Always increase kernel time in PRCB when inside kernel-mode code.
- Get rid of superflous interlocked commands when not needed.
- Improve detection of DPC vs non-DPC time.
- Respect and apply DPC queue/rate rules.
- Allow future use of non-fulltick time increments.

svn path=/trunk/; revision=23039
2006-07-13 06:23:34 +00:00
Alex Ionescu
e037b1c36b - Add ASSERT_QUEUE macro.
- Cleanup queue.c
- Add some ASSERTs
- Properly check for SPecialApcDisable before aborting a wait.
- Fix a bug in KiWaitQueue which was causing us not to remove the queue from the thread's wait list.

svn path=/trunk/; revision=23038
2006-07-13 05:20:43 +00:00
Alex Ionescu
5ecb728b0e - Fix KiAcquireMutexContended, it was broken in contended cases.
- Inline Acquiring/Leaving guarded regions and the gmutex code, instead of going through 3-4 indirect calls.
- Add a mountain of ASSERTs to detect incorrect usage/state.
- Set ->SpecialApcDisable in the Guarded Mutex.
- Fix broken KTHREAD definition. SpecialApcDisable and KernelApcDisable were incorrectly marked as USHORT instead of SHORT, which could cause severe trouble under optimized builds (At least under MSVC, since MSVC wouldn't allow a negative number in an unsigned short).
- Use GM_LOCK_BIT_V.
- Fix broken KeTryToAcquireGuardedMutex prototype.
- Fix broken KGUARDED_MUTEX typedef and add bit values.
- Fix broken Interlocked* prototypes in regards to volatileness.

svn path=/trunk/; revision=23037
2006-07-13 04:20:18 +00:00
James Tabor
b71f24ddc1 -User32: Consolidated InsertMenu and ModifyMenu A&W flags processing. Misc changes too, some based on wine.
svn path=/trunk/; revision=23036
2006-07-12 22:43:45 +00:00
Ged Murphy
f13b4799a6 DIALOG -> DIALOGEX to correctly handle MS Shell Dlg
svn path=/trunk/; revision=23035
2006-07-12 21:52:08 +00:00
Magnus Olsen
7611f8028a patch from w3seek :Bug #: 1669 : Probing macros improvements and fixes
svn path=/trunk/; revision=23034
2006-07-12 21:42:08 +00:00
Magnus Olsen
c80f9e7cea patch from w3seek : Bug#: 1671 : RTL: Fix checking the SACL data area in the Win64 version of RtlSelfRelativeToAbsoluteSD2
svn path=/trunk/; revision=23033
2006-07-12 21:36:05 +00:00
Aleksey Bragin
1d5bff3624 - Fix a mistake with outputting always non-initialized buffer in a DPRINT1
- Add a branch for stopping the screensaver
- Prettify the tracing debug message (it shows now if it's a start or a stop request)
- Add a success-check for RegOpenKeyExW too

svn path=/trunk/; revision=23032
2006-07-12 21:33:14 +00:00
Johannes Anderwald
d94f7c6e2b conio.c:
* create a CSRSS_SCREEN_BUFFER object before TuiInit/GuiInit 
  -> required for variable screen buffer sizes
* improve error handling in CsrCreateScreenBuffer

guiconsole.c:
* directly store WindowSize in CSRSS_CONSOLE struct
* read ScreenBufferSize value from registry and store result in CSRSS_SCREEN_BUFFER 
* use default values for ScreenBufferSize / WindowSize

tuiconsole.c:
* set screenbuffer size to size of physical console size in init

svn path=/trunk/; revision=23031
2006-07-12 21:06:21 +00:00
Hervé Poussineau
b06a110bee Symbolic link should start with \??\, to be able to open the object from kernel mode
svn path=/trunk/; revision=23030
2006-07-12 20:41:28 +00:00
Johannes Anderwald
c19c207f4e * set FontName array to max of LF_FACESIZE
* read WindowSize from registry
* create GUI_CONSOLE_DATA directly in GuiInitConsole
* wait untill GuiWindow has been created (needed for synchronization with variable window sizes)

svn path=/trunk/; revision=23028
2006-07-12 16:48:58 +00:00
Hervé Poussineau
b042f11818 Implement the 'You need to reboot' wizard page, and use it instead of the network message box.
Main advantage is that the message box doesn't appear anymore during second stage setup.

svn path=/trunk/; revision=23027
2006-07-12 15:30:09 +00:00
Aleksey Bragin
fe866c5c43 Stub one more WMI api used by drivers. Kernel just ignores WMI information for now, but drivers are happy since they successfully submit it.
svn path=/trunk/; revision=23026
2006-07-12 14:00:21 +00:00
The Wine Synchronizer
a7e2f91d3f Autosyncing with Wine HEAD
svn path=/trunk/; revision=23024
2006-07-12 12:40:40 +00:00
Johannes Anderwald
48786b8392 revert prev commit
svn path=/trunk/; revision=23023
2006-07-12 12:36:31 +00:00
Aleksey Bragin
8008e440cd Add flags for CryptAcquireCertificatePrivateKey() API
svn path=/trunk/; revision=23022
2006-07-12 12:27:46 +00:00
Johannes Anderwald
e2ff912acc * remove unused/unimplemented clb library
* you need to delete Makefile.auto after this commit

svn path=/trunk/; revision=23021
2006-07-12 12:27:26 +00:00
Johannes Anderwald
9d114d7b18 * norwegian translation by LMH1 from bug(1645)
svn path=/trunk/; revision=23020
2006-07-12 12:08:39 +00:00
Johannes Anderwald
484c24fda3 * set svn:eolstyle native
svn path=/trunk/; revision=23019
2006-07-12 12:00:34 +00:00
Johannes Anderwald
50b81c4cb2 * fix a typo
* fix identation
* bugreport & patch by Jones111
* fixes bug 1656

svn path=/trunk/; revision=23018
2006-07-12 11:55:14 +00:00
Hervé Poussineau
2c576de1f1 Enable plug and play manager in livecd.
svn path=/trunk/; revision=23017
2006-07-12 11:54:04 +00:00
Hervé Poussineau
604e593d4d LiveCD change: don't directly name the shell executable in SYSTEM\Setup key, but run setup.exe, which then loads syssetup.dll, which then runs the selected shell.
This is the first step to do custom operations when running the livecd.

svn path=/trunk/; revision=23016
2006-07-12 11:30:17 +00:00
Filip Navara
7a738ccc46 Fix the RET insns for @InterlockedCompareExchange@12. Spotted by Alex & Aleksey.
svn path=/trunk/; revision=23015
2006-07-11 22:45:45 +00:00
Alex Ionescu
d2e356eda6 - Implement Fast Referencing and fix EX_FAST_REF definition.
- Implement ObReferenceEx and ObDereferenceEx.
- Split off ObpDeferObjectCompletion. A new win2003/vista API requires direct acess to being able to defer deletes.
- Fix some bugs in Process Token management and make it all properly use Fast Referencing.
- When duplicating a token in a new process, don't de-reference it before it's even created, and also insert it.
- Change ExpChangeRundown macro to fix warnings in msvc.

svn path=/trunk/; revision=23013
2006-07-11 19:45:16 +00:00
Johannes Anderwald
f8aab41375 * fix typo
* patch & bug report by Coviti
* fixes bug 1663
* set svn:eol-style native for other resource files

svn path=/trunk/; revision=23012
2006-07-11 17:52:38 +00:00
Alex Ionescu
59a0d277ae - Fix up some stuff in Kernel Gates support.
- Fix up some implementation bugs in Executive Rundown support.

svn path=/trunk/; revision=23011
2006-07-11 15:36:44 +00:00
Hervé Poussineau
05917e3fee Don't change PortData pointer, as it is allocated memory, and so, it is easier to free it when needed.
svn path=/trunk/; revision=23010
2006-07-11 13:38:59 +00:00
Hervé Poussineau
9976565e9f [FORMATTING] Replace tabs by spaces.
No code change

svn path=/trunk/; revision=23009
2006-07-11 13:01:00 +00:00
The Wine Synchronizer
e00e9c842b Autosyncing with Wine HEAD
svn path=/trunk/; revision=23008
2006-07-10 21:39:10 +00:00
The Wine Synchronizer
2a02dd2d72 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23007
2006-07-10 21:32:49 +00:00
The Wine Synchronizer
ca1ba81a06 Autosyncing with Wine HEAD
svn path=/trunk/; revision=23006
2006-07-10 21:25:32 +00:00
Aleksey Bragin
9afe9c3b5c [FORMATTING] / [AUDIT]
- Cleanup a big coding-style mess
- Add UNIMPLEMENTED macro in empty functions (otherwise we will never know if they are being called by a 3rd-party driver)
- Add proper debug headers inclusion in every file
- Add documentation headers into almost every file (except mcb.c and context.c - will be added later)
- Standardize per-file headers (some files still lack contributors names, they will be added later too)

No code change except for adding UNIMPLEMENTED macros in the code. Name.c unlocked because the implementations of functions are trivial and in fact could be derived from their names. Not documented functions will be further reviewed.

svn path=/trunk/; revision=23005
2006-07-10 21:03:26 +00:00
Magnus Olsen
5dd17c2315 fixing broken asm code.
tcslen, wsclen did not check if the string was null or not. 
Adding a NULL pointer check. This make user32 test working and alot other apps. 
  

svn path=/trunk/; revision=23004
2006-07-10 20:02:12 +00:00
Magnus Olsen
06f4494f85 Fixing two user mode crash for menu.
Do not try reading from NULL pointer and compare the value. 
This let me come bit futer with user32_winetest.exe, but we still have some user mode crash with menu. 
  


svn path=/trunk/; revision=23003
2006-07-10 19:32:24 +00:00
Christoph von Wittich
fa1e866a00 -get rid of DllMain@12 because MSVC defaults to_DllMainCRTStartup@12 when using CRT
svn path=/trunk/; revision=23001
2006-07-10 18:16:28 +00:00
Johannes Anderwald
5cfd59e722 * make resources compilable with msvc
svn path=/trunk/; revision=23000
2006-07-10 16:22:03 +00:00
Magnus Olsen
ebb0cc9c2b Fixing a small bug, value where never devliver from SPI and that did make screensaver start direcky and start mulitetimes.
svn path=/trunk/; revision=22998
2006-07-10 15:02:43 +00:00
Johannes Anderwald
a1586aefb1 * set svn:eol-style native
svn path=/trunk/; revision=22997
2006-07-10 14:11:12 +00:00
Johannes Anderwald
c9130e29e7 * fix a few msvc compilation errors (MS powercfg.h does not use include guards)
svn path=/trunk/; revision=22996
2006-07-10 13:47:11 +00:00
Johannes Anderwald
71b51f58d6 * make resource files msvc compilable
* fix size of text in various languages

svn path=/trunk/; revision=22995
2006-07-10 13:30:17 +00:00
Aleksey Bragin
98e2bc66e5 Add DPRINT1s for failures, and added UNIMPLEMENTED macro in the unimplemented export function
svn path=/trunk/; revision=22994
2006-07-10 13:10:22 +00:00
Aleksey Bragin
6f20e7b31b Thomas Weidenmueller: Fix GCC4 warnings
svn path=/trunk/; revision=22993
2006-07-10 11:42:28 +00:00
Aleksey Bragin
c3ecaa36f1 - Remove IopGetLowestDevice() call from IoRegisterDeviceInterface() (hpoussin approved this change)
- Add a few DPRINTs to easier see failures of exported APIs

svn path=/trunk/; revision=22992
2006-07-10 09:54:50 +00:00
Aleksey Bragin
645a3280f5 Sync with Wine: Update EDIT_EM_SetMargins in EDIT control.
svn path=/trunk/; revision=22991
2006-07-10 08:56:02 +00:00
Aleksey Bragin
e11e4547e1 Dmitry Philippov: Fix a bug with firstly overwriting the value, and then trying to use variable for comparation (should be vice-versa: firstly compared what was passed, then overwrite with a new value)
svn path=/trunk/; revision=22990
2006-07-10 08:33:02 +00:00
James Tabor
496f31dce3 - User32 menu
- Fixed and modified MenuDrawBitmapItem, MenuGetBitmapItemSize and MenuCalcItemSize. Based on Wine ports.
 - Fixed menu bar drawing and maintained most callback changes (for Miranda). Implemented flat menu support. Some other misc changes. Owner drawing is still broken (Free pascal project Lazarus). Run user32_crosstest from Wine, still more rewriting is needed.

svn path=/trunk/; revision=22989
2006-07-10 05:52:41 +00:00
Magnus Olsen
7ad01239f2 Implement SPI_GETFLATMENU and SPI_SETFLATMENU after jimtabor request not tested if it work
svn path=/trunk/; revision=22988
2006-07-10 01:48:46 +00:00
Magnus Olsen
b38fbf4730 putting back Christoph_vW patch that was revert by me
svn path=/trunk/; revision=22987
2006-07-10 01:45:03 +00:00
Magnus Olsen
92751bd955 putting back Christoph_vW patch that was revert by me
svn path=/trunk/; revision=22986
2006-07-10 01:33:10 +00:00
Magnus Olsen
52c172d21e Changes for Screen saver And implement
1. Time value can be changes use SPI_SETSCREENSAVETIMEOUT to set the new value, current insate value are set to 30sec
2. SPI_GETSCREENSAVETIMEOUT Get the screen saver timeout value.
3. Dectect if screen saver is running with SPI_GETSCREENSAVERRUNNING
4. Set the state of screen saver with  SPI_SETSCREENSAVERRUNNING <- this is internal api see msdn 
 
Implement for mouse
1. SPI_GETWHEELSCROLLLINES I am but unsure if win32k need more changes it seam like it is only a counter that should be set/get a value and user apps take care of the rest. Implement it for jimtabor did request it. 
2. SPI_GETWHEELSCROLLCHARS  I am but unsure if win32k need more changes it seam like it is only a counter that should be set/get a value and user apps take care of the rest.

svn path=/trunk/; revision=22985
2006-07-10 00:26:56 +00:00
Magnus Olsen
f89c0df588 adding #define SPI_GETWHEELSCROLLCHARS thanks alex for the value
svn path=/trunk/; revision=22984
2006-07-10 00:11:12 +00:00
Michele Cicciotti
9cb9eef811 modified rdesktop/channels.c
modified   rdesktop/constants.h
modified   rdesktop/types.h
   Commented out definitions of standard Windows constants and types

modified   rdesktop/licence.c
modified   rdesktop/secure.c
   TODO annotations

modified   rdesktop/proto.h
   Commented out prototypes for rdpdr, rdpsnd, cliprdr, etc. functions that will be rewritten *and* use a new API

modified   rdesktop/rdesktop.h
modified   rdesktop/rdp.c
modified   rdesktop/tcp.c
   Big big mess, many temporary modifications to have a working prototype ASAP

added      MissTosca.sln
added      mstsc/mstsc.cpp
added      mstsc/mstsc.vcproj
added      mstsc/stdafx.cpp
added      mstsc/stdafx.h
added      mstscax/mstscax.cpp
added      mstscax/mstscax.vcproj
added      mstscax/stdafx.cpp
added      mstscax/stdafx.h
   Created skeleton project files for Visual C++ 2005

added      rdesktop/rdesktop-core.vcproj
   Isolated the bare core of rdesktop. Required little to no porting

added      porting-tools/rdesktop-core-tester
added      porting-tools/rdesktop-core-tester/rdesktop-core-tester.cpp
added      porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj
added      porting-tools/rdesktop-core-tester/stdafx.cpp
added      porting-tools/rdesktop-core-tester/stdafx.h
   Tester application. The screenshots were made with this. Partial (buggy!) implementation of GUI and keyboard input

svn path=/trunk/; revision=22983
2006-07-09 23:57:54 +00:00
Hervé Poussineau
aea3ddc7c8 First argument doesn't need to be a physical device object, it only needs to be in a PDO driver stack.
svn path=/trunk/; revision=22982
2006-07-09 22:08:24 +00:00
Aleksey Bragin
8892a1ea62 Implement proper error-handling in IoRegisterDeviceInterface() (based on testing and MSDN documentation)
svn path=/trunk/; revision=22981
2006-07-09 22:02:03 +00:00
Aleksey Bragin
b77e8f5145 Add two simple tests for IoRegisterDeviceInterface() explaining which fields IoRegisterDeviceInterface() checks for mandatory presence (WDK is not clear about this)
svn path=/trunk/; revision=22980
2006-07-09 21:39:49 +00:00
Aleksey Bragin
2948f5ecdf Re-apply fixes to CPL accidentally reverted by Magnus's reverting commit
svn path=/trunk/; revision=22979
2006-07-09 21:10:40 +00:00
Magnus Olsen
beeb6f5df2 Thanks for x person found a bug, he did not be mentor with name. One of our helper with dx stuff that want be anonymous for now
svn path=/trunk/; revision=22978
2006-07-09 20:28:30 +00:00
Maarten Bosma
555c9d0ec0 Add comments from cc-branch headers to trunk to make the header patch smaller.
svn path=/trunk/; revision=22977
2006-07-09 19:37:39 +00:00
Alex Ionescu
f4539b7037 - Massive re-write of some parts of Ps, based on a patch I wrote almost a year ago and peer-reviewed with Thomas and Filip. Causes some shutdown regressions and process leaks (will fix). Needs more work. Changelog:
- Architectural changes to match information in Windows Internals 4 and other documented sources of information (Windows Internals II by Probert). Code should match Win2003 layout.
    - Handle almost any possible process/thread sub structure and add its cleanup code stubs, so that when we actually implement them, we won't forget to clean them up in the process code.
    - Add interlocked usage of process and thread flags in order to make everything more thread-safe.
    - Better handle cases where threads die instantly, race conditions, and other weird issues.
    - Better handle process termination and thread termination.
    - Implement NtCreateProcessEx and update PspCreateProcess/NtCreateProcess.
    - Improve cleanup of process object in PspProcessDelete.
    - Optimize some things like User Thread startup.
    - Add some extra asserts, paged_code checks and also user-mode security check.
    - Implement helper API PsGetNextProcessThread
    - Optimize thread reaper (thanks Filip)
    - Do proper referencing/dereferencing of thread/processes (thanks Thomas)
    - Document FIXMEs needed for Ps code to be up to standards and complete.

svn path=/trunk/; revision=22976
2006-07-09 18:54:13 +00:00
Magnus Olsen
d5dbbd1211 reverting : revison 22930 to 22932, 22938 to 22940, 22943, 22945, 22950, 22953 to 22954, 22959 to 22961, 22965
Reason : CRT/RTL/STRING are being static linkend into evething and cause CSR crash when it booting to GUI
         and some of the changes are wrong in rbuild as well. Do not hardcode example mingw32-ld name 
         keep it to ld for it is the make file detmer the name of ld when it is building. and some other 
         changes are also question about. It also fix so we can build ReactOS with MinGW 3.4.2 again and
         BinUtils 2.15.91, it was also other problem with this changes.  

svn path=/trunk/; revision=22973
2006-07-09 16:25:25 +00:00
Ged Murphy
ab8a344656 check reg for NTP setting
fix a few typos and msvc warnings

svn path=/trunk/; revision=22972
2006-07-09 16:19:39 +00:00
Magnus Olsen
ae1a33083a last patch Alex ask for this be revert for it should be fixed in another place.
svn path=/trunk/; revision=22971
2006-07-09 15:33:33 +00:00
Alex Ionescu
450d11e3f1 - Small build fix
svn path=/trunk/; revision=22970
2006-07-09 15:25:14 +00:00
Aleksey Bragin
a814cbbe42 Fix the build, thanks to Magnus Olsen
svn path=/trunk/; revision=22969
2006-07-09 12:33:47 +00:00
Alex Ionescu
ee67c24dce - Separate functions that deal with driver-related registry code, grouping, tagging, indexing, sorting into drvrlist.c... this code should eventually become part of Cm instead.
svn path=/trunk/; revision=22968
2006-07-09 02:34:32 +00:00
Alex Ionescu
9b422ef6c6 - Simplify IopReinitializeBootDrivers and IopReinitializeDrivers.
- For some strange reason, boot drivers were re-initailized *after* system drivers.

svn path=/trunk/; revision=22967
2006-07-09 02:21:13 +00:00
Alex Ionescu
2eaab734d7 - Add a typedef for PFS_FILTER_CALLBACKS when the IFS isn't included.
svn path=/trunk/; revision=22966
2006-07-09 01:03:37 +00:00
Christoph von Wittich
c6931157dd -remove nostdlib from KernelModeDlls to fix linking of bzip2
svn path=/trunk/; revision=22965
2006-07-09 00:56:23 +00:00
Magnus Olsen
df8822f30d patch from Vassily Tarasov bug 1658 : Implement GetUserObjectSecurity()and SetUserObjectSecurity()
svn path=/trunk/; revision=22964
2006-07-09 00:16:51 +00:00
Johannes Anderwald
9656ee1e85 * use font properties from registry when available
svn path=/trunk/; revision=22963
2006-07-09 00:13:40 +00:00
Alex Ionescu
17c27b70cd - Allocate Re-Init entries with a tag
- Fix IoAllocateDriverObjectExtension and IoGetDriverObjectExtension:
  - They were using the wrong structure (a made up one).
  - They were saving the extension where the Driver Object's base address should be.
  - Memory leaks.
  - Sometimes holding the lock too long.
- Created EXTENDED_DRIVER_OBJECT structure in NDK, since parts of the documented one are hidden (much like EXTENDED_DEVICE_OBJECT).
- Fixed IopDeleteDriver to free what it should.
- Fixed IoCreateDriver to handle more failure cases.

svn path=/trunk/; revision=22962
2006-07-09 00:01:31 +00:00
Christoph von Wittich
2849b81889 -removed -nostdlib from kernel32
-fixed some msvc errors

svn path=/trunk/; revision=22961
2006-07-08 23:32:03 +00:00
Christoph von Wittich
79a5eee6f5 -use /noentry flag when entrypoint is set to "0"
svn path=/trunk/; revision=22960
2006-07-08 23:23:08 +00:00
Christoph von Wittich
dd81cc1343 fix compilation with msvc
svn path=/trunk/; revision=22959
2006-07-08 23:12:51 +00:00
Alex Ionescu
e7e794c543 - A long long time ago there was a stupid kernel that created MDLs for R/W requests even when the length of the buffer was 0. He had another stupid friend called CDFS which attempted to read the MDL before checking if the buffer size is also 0. When cdfs's friend, the kernel, grew smarter and stopped allocating MDLs, cdfs didn't catch on and cried every time this happened. CDFS now caught up. (thanks to Greatlord for finding the regression).
svn path=/trunk/; revision=22958
2006-07-08 23:02:50 +00:00
Christoph von Wittich
1058843806 remove -nostdlib
svn path=/trunk/; revision=22957
2006-07-08 22:15:41 +00:00
Eric Kohl
1c1c562871 Implement CM_Free_Log_Conf_Handle.
svn path=/trunk/; revision=22956
2006-07-08 22:15:16 +00:00
Magnus Olsen
63d0c1d55a Revert : small part from 22849 wine sync
Reason : put back ReactOS specify code, to make icon transplant. 


svn path=/trunk/; revision=22955
2006-07-08 22:14:37 +00:00
Christoph von Wittich
43800d3c90 remove -nostdlib
svn path=/trunk/; revision=22954
2006-07-08 22:13:10 +00:00
Christoph von Wittich
513463d73f -remove -nostdlib to fix build of msvcrt
-don't set --enable-stdcall-fixup twice

svn path=/trunk/; revision=22953
2006-07-08 22:07:34 +00:00
Johannes Anderwald
3f6c1f228c * add missing string to stringtable -> now the menu fully works
* spotted by Greatlord

svn path=/trunk/; revision=22952
2006-07-08 22:06:54 +00:00
Christoph von Wittich
45153f58c7 -link to opengl32 to fix build of glu32
svn path=/trunk/; revision=22951
2006-07-08 22:04:57 +00:00
Christoph von Wittich
81bdd493c9 -removed -nostdlib to fix build
svn path=/trunk/; revision=22950
2006-07-08 21:39:22 +00:00
Eric Kohl
42c3759b94 Implement CM_Add_Empty_Log_Conf[_Ex] and add PNP_AddEmptyLogConf stub.
svn path=/trunk/; revision=22949
2006-07-08 21:37:32 +00:00
Aleksey Bragin
b9ed9b1450 [AUDIT] + [FORMATTING]
- Coding style applied (make file's header proper, add headers for every function)
- All functions except one are documented in MSDN
- One undocumented function will undergo further examination and documentation

svn path=/trunk/; revision=22948
2006-07-08 21:33:25 +00:00
Magnus Olsen
d22007aa7c Install dejavu font on livecd and bootcd and
change everthing to dejavu fonts. Rember console apps can not use dejavu font for it will regress. 
that is the reasson we keep old bitstream fonts for now. and another problem is bitstream font is
hardcode into console apps (example cmd), it have been hard code in csrss and maybe some more place. 

svn path=/trunk/; revision=22947
2006-07-08 20:49:55 +00:00
Magnus Olsen
998ca67436 fixing last bug for jolite file names. now we can use so long file name we like.
I was force fixing this bug for getting dejavu font to be install on livecd
I was hopping some else have fixing this long standing bug. 

svn path=/trunk/; revision=22946
2006-07-08 20:45:33 +00:00
Christoph von Wittich
512a5f6cd8 -fixed msvc errors
svn path=/trunk/; revision=22945
2006-07-08 20:32:22 +00:00
Magnus Olsen
6366fa9ddc commit import Dejavu font to ReactOS, we need keep bitstream font for Console apps for it is hard code there and there, for console apps, example let cmd working without regress. Now we need change the reactos reg and to the packages.diff.
svn path=/trunk/; revision=22944
2006-07-08 20:05:44 +00:00
Christoph von Wittich
2a83771501 -don't use PROJECT_LFLAGS for freeldr because ld != mingw32-ld
svn path=/trunk/; revision=22943
2006-07-08 19:44:36 +00:00
Alex Ionescu
58695ec272 - Write some TODOs. I'm now done with I/O IRP APIs and File Object handling. Let me know of regressions.
- Next up... driver loading.

svn path=/trunk/; revision=22942
2006-07-08 19:41:20 +00:00
Alex Ionescu
8395aae6a0 - Zero out the OPEN_PACKET and only set non-zero members in functions that use it.
- NtCancelIoFile:
  - Don't use macro-based list looping.
  - Update operation counts.
  - Wait 10ms instead of 100ms.

svn path=/trunk/; revision=22941
2006-07-08 19:28:08 +00:00
Christoph von Wittich
0535c5d920 -fixed some msvc /W4 warnings
svn path=/trunk/; revision=22940
2006-07-08 19:14:12 +00:00
Christoph von Wittich
c742e77e3b -don't use an entrypoint when entrypoint is set to "0"
svn path=/trunk/; revision=22939
2006-07-08 19:13:39 +00:00
Christoph von Wittich
0c95e11038 -fixed some msvc /W4 warnings and errors
svn path=/trunk/; revision=22938
2006-07-08 19:00:35 +00:00
Alex Ionescu
bc388c2ea3 - Don't use FILE_ATTRIBUTE_NORMAL for mailslots/namedpipes.
svn path=/trunk/; revision=22937
2006-07-08 18:59:18 +00:00
Alex Ionescu
b256a775b7 [FORMATTING] - STDCALL->NTAPI changes, tab->Spaces, name decoration, etc.
- Add Eric's name since when I copied security.c into file.c, I forgot to add his name as well for that code.

svn path=/trunk/; revision=22936
2006-07-08 18:57:51 +00:00
Alex Ionescu
909fdbdc9c - Implemented NtDeleteFile, also a piece of cake now that we have IopParseDevice done.
svn path=/trunk/; revision=22935
2006-07-08 18:47:26 +00:00
Alex Ionescu
c4cfd65ad0 - Implement IoFastQueryNetworkAttributes which is now a piece of cake thanks to a properly implemented IopParseDevice.
svn path=/trunk/; revision=22934
2006-07-08 18:35:17 +00:00
Alex Ionescu
0a2769494f - Add support for cases when the FSD that actually did the FO create wasn't the one to whom we went the IRP.
- Also add support for detecting volume opens and setting the FO_VOLUME_OPEN flag.

svn path=/trunk/; revision=22933
2006-07-08 18:30:59 +00:00
Christoph von Wittich
884482b6aa -fixed msvc /W4 warnings and errors
svn path=/trunk/; revision=22932
2006-07-08 18:30:34 +00:00
Christoph von Wittich
a9a4a3d059 -use msvc compatible def files
svn path=/trunk/; revision=22931
2006-07-08 18:25:19 +00:00
Christoph von Wittich
3e7b4d7fc2 -fix msvc dll entrypoint
-fix PROJECT_LFLAGS
-added --enable-stdcall-fixup to PROJECT_LFLAGS

svn path=/trunk/; revision=22930
2006-07-08 18:24:11 +00:00
Alex Ionescu
2002b5b96a - Remove a ROS hack in IopCloseFile.
svn path=/trunk/; revision=22929
2006-07-08 18:19:39 +00:00
Alex Ionescu
6555616bb6 - Uber-optimize IopQueryAttributesFile by using the OPEN_PACKET mechanism to query file attributes, instead of doing lots of slow native calls.
- Modify IopParseDevice to detect when OPEN_PACKET optimizations are in use (query or deletion (deletion not yet implemented)) and have some codepaths be slightly different and use DUMMY_FILE_OBJECT.
- Implement QueryOnly case in IopParseDevice to handle attribute queries.
- Add a missing dereference, and remove an extra DO reference.

svn path=/trunk/; revision=22928
2006-07-08 18:17:26 +00:00
Aleksey Bragin
8ac94d67d0 - Remove extern (I don't see a reason to use it in function declarations)
- Add co_CsrNotifyScreenSaver(), so win32k builds properly
- Make style better

svn path=/trunk/; revision=22927
2006-07-08 18:05:06 +00:00
Alex Ionescu
12e1a16066 - Massively improve File I/O by using deferred I/O completion for MJ_(MAILSLOT/FILE/NAMEDPIPE)CREATE and manually completing the IRP.
svn path=/trunk/; revision=22926
2006-07-08 17:07:24 +00:00
Alex Ionescu
a49990d5ac - Add proper failure case for IRP allocation failure
- Only initialize the FO's lock for Synch I/O
- Add some missing comments
- Fixup some formatting

svn path=/trunk/; revision=22925
2006-07-08 16:45:53 +00:00
Christoph von Wittich
536df67dff -fixed some msvc /W4 warnings
svn path=/trunk/; revision=22924
2006-07-08 16:45:13 +00:00
Christoph von Wittich
c40550a8ca -revert 22909
-take care of ModuleDefinitionFile

svn path=/trunk/; revision=22923
2006-07-08 16:44:38 +00:00
Johannes Anderwald
56fd6ce005 * halfplement reading console properties
* thnx to Alex_Ionescu for advice on how get HKCU path

svn path=/trunk/; revision=22922
2006-07-08 16:00:08 +00:00
Christoph von Wittich
386a355fb8 -get rid of wine headers in Debug/Release/Speed configurations
svn path=/trunk/; revision=22916
2006-07-08 12:09:50 +00:00
Christoph von Wittich
cf82ae7be8 -remove winsock2.h which is causing errors when building with msvc
svn path=/trunk/; revision=22915
2006-07-08 12:08:56 +00:00
Ged Murphy
757901f02a revert r22910
there are a few issues with both the resource files and the code.
I suggest working on intl_new however as intl is soon to be deleted.

svn path=/trunk/; revision=22912
2006-07-08 10:37:37 +00:00
Christoph von Wittich
551d3ecaaa -fixed some msvc /W4 warnings
svn path=/trunk/; revision=22911
2006-07-08 10:22:35 +00:00
Ged Murphy
b6ec400d02 apply patch from bug 1653.
patch by Mrkaras.
unfortunately, this applet is soon the be replaced.

svn path=/trunk/; revision=22910
2006-07-08 10:20:35 +00:00
Christoph von Wittich
4a0cb7579d -use correct RuntimeLibrary for DLLs
svn path=/trunk/; revision=22909
2006-07-08 10:12:57 +00:00
Christoph von Wittich
1cfcb1d9f5 -fixed msvc /W4 warnings
-removed ntdll dependency

svn path=/trunk/; revision=22908
2006-07-08 10:00:15 +00:00
Alex Ionescu
1b176ca010 - Fix boot.
svn path=/trunk/; revision=22907
2006-07-08 04:13:50 +00:00
Magnus Olsen
c693aa7a2b remove a miss use assert in ProtocolReceive, I have talk with arty about it.
svn path=/trunk/; revision=22906
2006-07-07 21:43:49 +00:00
Alex Ionescu
045ca1dd86 - Add some more proper handling of ref/dereferencing in IopParseDevice.
svn path=/trunk/; revision=22905
2006-07-07 17:53:34 +00:00
Alex Ionescu
aa2513791b - Make an I/O Tagged copy of the file name and properly handle failure.
svn path=/trunk/; revision=22904
2006-07-07 17:29:12 +00:00
Alex Ionescu
d6e384ce39 - Implement IopCheckVpbMounted and use it in IopParseDevice as documented in NT File System Internals.
- Add some missing ref/deref calls for DOs and VPBs.

svn path=/trunk/; revision=22903
2006-07-07 17:18:52 +00:00
Alex Ionescu
979b777dd5 - Use a simpler and more robust way to detect direct device opens and save it in a variable that's read when needed, instead of having multiple large code paths.
svn path=/trunk/; revision=22902
2006-07-07 16:26:05 +00:00
Andrew Munger
70cd383c59 Add a \n so the output under linux looks correct. Every other printf had a \n, no idea why this one didn't.
svn path=/trunk/; revision=22901
2006-07-07 16:23:44 +00:00
Magnus Olsen
be4f6702f4 Change in the auto screen saver startup code in win32k
1. Fixing allot better sync for the timeout counter 
2. Change the hard code value to 30 sec instead for 15 sec
3. The start of screen saver are 30.0 sec to 30.9 sec for 
   we can not start on exactly on the x.0 sec but betwin  

svn path=/trunk/; revision=22900
2006-07-07 16:22:46 +00:00
Andrew Munger
6f734d6123 Convert sequence number to network byte order before sending it on the wire.
svn path=/trunk/; revision=22898
2006-07-07 13:23:10 +00:00
Hervé Poussineau
51cb8f8eac Fix typo (UNICODE -> _UNICODE)
svn path=/trunk/; revision=22897
2006-07-06 21:58:48 +00:00
Magnus Olsen
49ac5c3e0e Commit my autostart code for screen saver for now it is hardcode to 15 sec timeout
svn path=/trunk/; revision=22896
2006-07-06 20:42:45 +00:00
Aleksey Bragin
9135556ab7 Imitate success in WMI registration, so that drivers depending on it won't fail. (However DPRINT1 is inserted, so that devs notice the driver wants WMI)
svn path=/trunk/; revision=22895
2006-07-06 20:31:17 +00:00
Magnus Olsen
52d8aae119 Screen Saver win32csr part
1. Clean up the code
2. Adding FIXME text
3. Fixing a bug cause screen saver was autostart whole time after timeout accord.


svn path=/trunk/; revision=22894
2006-07-06 19:35:16 +00:00
Christoph von Wittich
69ac6cf7f8 fixed some warnings (msvc /W4)
svn path=/trunk/; revision=22893
2006-07-06 16:26:40 +00:00
Christoph von Wittich
305978e29e fixed about 70 warnings (msvc /W4)
svn path=/trunk/; revision=22892
2006-07-06 16:25:42 +00:00
Christoph von Wittich
e0f209d6c1 added winver back to build
svn path=/trunk/; revision=22891
2006-07-06 16:24:51 +00:00
Maarten Bosma
b8990f331f [FORMATING] Replace Tabs with spaces to uniform the code.
svn path=/trunk/; revision=22890
2006-07-06 15:14:06 +00:00
The Wine Synchronizer
ad50c49167 Update Wine-syncing doc
svn path=/trunk/; revision=22888
2006-07-06 11:23:09 +00:00
The Wine Synchronizer
51e37a94c6 Autosyncing with Wine HEAD
svn path=/trunk/; revision=22887
2006-07-06 11:22:04 +00:00
The Wine Synchronizer
532c10cebd Delete unneeded makefile
svn path=/trunk/; revision=22886
2006-07-06 11:18:46 +00:00
The Wine Synchronizer
04d864f341 Autosyncing with Wine HEAD
svn path=/trunk/; revision=22885
2006-07-06 11:10:26 +00:00
The Wine Synchronizer
fa1bcb1434 Autosyncing with Wine HEAD
svn path=/trunk/; revision=22884
2006-07-06 10:52:10 +00:00
The Wine Synchronizer
03475ee8e9 Autosyncing with Wine HEAD
svn path=/trunk/; revision=22883
2006-07-06 10:19:03 +00:00
Alex Ionescu
790e2352f2 - Allocate a copy of the EA buffer even for kernel-mode requests, also make the call use a tagged buffer.
- Document call to ObOpenObjectByName
- Properly handle and document all possible cases (parse failures vs I/o failures vs both), and handle dereferencing and status codes nicely.
- Detect if the FSD is reparsing, which we don't support now (we'll bugcheck for now, so we can quickly detect this later instead of handling it wrong).

svn path=/trunk/; revision=22882
2006-07-06 03:40:16 +00:00
Magnus Olsen
4bbd216eab Save Screen Saver you select with right value to the system register when u select apply or ok
svn path=/trunk/; revision=22881
2006-07-06 02:29:16 +00:00
Magnus Olsen
7339d03e09 Fixing one bug, do not list current screensaver twice.
svn path=/trunk/; revision=22880
2006-07-06 01:55:53 +00:00
Magnus Olsen
393a276f68 Commit initiate work of implement of autostart of screen saver.
svn path=/trunk/; revision=22879
2006-07-06 01:44:01 +00:00
Alex Ionescu
0f2c6e474b - Move the code in IoCreateFile inside IopParseDevice where it belongs. Currently only a raw move and hacks to make it not regress anything, but in the future we can now finally start applying some important fixes for proper communication with FSDs and setting a myriad of flags and settings required. Will also allow for some nice optimizations in the future.
svn path=/trunk/; revision=22878
2006-07-05 23:55:45 +00:00
Ged Murphy
51cd8da6b7 update Wine file.
svn path=/trunk/; revision=22877
2006-07-05 22:52:42 +00:00
Ged Murphy
b20974cc24 Sync to Wine-0_9_16:
*no changes since 0.9.11 ...

Sync to Wine-0_9_11:
Byeong-Sik Jeon <wjsqudtlr@gmail.com>
- commdlg: Updated Korean translation.
Ulrich Czekalla <ulrich@codeweavers.com>
- commdlg: Properly set and retrieve colour value from combo box .
Mike McCormack <mike@codeweavers.com>
- commdlg: Malformed filters are still added to the filter combo box.
 
Sync to Wine-0_9_10:
Mike McCormack <mike@codeweavers.com>
- comdlg32: Use a property for the color dialog's information.
- comdlg32: Remove the property when destroy the dialog box.
 
Sync to Wine-0_9_8:
Vitaliy Margolen <wine-patch@kievinfo.com>
- commdlg: Add font sizes 6 and 7 to font select dialog.
Henning Gerhardt <henning.gerhardt@web.de>
- commdlg: Update German resource.
Petr Tesarik <hat@tesarici.cz>
- commdlg: Czech language resources encoding fix.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Add support for CDM_HIDECONTROL message in the file open dialog.
Andrey Turkin <pancha@mail.nnov.ru>
- commdlg: IShellBrowser sets IShellView window's control id to 5002.
Fatih Ac <fasici@linux-sevenler.org>
- commdlg: Turkish translation.
 
Sync to Wine-0_9_7:
Michael Kaufmann <hallo@michael-kaufmann.ch>
- commdlg: File open dialog: Use the specified instance handle for
  custom dialog templates.
 
Sync to Wine-0_9_6:
YunSong Hwang <hys545@dreamwiz.com>
- commdlg: Updated Korean translation.
Ulrich Czekalla <ulrich@codeweavers.com>
- commdlg: If provided use and update hDevMode in the PAGESETUPDLG struct.
  Update the dmDefaultSourcea return value inside hDevMode.
Stefan Br¹ns <stefan.bruens@rwth-aachen.de>
- commdlg: Makes return value of FILEDLG95_SendFileOK dependent of
  return value, not of DWL_MSGRESULT.
 
Sync to Wine-0_9_5:
Dan Kegel <dank@kegel.com>
- commdlg: Let the color picker respond properly to keystrokes.

svn path=/trunk/; revision=22876
2006-07-05 22:48:31 +00:00
Alex Ionescu
9307b5a3b7 - Begin attempt at usage of the OPEN_PACKET for I/O Create operations. Currently we only build it and verify it, and I've fixed up IopCreateFile.
svn path=/trunk/; revision=22871
2006-07-05 20:56:03 +00:00
Alex Ionescu
0e84e0e3c1 - Silence TCP/IP.
- Prototye fix.

svn path=/trunk/; revision=22870
2006-07-05 20:36:56 +00:00
Alex Ionescu
cca46c3214 - Simplify IopParseDevice by removing duplicate code.
svn path=/trunk/; revision=22869
2006-07-05 20:08:08 +00:00
Alex Ionescu
54c6ba2513 [FORMATTING] - Fix formatting in IoCreateFile
svn path=/trunk/; revision=22868
2006-07-05 19:55:25 +00:00
Magnus Olsen
284101e016 [AUDIT] after looking through code no signs of reverse engineering were found. Almost ever thing is almost complete from djgpp, few funcion is writen by us
svn path=/trunk/; revision=22867
2006-07-05 19:09:29 +00:00
Magnus Olsen
bea2e9174e [AUDIT] after looking through code no signs of reverse engineering were found.
1. Follow fix need be done remove hardcode exe, cmd extions in wstart* use PATHEXT to found right excutions.


svn path=/trunk/; revision=22866
2006-07-05 18:57:25 +00:00
Magnus Olsen
2711a8c0ae [AUDIT] after looking through code no signs of reverse engineering were found. Alot stuff taken from wine, it contain hard code string like date, contry names, that need to move to msvcrt dll rc file
svn path=/trunk/; revision=22865
2006-07-05 18:49:03 +00:00
Magnus Olsen
dffe30bd96 [AUDIT] after looking through code no signs of reverse engineering were found. Almost all code is from djgpp, few functions is from us.
svn path=/trunk/; revision=22864
2006-07-05 18:43:17 +00:00
Magnus Olsen
adfdf54371 [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=22863
2006-07-05 18:36:44 +00:00
Magnus Olsen
016d44f812 [AUDIT] after looking through code no signs of reverse engineering were found, and most code is base on djgpp
svn path=/trunk/; revision=22862
2006-07-05 18:34:01 +00:00
Ged Murphy
a976fc233e clean up code and use HeapAlloc + fix memory leaks
svn path=/trunk/; revision=22861
2006-07-05 15:29:37 +00:00
Alex Ionescu
ce56d2bf07 - Make IoCreateFile use deferred I/O completion.
- Fixed a bug in TCP/IP that was making it complete IRP_MJ_CREATE with STATUS_SUCCESS yet with the IRP marked as pending.

svn path=/trunk/; revision=22859
2006-07-05 06:45:00 +00:00
Alex Ionescu
5338d133b3 [AUDIT] - Almost all the functions are stubs, except for some LSA functions which merely seem to be wrappers that build LPC messages for the actual LSA Server to implement (which isn't part of these files).
- Add some stubs during my attempt to load Google Talk (forget about it!). However WINE implements all these functions entirely so maybe we should just sync with them?

svn path=/trunk/; revision=22858
2006-07-05 06:43:46 +00:00
Alex Ionescu
32472d9eff - Ongoing IoCreateFile fixes:
- Start with empty object
  - Set the type/size in the object header
  - Don't rudely ignore the following flags: FILE_WRITE_THROUGH, FILE_SEQUENTIAL_ONLY, FILE_RANDOM_ACCESS, OBJ_CASE_INSENSITIVE; they are not merely decorative.
  - Set correct IRP flags for IRP_CREATE_OPERATION so that the I/O manager knows how to deal with the request (also set SYNCH_API flag).
  - Deferred mode not yet enabled.
  - Simplify the way we set the parameters for pipes/mailslots/files.
  - Don't close the handle of an invalid FO.

svn path=/trunk/; revision=22857
2006-07-05 04:16:37 +00:00
Alex Ionescu
cea9a8ea57 - Fix IopcloseFile... I'm not sure it was working right after the Ob changes, so it's possible some devices weren't getting IRP_MJ_CLEANUP... also made it lock the FO and detect malformed FOs (more spam for you on the debug logs!) -- but this is one problem I'm planning on fixing.
svn path=/trunk/; revision=22856
2006-07-05 02:02:44 +00:00
Alex Ionescu
6fc8c860f1 - The FO's lock is a Synch event, not a notification event!
svn path=/trunk/; revision=22855
2006-07-05 00:22:09 +00:00
Alex Ionescu
b450016579 - Finally fix IoCreateStreamFileObject. I had fixed it a long time ago but back then it was causing regressions. It now properly creates a handle for the FO and sets the right flags.
svn path=/trunk/; revision=22854
2006-07-05 00:17:34 +00:00
Alex Ionescu
ef41fc2623 - Fix IopQueryNameFile to properly validate and calculate lengths at each step of the way and to support incomplete buffers. Previously, dangerous assumptions were made about the buffers and the actual required length was never returned.
svn path=/trunk/; revision=22853
2006-07-04 23:31:42 +00:00
Alex Ionescu
0342a00bde - Fix and combine the creation of I/O Object Types, it was a complete mess with missing attributes and dangerous bugs (Adapters and Controllers had IopParseDevice as a parse routine and the same pool charge as a deivice object, etc.)
svn path=/trunk/; revision=22852
2006-07-04 22:41:47 +00:00
Alex Ionescu
9ed248e63a - Add locking in IopDeleteFile, and only check for completion context or name if the file has a DO, otherwise those shouldn't exist.
- Added support for device objects as well in IopSecurityFile, since the code is similar. Also fixed sync semantics for file objects, and made other little small fixes.

svn path=/trunk/; revision=22851
2006-07-04 22:28:23 +00:00
Ged Murphy
f1260d7115 update Wine doc
svn path=/trunk/; revision=22850
2006-07-04 21:45:05 +00:00
Ged Murphy
94384e8058 Sync to Wine-0_9_16:
Alexandre Julliard <julliard@winehq.org>
- comctl32: Don't use sizeof in traces to avoid printf format warnings.
Dmitry Timoshkov <dmitry@codeweavers.com>
- comctl32: Return FALSE in the WM_CLOSE PROPSHEET_DialogProc handler.
Mike McCormack <mike@codeweavers.com>
- comctl32: Use the listview's background colour when drawing with imagelist.
- comctl32: Arrange the listview after deleting all items so we will place iconsat the top again.

svn path=/trunk/; revision=22849
2006-07-04 21:33:34 +00:00
Ged Murphy
21d56df85d update ROS code to call new tests
svn path=/trunk/; revision=22848
2006-07-04 21:05:16 +00:00
Ged Murphy
df1bfe81ba update comctl32 regression tests to Wine-0_9_16, which now includes listview testing
svn path=/trunk/; revision=22847
2006-07-04 20:58:29 +00:00
Ged Murphy
4334d625a1 revert r22824 as requested by Fireball.
The auto sync didn't work as expected.

svn path=/trunk/; revision=22843
2006-07-04 19:27:14 +00:00
Aleksey Bragin
762103b6c0 Revert netapi and mpr winesyncs (needs to be re-applied correctly next time)
svn path=/trunk/; revision=22842
2006-07-04 19:22:00 +00:00
Aleksey Bragin
04bed5affc Revert cards.dll and crypt32.dll autowinesync.
svn path=/trunk/; revision=22841
2006-07-04 19:14:19 +00:00
James Tabor
e27f4b8e40 - CreateWindowExa/W
svn path=/trunk/; revision=22840
2006-07-04 18:26:49 +00:00
Aleksey Bragin
4f0a4cd681 ROS-specific patch for autosyncing with Wine
svn path=/trunk/; revision=22839
2006-07-04 17:33:54 +00:00
Alex Ionescu
fbfa3c8507 - Misc formatting fixes.
svn path=/trunk/; revision=22838
2006-07-04 16:53:29 +00:00
Alex Ionescu
cd3a5651b9 - Fix NtSetInformationFile to use correct sync/async semantics and use deferred I/O completion. This routine doesn't use IopSyncronous/Asyncronous helper routines because it can be optimized to handle some Information classes in-line (not currently being done except for Completion Ports, like the previous code).
svn path=/trunk/; revision=22837
2006-07-04 16:50:56 +00:00
Alex Ionescu
e5d57b0b41 - Fix NtQueryInformationFile to use correct sync/async semantics and use deferred I/O completion. This routine doesn't use IopSyncronous/Asyncronous helper routines because it can be optimized to handle some Information classes in-line (not currently being done).
svn path=/trunk/; revision=22836
2006-07-04 15:36:55 +00:00
Johannes Anderwald
e325f17cb8 fix build
svn path=/trunk/; revision=22835
2006-07-04 15:15:45 +00:00
The Wine Synchronizer
ba0d1ad833 Autosyncing with Wine
svn path=/trunk/; revision=22834
2006-07-04 14:20:20 +00:00
The Wine Synchronizer
17984c4182 Autosyncing with Wine
svn path=/trunk/; revision=22833
2006-07-04 14:17:14 +00:00
The Wine Synchronizer
a40ef44f44 Autosyncing with Wine
svn path=/trunk/; revision=22832
2006-07-04 14:14:41 +00:00
The Wine Synchronizer
238674ba55 Autosyncing with Wine
svn path=/trunk/; revision=22831
2006-07-04 14:12:07 +00:00
The Wine Synchronizer
0cb90dcf00 Autosyncing with Wine
svn path=/trunk/; revision=22830
2006-07-04 14:09:35 +00:00
The Wine Synchronizer
263c708067 Autosyncing with Wine
svn path=/trunk/; revision=22829
2006-07-04 14:04:07 +00:00
The Wine Synchronizer
a70872436e Autosyncing with Wine
svn path=/trunk/; revision=22828
2006-07-04 13:58:40 +00:00
The Wine Synchronizer
c7b8d82ee6 Autosyncing with Wine
svn path=/trunk/; revision=22827
2006-07-04 13:55:42 +00:00
The Wine Synchronizer
8405953e75 Autosyncing with Wine
svn path=/trunk/; revision=22826
2006-07-04 13:51:21 +00:00
The Wine Synchronizer
bed42ce391 Autosyncing with Wine
svn path=/trunk/; revision=22824
2006-07-04 13:46:00 +00:00
The Wine Synchronizer
1bdd35fc6e Autosyncing with Wine
svn path=/trunk/; revision=22823
2006-07-04 13:41:25 +00:00
Johannes Anderwald
6b7b808d5a * halfplemented console system menu
svn path=/trunk/; revision=22822
2006-07-04 13:36:57 +00:00
The Wine Synchronizer
bb69f46634 Autosyncing with Wine
svn path=/trunk/; revision=22821
2006-07-04 13:33:18 +00:00
Johannes Anderwald
2cb63fcb9b * remove unreferenced parameters warning in font.c layout.c colors.c
* remove global structure g_ConsoleInfo
* implemented reading/writing of options dialog settings
* added apply dialog
* thnx to w3seek for help

svn path=/trunk/; revision=22820
2006-07-04 13:22:05 +00:00
The Wine Synchronizer
4b35b55e7a Autosyncing with Wine
svn path=/trunk/; revision=22819
2006-07-04 12:05:13 +00:00
James Tabor
979f9f7d1a - NtUser/CreateWindowExA/W:
- During testing I found one application not working with the new mdi support changes. VIDE from the Vgui C++ project was creating a bugcheck trying to access kernel space. Just for precautions I moved the kernel code back into user32. After testing the application, it worked fine. So, I'm reordering the execution of CreateWindowEx. Keeping a small part in kernel space and the rest in user. This has caused code duplication in user32, but I want to set this straight first. I will sort out the code duplication later. Sorry for the mess.

svn path=/trunk/; revision=22818
2006-07-04 05:56:25 +00:00
James Tabor
b43b9aa85e Restore tinus patches.
svn path=/trunk/; revision=22817
2006-07-04 02:32:33 +00:00
James Tabor
bc28737725 Wine port for DefWindowProcAW WM_NCCREATE help SetText.
svn path=/trunk/; revision=22816
2006-07-03 22:36:09 +00:00
Magnus Olsen
cb6818f2df patch from LMH1 : see bug 1606
NORWEGIAN translations

svn path=/trunk/; revision=22815
2006-07-03 22:28:49 +00:00
Johannes Anderwald
fc2be1d1ce [AUDIT]
* unlock win32csr
* win32csr is totally different implemented from NT Version 
* audit reviewed by Alex_Ionescu

svn path=/trunk/; revision=22814
2006-07-03 22:08:47 +00:00
James Tabor
f985e4b908 Move hBmpClose to the MDICLIENTINFO structure and modified MDI_RestoreFrameMenu to support the change.
svn path=/trunk/; revision=22813
2006-07-03 22:04:42 +00:00
Magnus Olsen
6d2332c2fb Commit bug 1347, patch from w3seek
This patch implements the function TreeResetNamedSecurityInfoA. However, as it's not even implemented in windows, the code is disabled by default.


svn path=/trunk/; revision=22812
2006-07-03 21:43:04 +00:00
Magnus Olsen
3292d82ef6 forget this file sorry
svn path=/trunk/; revision=22811
2006-07-03 21:40:20 +00:00
Magnus Olsen
3bd0205d06 test case for QueueUserWorkItem from bug 1609
by w3seek

svn path=/trunk/; revision=22810
2006-07-03 21:29:32 +00:00
Johannes Anderwald
ac9badbafc set svn:eol-style:native
svn path=/trunk/; revision=22809
2006-07-03 20:27:46 +00:00
Magnus Olsen
76db5b581b 5 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22808
2006-07-03 20:27:38 +00:00
Magnus Olsen
ae94c696ac 4 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22807
2006-07-03 20:26:58 +00:00
Magnus Olsen
34861fa5e2 3 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22806
2006-07-03 20:24:46 +00:00
Magnus Olsen
f9fa435673 2 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22805
2006-07-03 20:23:48 +00:00
Magnus Olsen
d2bab053ae 1 of 4 commit (sorry my svn clinet is crazy for moment)
Commit w3seek patch from bug 1609 : file attachment (id=910) 
The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks
optimizations!!!). WINE's latest rpcrt4 relies on it.

1. Implement QueueUserWorkItem()/RtlQueueWorkItem() :
2. A slightly optimized 
3. Supports WT_TRANSFER_IMPERSONATION
4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer
5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available




svn path=/trunk/; revision=22804
2006-07-03 20:23:10 +00:00
James Tabor
abedc7b76b Restored sequence for setting WindowObject and callers styles.
svn path=/trunk/; revision=22803
2006-07-03 20:04:17 +00:00
Magnus Olsen
a0e5355f01 wrong propyty on inlcude file it is not a executable format
svn path=/trunk/; revision=22802
2006-07-03 19:59:50 +00:00
Johannes Anderwald
7b888e6f12 * dont perform IntValidateWindowStationHandle in UserCreateMenu when current process is CsrProcess
* this makes system menu for cmd.exe display
* patch reviewed by w3seek and tested by me

svn path=/trunk/; revision=22801
2006-07-03 19:25:48 +00:00
Aleksey Bragin
65045dfa79 Fix a typo (should have been commented from the beginning) in autochk: this removes UM exception in autochk during bootup
svn path=/trunk/; revision=22800
2006-07-03 16:51:19 +00:00
Hervé Poussineau
2bd2be9797 Add a big warning about installing custom drivers
svn path=/trunk/; revision=22799
2006-07-03 15:04:46 +00:00
Hervé Poussineau
41badff137 Define DLL_WINE_PREATTACH constant
svn path=/trunk/; revision=22798
2006-07-03 14:00:16 +00:00
Hervé Poussineau
19c1803cbb Add missing constants
svn path=/trunk/; revision=22796
2006-07-03 10:19:42 +00:00
James Tabor
afe9ebf1f4 -NtUserCreateWindowEx: Removed not about setting WS_CHILD.
svn path=/trunk/; revision=22795
2006-07-03 07:54:45 +00:00
James Tabor
f638f11734 -NtUserCreateWindowEx: Don't force WS_CHILD set, it could be WS_POPUP.
svn path=/trunk/; revision=22794
2006-07-03 07:52:22 +00:00
Hervé Poussineau
5167c901d3 Add more defines for anonymous structure/union names
svn path=/trunk/; revision=22793
2006-07-03 07:43:28 +00:00
James Tabor
8307280bc9 - NtUser/CreateWindowExA/W:
- Add support for WS_EX_MDICHILD. Reordered sequence for setting WindowObject and callers styles.
  - Synced mdi.c from Wine. Added support function MDI_GetId help return IDMenu.
  - Thanks to GreatLord for helping.

svn path=/trunk/; revision=22792
2006-07-03 04:33:29 +00:00
Alex Ionescu
0ffb1da110 - NtQueryDirectoryFile:
- Setup a buffer/MDL and the correct IRP flags so that that I/O manager can handle allocation, copy, free for us.
  - Setup the search pattern as an auxiliary buffer so that the I/O Mgr can track that one for us as well.
  - Update to use the correct sync semantics/routines.
  - Use deferred I/O completion.
- Outline TODOs and workplan for iofunc.c

svn path=/trunk/; revision=22791
2006-07-03 02:50:16 +00:00
Alex Ionescu
933ef1952d - NtWriteFile:
- Allow async i/o access on mailslots, without a byte offset.
  - Fix sync semantics just like for the other functions until now.
  - Fix a potential object leak in  a failure case.
  - Don't call IoBuildSyncronousFsdRequest since we want to build the IRP ourselves.
  - Use deferred I/O as an optimization.

svn path=/trunk/; revision=22790
2006-07-03 01:17:14 +00:00
Alex Ionescu
c4bc69cfd7 - NtReadFile:
- Allow async i/o access on mailslots, without a byte offset.
  - Fix sync semantics just like for the other functions until now.
  - Fix a potential object leak in  a failure case.
  - Don't call IoBuildSyncronousFsdRequest since we want to build the IRP ourselves.
  - Use deferred I/O as an optimization.

svn path=/trunk/; revision=22789
2006-07-02 23:02:38 +00:00
Alex Ionescu
2ea73a1428 - Same sort of changes for NtSetVolumeInformationFile.
svn path=/trunk/; revision=22788
2006-07-02 22:19:29 +00:00
Alex Ionescu
b17492f448 - Fix sync usage in NtQueryVolumeInformationFile, set the right IRP flags so that the I/O manager can handle copying the data back and freeing the buffer, and enable deferred completion.
svn path=/trunk/; revision=22787
2006-07-02 22:14:20 +00:00
Alex Ionescu
7dc0e5e4e8 - Add proper sync handling to NtUnlockFile.
svn path=/trunk/; revision=22786
2006-07-02 22:07:20 +00:00
Aleksey Bragin
d063cd0281 Mikhail Zvyozdochkin: Fix compiling on linux (adding missing headers inclusion)
svn path=/trunk/; revision=22785
2006-07-02 22:03:40 +00:00
Aleksey Bragin
feaabba4dc Mikhail Zvyozdochkin: Fix compiling on linux (adding proper include path for halxbox)
svn path=/trunk/; revision=22784
2006-07-02 21:59:04 +00:00
Hervé Poussineau
ff2f32e1fc Delete now useless code
svn path=/trunk/; revision=22782
2006-07-02 21:35:31 +00:00
Hervé Poussineau
6213ba017a Delete now useless code
svn path=/trunk/; revision=22781
2006-07-02 21:35:06 +00:00
Hervé Poussineau
b4a471a78a Rename richedit to riched32 and lzexpand to lz32
svn path=/trunk/; revision=22780
2006-07-02 21:33:02 +00:00
Eric Kohl
327a05db0f Implement CM_Open_DevNode_Key and add CM_Open_DevNode_Key_Ex stub.
svn path=/trunk/; revision=22777
2006-07-02 19:20:45 +00:00
Alex Ionescu
8a2e062765 - More of the same for NtNotifyChangeDirectoryFile.
svn path=/trunk/; revision=22776
2006-07-02 19:11:26 +00:00
Alex Ionescu
363f94ff5d - NtLockFile:
- Add proper sync operation.
  - Set the APC Routine/Context in the IRP instead of ignoring them.
  - Dereference the event on failure.
  - Set the allocated buffer as AuxiliaryBuffer so the I/O manager fres it.

svn path=/trunk/; revision=22775
2006-07-02 19:01:17 +00:00
Alex Ionescu
125c2ebaac - Temporarily disable queueing IRPs to their threads, since raising to APC_LEVEL seems to cause some weird user-mode exceptions.
svn path=/trunk/; revision=22774
2006-07-02 18:47:54 +00:00
Hervé Poussineau
1dc3c727a1 Implement IopReinitializeBootDrivers, on the model of IopReinitializeDrivers
svn path=/trunk/; revision=22773
2006-07-02 18:34:21 +00:00
Alex Ionescu
bd7e79620d - Move NtCancelIoFile and NtDeleteFile to file.c, they don't deal with IRPs.
- Create IopFinalizeAsynchronousIo to deal with Sync APIs working on Async file objects, which need to be waited on differently and have the IOSB copied manually.
- Update NtFlushBuffersFile to new semantics (ie, usage of the new implemented functions).

svn path=/trunk/; revision=22772
2006-07-02 18:20:37 +00:00
Alex Ionescu
a6a473a94d - Same changes for IoSertInformation: Lock the FO, queue the IRP, support alerted I/O, etc...
svn path=/trunk/; revision=22771
2006-07-02 16:41:49 +00:00
Alex Ionescu
588b81a0ba - Combine IoQueryVolumeInformation and IoQueryFileInformation
- Fix them to lock the fileobject for synch operations, use IopCleanupFailedIrp, queue the IRP in the thread's list, support aborting the I/o operation through IopAbortInterruptedIrp, and properly wait for comlpetion.

svn path=/trunk/; revision=22770
2006-07-02 16:35:05 +00:00
Alex Ionescu
13ef11ff23 - Start of heavy work on iofunc.c:
- Created our new friends: IopCleanupFailedIrp, IopAbortInterruptedIrp, IopPerformSynchronousRequest, IopLockFileObject, IopUnlockFileObject, IopQueueIrpToThread, IopUpdateOperationCount.
  - What does this mean: We actually queue IRPs to their thread! We actually respect I/O transfers being interrupted/alerted! We actually respect I/O operation counts! We actually LOCK FILE OBJECTS instead of randomly using them! We now support Deferred (read: MUCH faster) I/O completion.
- First function blessed: IopDeviceFsIoControl.
- Also simplified access rights check and fixedup some formatting.

svn path=/trunk/; revision=22769
2006-07-02 16:20:10 +00:00
Alex Ionescu
fbddf0d1ac - Fix formatting of some newly added functions before starting heavy work.
svn path=/trunk/; revision=22768
2006-07-02 14:26:25 +00:00
Alex Ionescu
fcb77c4c3d - Move IoGetBaseFileSystemDeviceObject to device.c and make it check for FO_DIRECT_DEVICE_OPEN, which it wasn't before (and also code it in a less confusing way like the other IoGetXxxDeviceObject APIs)
- Mask out the DO_VERIFY_VOLUME flag when mounting a device.

svn path=/trunk/; revision=22767
2006-07-02 06:28:29 +00:00
Alex Ionescu
130980ccde - Small optimization: don't bother to get the File System Listhead we'll parse if we're going to fail because of wrong VPB flags later... get the list only after we're sure we need it.
svn path=/trunk/; revision=22766
2006-07-02 06:18:55 +00:00
Alex Ionescu
ff429eb9f3 - Use IoIsErrorUserInoduced to check if we couldn't mount the device because it was not actually inserted, was unrocognized, write-protected, etc... and completely break out of the mounting procedure if so.
- Also use FsRtlIsTotalDeviceFailure to check if the error was a fatal device error (like a CRC error) and abandon mounting in this case as well.

svn path=/trunk/; revision=22765
2006-07-02 06:15:52 +00:00
Alex Ionescu
23be4d46c6 - Implement IopInitailizeVpbForMount for the purpose of setting up the VPB for a newly mounted DO. It properly references the VPB and sets up its stack size and flags, adding support for VPB_RAW_MOUNT. Also sets the VPB pointer in the DevObjExtension.
- Fix a bug which was causing us to incorrectly unlock the device if it was already locked by the caller isntead of by IopMountVolume.
- When loading the file system, make sure to unlock the device object if we had locked it in IopMountVolume, as well as to re-lock it afterwards. Also handle a potential race condition due to this unloacking, in which the VPB might've become mounted behind our back, and simply return success if this happened.

svn path=/trunk/; revision=22764
2006-07-02 06:11:19 +00:00
Alex Ionescu
93454acf2b - Improve list looping to remove gotos.
- Dereference the device object in case of failure.
- Add some optimizations to quickly skip invalid raw mounting.
- Add support for VPB_RAW_MOUNT.
- Allow raw mount if this is the only device on the list.
- Make the success case go through shared exit, otherwise the device wasn't getting unlocked previously.

svn path=/trunk/; revision=22763
2006-07-02 05:52:47 +00:00
Alex Ionescu
320000e093 - If the device to be mounted is an attachee, find the base device object
- Reference the device object being mounted.
- If the file system being mounted is an atachee, find its base device object too, and increase the IRP Stack for each attached FSD.
- Fix IRP parameters with this new information.

svn path=/trunk/; revision=22762
2006-07-02 05:44:27 +00:00
Alex Ionescu
e5811a1b35 - Mount the FS inline to avoid sending 6 parameters to a function only called once.
- Set the right IRP flags for a mount operation.
- Don't ignore AllowRawMount flag.
- Don't waste time passing or clearing unused flags/data on the IRP/Io Stack.

svn path=/trunk/; revision=22761
2006-07-02 05:37:55 +00:00
Alex Ionescu
2dfe23b2f6 - Respect DeviceIsLocked flag and Alertable in IopMountVolume
- Don't mount if the VPB is alread ymoutned or being removed
- Bugcheck the system if we failed to mount the boot partition.

svn path=/trunk/; revision=22760
2006-07-02 05:30:45 +00:00
Alex Ionescu
e3ec87ef6d - Fix the hack in the previous commit which broke FS support.
svn path=/trunk/; revision=22759
2006-07-02 04:33:45 +00:00
Alex Ionescu
8da2913330 - Simplify/modularize FS registration by using distinct lists for each type of FS (Tape/Disk/Network/Cdrom).
- Optimize by using directly the device queue instead of allocating a structure for each FS registered.
- Hack IopMountVolume to manage this new model. Improved version coming in next patch to deal with some bugs.

svn path=/trunk/; revision=22758
2006-07-02 02:04:04 +00:00
Alex Ionescu
23e06403c7 - Get rid of the stupid LIST_FOR_EACH macros in FS Notifcation APIs.
- Each new change request should be queued at the end of the list, not at the head.
- Also, reference the device object for each registration, since one more object is holding a pointer to it, likewise, dereference the object on deregistration.
- IopLoadFileSystem should use the base FSD in case the device object is an attachee. Also, use IoBuildDEviceIoControlRequest to minimize the IRP setup to only a couple of lines.

svn path=/trunk/; revision=22757
2006-07-02 01:44:53 +00:00
Alex Ionescu
fe8b3cfda1 - Implement some functions to handle VPB Referencing/Dereferencing.
- IoVerifyVolume:
  - Send the IRP to the base FSD, in case the current FSD is an attachee
  - Set correct flags in the IRP to notify that this is a mount operation using PAGING I/O semantics.
  - Don't ignore AllowRawMount parameter.
  - We want to mount the File System on *FAILURE*, not on SUCCESS!
  - Add reference/dereferencing to the VPB.

svn path=/trunk/; revision=22756
2006-07-02 01:35:45 +00:00
Alex Ionescu
042e74885b - Some small changes to some prototypes/names for upcoming functionality.
svn path=/trunk/; revision=22755
2006-07-02 01:29:12 +00:00
Alex Ionescu
bc0260bc30 - Correct function name
svn path=/trunk/; revision=22754
2006-07-02 01:23:18 +00:00
Magnus Olsen
b5cc6d65cd remove STYLEX DS_SHELLFONT
svn path=/trunk/; revision=22753
2006-07-02 01:11:07 +00:00
Magnus Olsen
573f5162e1 revert Revision: 22668 this change is also incorrect. now the rc file is more less okay again
svn path=/trunk/; revision=22752
2006-07-02 00:45:08 +00:00
Magnus Olsen
7d6b93dd57 revert complete wrong changes 22742
svn path=/trunk/; revision=22751
2006-07-02 00:10:13 +00:00
Magnus Olsen
766a36d23a Adding langues type (LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US) to en.rc some forget adding it. it is wrong type as well fixing it later. it should be LANG_NETURAL.
svn path=/trunk/; revision=22750
2006-07-01 23:59:33 +00:00
Alex Ionescu
e7423e0ba3 [FORMATTING] - Cleanup formatting before starting to work on the file.
svn path=/trunk/; revision=22749
2006-07-01 22:47:52 +00:00
Alex Ionescu
3ea25ef417 - Add some more functions that just build IRPs to send to devices into iofunc.c from vpb.c
- Add IoCheckQuerySetvolumeInformation to util.c from vpb.c with other similar functions
- Add the actual VPB functions in vpc.c to fs.c, and rename fs.c to volume.c, because it already contained Volume APIs, and now with VPB, even more so. It also still contains the FileSystem stuff, which is of course also generically part of "volumes".
- Delete vpb.c, rename fs.c to volume.c.

svn path=/trunk/; revision=22748
2006-07-01 21:58:29 +00:00
Alex Ionescu
9bb57a0fc7 - Move efi.c to \ex, because the functions are related to environmental variables, not I/O.
- Create \wmi directory and put wmi.c, since it's the start of a large chunk of the XP+ kernel dedicated to WMI support.
- Separate \io into \iomgr and \pnpmgr

svn path=/trunk/; revision=22747
2006-07-01 21:51:06 +00:00
Alex Ionescu
6446e5f7e9 - Add definitions for additional DOE flags to NDK.
- I/O Packet APIs improvements Part 2:
  - Implement IoSetStartIoAttributes
  - Obey StartIo Flags set by IoSetStartIoAttributes and change Packet functions to Windows XP/2003 semantics by supporting non-cancelable packets and deferred Start I/O calling.

svn path=/trunk/; revision=22746
2006-07-01 21:29:50 +00:00
Eric Kohl
e61c9cc0d7 Enable CM_Connect_MachineW to connect to the local machine.
svn path=/trunk/; revision=22745
2006-07-01 21:01:59 +00:00
Alex Ionescu
51989fa847 - Move IopInitialize/StartDevice to PnP Manager
- I/O Packet APIs fixes Part 1:
  - Clear the current IRP before parsing the Device Queues
  - Respect Cancelable parameter in IoStartNextPacket(ByKey) instead of ignoring it (acquire the cancel lock when it's requested)
  - Raise IRQL to DISPATCH_LEVEL in IoStartPacket instead of expecting the caller to do it and crashing. Also only use Cancel Lock if a Cancel Function was specified.
  - Actually handle the case where the IRP Was cancelled right after insert and the Cancel Routine has to be called.

svn path=/trunk/; revision=22744
2006-07-01 18:56:09 +00:00
Alex Ionescu
036139907e - Implement IoRegisterLastchanceShutdownNotification based on IoRegisterShutdownNotification
- Modify IoUnregisterShudownNotification to loop both lists now.
- Used the lock in IoShutdownREgisteredDevices when looping the list, and changed it to send IRP_MJ_SHUTDOWN to the attached DO. Also fixed a memory leak where the shutdown entry wasn't being freed, and optimized the function only to initialize the event once (And simply clear it each time).
- Moved IoSynchronousInvalidateDeviceRelations to PnP

svn path=/trunk/; revision=22743
2006-07-01 18:26:22 +00:00
Johannes Anderwald
f39240e913 * DS_SHELLFONT is an style not an EXSTYLE.
svn path=/trunk/; revision=22742
2006-07-01 18:04:00 +00:00
Alex Ionescu
fcb5f1cfb6 - Use IoGetDevObjExtension and STDCALL->NTAPI.
- Fix some bugs in IoGetRelatedDeviceObject: We should make sure that FO_DIRECT_DEVICE_OPEN isn't set when reading from the VPB's DO, otherwise we return the FO's DO directly. Also check for attachment before trying to get any attached device.

svn path=/trunk/; revision=22741
2006-07-01 17:51:45 +00:00
Alex Ionescu
28692c3bed - Add IoGetDevObjExtension for getting the PEXTENDED_DEVOBJ_EXTENSION from a device object instead of always doing a huge typecast.
- Implement device unloading through IopUnloadDevice and device referencing through IopReferenceDeviceObject and IopDereferenceDeviceObject, and make IoDeleteDevice and IoDetachDevice unload the device on 0 reference count. Doesn't fully work yet.
- Simplify IoGetAttachedDEvice/IoGetAttachedDeviceReference not to use an extra stack variable.

svn path=/trunk/; revision=22740
2006-07-01 17:40:03 +00:00
Magnus Olsen
903f298c70 No change in the source code. It if only to test if new slave build server works or not
svn path=/trunk/; revision=22739
2006-07-01 12:08:35 +00:00
Johannes Anderwald
c5ca23f46b move english resource code into own file
svn path=/trunk/; revision=22738
2006-07-01 09:59:38 +00:00
Saveliy Tretiakov
36e0982b7e Reduce code dublication
svn path=/trunk/; revision=22737
2006-07-01 06:52:41 +00:00
Alex Ionescu
ff6b13eb13 - IopGetDevicePointer: Close the handle if we were able to acquire it.
- IoAttachDevice/IoAttachDeviceByPointer: Fail with STATUS_NO_SUCH_DEVICE if we couldn't attach.
- IoAttachDEviceTodEviceStackSafe: VPBs don't get inherited.
- IoCreateDevice: Only set OBJ_PERMAMENT if the caller requested it.
- IoCreateDevice: Return a NULL Device object if we failed to create it.
- IoCreateDevice: Set alignment requirement to 0, x86 doesn't need it.

svn path=/trunk/; revision=22736
2006-07-01 04:21:19 +00:00
Alex Ionescu
7a5dbe8152 [FORMATTING] - Fix STDCALL->NTAPI and some other commenting/formatting issues.
[AUDIT] - File doesn't even have a function over 3 lines long, no reason to lock it.

svn path=/trunk/; revision=22735
2006-07-01 03:45:00 +00:00
Alex Ionescu
c31f4054ec - Add some missing IO_ERROR definitions to the DDK and add some tags
- Fix IoSetThreadHardErrorMode... it was reading the TEB instead of the PETHREAD.
- Optimize Error Logging: Use a static work item instead of allocating one each time, and don't use a spinlock for the buffer count, when we can use interlocked functions instead.
- Log Entries can have Device AND/OR Driver Objects, not just a single one. They must also be referenced/dereferenced on allocation/free.
- Rewrite IopLogWorker to properly deal with Device/Driver objects and querying their names, as well as with additional strings that the caller might be sending.

svn path=/trunk/; revision=22734
2006-07-01 03:36:15 +00:00
Magnus Olsen
3f9f57f91e 1. revert my last changes to this file
2. Did solv the heapfree null check with if statement

svn path=/trunk/; revision=22733
2006-06-30 22:26:19 +00:00
Magnus Olsen
11963867d1 CreateServiceA
1. Do not try todo HeapFree when pointer is NULL in cleanup:
2. Remove goto cleanup code
3. Rewrote the code so it does not need goto 

 

svn path=/trunk/; revision=22732
2006-06-30 22:07:54 +00:00
Hervé Poussineau
a05350a500 - Simplify GetFileExt
svn path=/trunk/; revision=22731
2006-06-30 21:54:25 +00:00
Hervé Poussineau
1d4a994372 Pass the correct object type and desired access to ObOpenObjectByName
svn path=/trunk/; revision=22730
2006-06-30 21:49:12 +00:00
Hervé Poussineau
5179858da1 Use ObOpenObjectByPointer instead of creating ourselves the IRP_MJ_CREATE/CLEANUP/CLOSE IRPs
svn path=/trunk/; revision=22729
2006-06-30 21:47:42 +00:00
Hervé Poussineau
f8b990739a In ObOpenObjectByPointer, always pass right mapping to SeCreateAccessState, instead of relying on a optional/incorrect parameter
svn path=/trunk/; revision=22728
2006-06-30 21:34:53 +00:00
Alex Ionescu
d3ccc7eb41 - Better organize some APIs that were a bit all over the place. No code/formatting changes.
svn path=/trunk/; revision=22727
2006-06-30 19:37:45 +00:00
Alex Ionescu
dec64724df [AUDIT] - These are yet more < 10 line wrappers.
[FORMATTING] - Fixup file headers, formatting and some comments.

svn path=/trunk/; revision=22726
2006-06-30 19:09:39 +00:00
Alex Ionescu
f5270b0105 [FORMATTING] - Tabs->spaces and proper prototype formatting.
svn path=/trunk/; revision=22725
2006-06-30 19:01:01 +00:00
Alex Ionescu
991efbb62a [AUDIT] - Irq.c is another lame wrapper.
- Remlock's code was written by Filip Navara and is clean. My additions are based on wdm.h and only add size checks and fix two visible bugs.
- Add basic support/detection for debug I/O remove blocks (we bugcheck if we identify one though).
- Simplify IoReleaseRemoveLockAndWaitEx
- Remove locks are SYNCH events, not Notification events!
- Make sure IoConnectInterrupt returns NULL to the caller on failure.

svn path=/trunk/; revision=22724
2006-06-30 18:54:34 +00:00
Alex Ionescu
ea4351d9bd [AUDIT] - iocomp.c, event.c, iowork.c, mdl.c, timer.c, symlink.c are all simple wrappers around either executive, kernel or object manager code, and they are trivial implementations usually less then 10 lines and heavily documented in public sources.
svn path=/trunk/; revision=22723
2006-06-30 18:16:27 +00:00
Alex Ionescu
d1ebf29520 - Io*SymbolicLink should use OBJ_CASE_INSENSITIVE
- Use DELETE instead of SYMBOLIC_LINK_ALL_ACCESS when deleting.
- Fix formatting in timer.c
- Clear the IO_TIMER structure when creating it.

svn path=/trunk/; revision=22722
2006-06-30 18:14:54 +00:00
Alex Ionescu
b42accc93a - Fix formatting/function order
- Use only one SEH block in NtRemoveIoCompletion
- Get the completion status from the IRP, not from the Mini-Packet, if the completion came from an IRP and not a Mini-Packet.

svn path=/trunk/; revision=22721
2006-06-30 17:53:00 +00:00
Hervé Poussineau
cabeb71d14 Don't try to allocate 0 byte (spotted by Alex Ionescu)
svn path=/trunk/; revision=22720
2006-06-30 17:38:12 +00:00
Alex Ionescu
ed3df3667f - Refactor Io*Event APIs to call an internal worker function instead of duplicating the same code twice.
- Optimize Io*Work APIs and initialize the event on allocation, not on queue!!

svn path=/trunk/; revision=22719
2006-06-30 16:56:18 +00:00
Magnus Olsen
2e185ea41a Small clean up
1. Remove goto in the code, goto is slow and should be avoid.
2. reformat for adding {} around some code.
3. remove some NULL check after I did remove goto that is not longer need it.  
 

svn path=/trunk/; revision=22718
2006-06-30 16:42:21 +00:00
Alex Ionescu
f13cb8709c - Fix IRP/Completion packet lookaside allocation. We weren't setting a zone size, and I/O Completion packets were also using the wrong size.
- Rewrite I/O MDl support to use lookaside lists for allocations below 23 pages (same as on NT). This is is an incredible performance optimization because MDLs are often allocated and de-allocated during I/O operations, and using the lookaside list decreases pool fragmentation and slowdown.
- Rewrite IoBuildPartialMdl. It did not work like documented in the DDK and also had a bug documented by Microsoft as being in XP.

svn path=/trunk/; revision=22717
2006-06-30 15:59:06 +00:00
Magnus Olsen
77aa2de357 sorry I did broke the comping some typo
svn path=/trunk/; revision=22716
2006-06-30 15:53:57 +00:00
Magnus Olsen
0432c7ee70 fixing strip working right strip -sx does not working u must type strip -s -x not togther as -sx, I did add -X direcly after it will strip away local informations as well
svn path=/trunk/; revision=22715
2006-06-30 15:38:30 +00:00
Saveliy Tretiakov
90f398225a Alex Ionescu said that check for Expanded==NULL must stay...
svn path=/trunk/; revision=22714
2006-06-30 15:12:55 +00:00
Saveliy Tretiakov
e6a334b469 Silence debug messages.
Check for Expanded==NULL is useless, because it's done in HeapFree (thx hpoussin).


svn path=/trunk/; revision=22713
2006-06-30 15:07:23 +00:00
Saveliy Tretiakov
df5296300e Read configuration from registry
svn path=/trunk/; revision=22712
2006-06-30 14:53:24 +00:00
Saveliy Tretiakov
5d1d716b06 Add some registry settings for eventlog
svn path=/trunk/; revision=22711
2006-06-30 14:52:01 +00:00
Alex Ionescu
81ba9a4b08 - Name decorate and fix some formatting snafus.
svn path=/trunk/; revision=22709
2006-06-30 05:58:23 +00:00
Alex Ionescu
f39a0e3e68 - Create iofunc.c and put all functions that ultimately create a system IRP to send to a device in it, thus clearing up irp.c and file.c and making the code base more modular.
- File.c now includes only functions dealing with the FILE_OBJECT itself.

svn path=/trunk/; revision=22708
2006-06-30 05:45:02 +00:00
Alex Ionescu
c41f64ebf3 - More name-decoration, tracing, comments, etc.
- Handle cases where we ran out of memory while trying to allocate the IRP
- Make sure the IRP can be re-used in IoReuseIrp.

svn path=/trunk/; revision=22707
2006-06-30 04:46:53 +00:00
Alex Ionescu
caaa87bbdc - Add more tracing/name decoration/comments.
- Bugcheck if cancelling and IRP that's already been completed.
- Bugcheck if attempting to call a driver with an IRP that's already past its maximum stack size.
- Make sure that when we free an IRP, it's not associated to a thread anymore, nor having any drivers that think it's valid.

svn path=/trunk/; revision=22706
2006-06-30 04:29:32 +00:00
Alex Ionescu
78277ca08f - Add more name/prototype decoration and API tracing.
- Don't handle IRP_MJ_POWER in IoBuildAsyncronousFsdRequest.
- Use IoAllocateMdl instead of being a cowboy and using MmCreateMdl.
- Handle failure/out-of-memory cases in IoBuildAsyncronousFsdRequest
- Free the input buffer on failure in IoBuildDeviceIoControlRequest
- Handle failure in IoBuildSyncronousFsdREquest.

svn path=/trunk/; revision=22705
2006-06-30 03:48:03 +00:00
Alex Ionescu
8d2254b37e - Fix I/O Completion (IopCompleteRequest/IofCompleteRequest) for the first time after the 40-thread long flame war last year:
- Don't read pointers from the file object or IRP before they are actually used, because in some parts of the code, these pointers could change before we actually use them.
  - Get rid of the #if 1/#if 0 nonsense hbirr had added.
  - Properly check for success/warning/failure cases (thanks to Filip for checking this out with me last year)
  - Handle scenarios when the IRP is marked IRP_CREATE_OPERATION
  - Bugcheck if IofCompleteRequest is called twice on the same IRP
  - Copy the master IRP's thread to the associated IRP
  - Free the Auxiliary Buffer if there is one.
  - Some formatting fixes, and majorly recomment the code to make it a lot clearer and more verbose on some of the more intricate details.
  - Remove some hacks which I don't think are needed anymore. If you notice regressions due to this patch let me know ASAP.

svn path=/trunk/; revision=22704
2006-06-30 03:15:56 +00:00
Alex Ionescu
14f7e184f3 - Completely reformat io.h to same style as ob.h and add I/O Tracing.
- Fix irp.c file header
- IopRemoveThreadIrp:
  - Get the DeviceObject and I/O Stack *before* going back to dispatch, otherwise race conditions will happen.
  - Don't complete and IRP if it's already been through two stacks.
  - Remove the IRP from the thread's IRP list before re-initializing the list, or else the IRP was lost.
  - Make sure we have an error log entry before writing to it.

svn path=/trunk/; revision=22703
2006-06-29 23:52:45 +00:00
Alex Ionescu
72dd9f4111 [FORMATTING] - Cleanup before I start working on it... there were lots of weird formatting errors caused by my old IDE back when I was working on it.
[AUDIT] - The routines in this file mostly come from documented information in "NT File System Internals" by Rajeev Nagar which has pseudo-code for a lot of them, and other WDM Books and information.

svn path=/trunk/; revision=22702
2006-06-29 23:01:09 +00:00
Christoph von Wittich
99c66c095c fixed some warnings (msvc)
svn path=/trunk/; revision=22701
2006-06-29 22:32:06 +00:00
Christoph von Wittich
23b77e8fd7 fixed some warnings (msvc)
svn path=/trunk/; revision=22700
2006-06-29 22:12:40 +00:00
Johannes Anderwald
cbfccc50b9 * finished reading console options.c
* thnx for everyone helping with this commit (you know who you are)

svn path=/trunk/; revision=22699
2006-06-29 21:40:22 +00:00
Johannes Anderwald
e7fdae5613 * fix resource inconsistency (pointed out by Lohnegrim)
* halfplemented reading console options

svn path=/trunk/; revision=22698
2006-06-29 20:19:26 +00:00
Alex Ionescu
9478fc9049 - Activate the Grim Reaper and remove a hard-coded bugcheck. This fixes random bugchecks and especially bugchecks on shutdown.
svn path=/trunk/; revision=22697
2006-06-29 19:24:10 +00:00
Alex Ionescu
4c630fdc31 - Fixes in ObCreateObjectType to pass Fireball's (and some of my own local) ob tests:
- Fix a check in ObpFreeObject which was causing a bugcheck if the object had a handle database (fixes another kmtest failure/crash).
  - Verify parameters passed to ObCreateObjectType based on behaviour seen on Windows 2003 (I might've missed some, these are the ones I tested for). This fixes 2 of the kmtest failures.
  - Also make sure the object type's name doesn't have a slash in the name.
  - Also make sure we don't allow creating two object types with the same name.
  - Also use our own local copy of the object name and copy it.

svn path=/trunk/; revision=22696
2006-06-29 19:03:24 +00:00
Johannes Anderwald
3dd2bff814 * compile console with pch support
svn path=/trunk/; revision=22695
2006-06-29 18:19:51 +00:00
Johannes Anderwald
de285c4081 * add ReactOS Console configuration DLL
svn path=/trunk/; revision=22693
2006-06-29 18:10:15 +00:00
Alex Ionescu
ec719832c0 - Fix the last two Ob reference counting bugs:
- Don't de-reference the object when duplicating it (not sure why this was left there). This fixes all the "misbehaving object: Event" messages in the console and fixes those regressions.
  - Don't reference the object when doing a lookup (not sure why this was there either). This made it impossible to kill named objects, since ObpDeleteNameCheck did a lookup before killing them, and the lookup ended up adding a reference.
- Cm still needs fixing!

svn path=/trunk/; revision=22692
2006-06-29 18:07:53 +00:00
Saveliy Tretiakov
0e79c3011a Fix thread synchronization, use critical sections.
Rewrite some functions (optimize).


svn path=/trunk/; revision=22691
2006-06-29 17:36:04 +00:00
Brandon Turner
410ae9c26b Unicode fixes and error checking.
svn path=/trunk/; revision=22690
2006-06-29 15:08:10 +00:00
Johannes Anderwald
cdbfb24b12 * fix building of win32k_test
svn path=/trunk/; revision=22689
2006-06-29 14:39:53 +00:00
Johannes Anderwald
92f587b398 * auto select items which are started automatically
* read disabled autostart items

svn path=/trunk/; revision=22688
2006-06-29 13:33:59 +00:00
Alex Ionescu
1c69156be9 - Cleanup the checks for mishbeaving objects a bit, and now quit the Dereference routine instead of doing the dereference. This has the advantage making console applications work again (note: this is NOT a fix. I'm just making the situation less bad until I fix ObDuplicateObject since that seems to be messing Events up, and until Cm gets fixed).
svn path=/trunk/; revision=22686
2006-06-29 05:20:16 +00:00
Alex Ionescu
d02a403c94 - This patch finally enables closing handles for real, when NtClose is called. This means that File handles, processes, and all other NT Objects finally die (no more "file in use" and unkillable processes). On the other hand, this makes the registry code unhappy and unravelled a bug in ObDuplicateObject.
- Booting/installing still works, but the system will possibly be unstable. However I'm choosing to commit this because it shows correct Ob behavior and will allow Art to fix Cm's referencing properly.
- Implement ObCheckObjectAccess and call it to perform access verification checks.
- Properly create devices, processes and controllers with an extra reference count, so that when the code closes their handle they don't die.
- Check for invalid uses of ObfDereferenceObject for our current debugging purposes.
- Add SEH to NtQueryObject.

svn path=/trunk/; revision=22685
2006-06-29 05:05:27 +00:00
Art Yerkes
61cb74d018 Fixed reference counting in CmiConnectHive and CmiDisconnectHive.
No longer need hacks to check reference counts.
Deleted a ton of wierd code.
Fixed bug where we allocated uninitialized memory for child nodes we never
populated.
Now reference counting mirrors pointers exactly:
 - Hold one reference for the parent key pointer
 - Hold one reference for the list entry in the connected hive list

svn path=/trunk/; revision=22684
2006-06-29 03:48:43 +00:00
Brandon Turner
c6661f1f9e expand %* to batch file params.
bug: #1629

svn path=/trunk/; revision=22683
2006-06-29 02:48:52 +00:00
Alex Ionescu
bbfd29210c - Add some hacks to Cm to allow creating registry keys that finish with a backslash (this works under NT).
- Also add a REALLY nasty hack that forces OBJ_CASE_INSENSITIVE on all Registry APIs... this is needed because we seem to completely mess up case sensitivity otherwise and any user-mode caller that doesn't specify that flag will fail.
- These two fixes fix all the WINE failures for the "ntdll reg" test and should increase compatibility with some applications.
- Runtime Library Registry Wrappers Fixes and Optimizations:
  - Use an array of registry paths instead of duplicating them
  - Fix implenmentation of RTL_REGISTRY_HANDLE.
  - Verify all Appends for failure before continuing.
  - Use the strict minimum key permissions isntead of KEY_ALL_ACCESS.
  - Don't use OBJ_OPENIF
  - Use CAPS for \\REGISTRY\\USER (required to match a Windows quirk exposed by a WINE test)
  - Use the correct length in RtlpNtQueryValueKey
  - Generic cleanups, formatting and commenting.

svn path=/trunk/; revision=22682
2006-06-29 00:30:36 +00:00
Alex Ionescu
96c859e6a6 - Sync RtlBitmap* implementation with WINE: Fixes 278 regression failures (for a total of 0 now).
- Also adds implementations for RtlFindMostSignificantBit , RtlFindLeastSignificantBit, RtlFindNextForwardRunClear, RtlFindClearRuns.
- The RtlBitmap* package is essential for compatibility with NTFS.SYS and other File System Drivers, but these fixes should not really improve user-mode app. compat.

svn path=/trunk/; revision=22679
2006-06-28 20:51:51 +00:00
Aleksey Bragin
81f5e26099 Mikhail Zvyozdochkin: Fix compilation of msafd without precompiled header (also fixes compilation process on linux)
svn path=/trunk/; revision=22678
2006-06-28 20:27:41 +00:00
Alex Ionescu
78a7bd2051 [AUDIT] - Unlock these files, they're just lame wrappers around the NT Kernel APIs that handle them and they're tested by WINE tests.
svn path=/trunk/; revision=22677
2006-06-28 19:52:45 +00:00
Alex Ionescu
abee505e57 - Rewrite all synch object wrappers in kernel32 to use a single unified method of implementation:
- A->W converstion through static TEB buffer.
  - Failure if opening without a name.
  - Special warning code for objects that already exist (fixes some WINE test failures and probably makes a myriad of applications work).
  - Use BasepConvertObjectAttributes when creating an object to remove code duplication.
- InitializeCrticalSectionAndSpinCount shouldn't raise an exception on failure.
- Optimize WaitForMultipleObjects to cache 8 objects on the stack instead of only 3.
- Reformat and comment all the files to ROS standards.

svn path=/trunk/; revision=22676
2006-06-28 17:08:35 +00:00
Alex Ionescu
561c27e0d3 - Implement, export and NDKize: DbgUiGetThreadDebugObject, DbgUiDebugActiveProcess, DbgUiStopDebugging, NtSetInformationDebugObject.
- Make CheckRemoteDebuggerPresent fail if no process was specified.
- Implement DebugActiveProcess, DebugActiveProcessStop, DebugBreakProcess, DebugSetProcessKillOnExit.
- Add *.vcproj to ignore lists.

svn path=/trunk/; revision=22675
2006-06-28 17:02:37 +00:00
Aleksey Bragin
1a65517f18 [FORMATTING]
- Amend file header slightly
- Add functions headers

svn path=/trunk/; revision=22674
2006-06-28 15:56:09 +00:00
Aleksey Bragin
76b7211579 [FORMATTING]
- Amend file header slightly
- Add function header
- STDCALL -> NTAPI

svn path=/trunk/; revision=22673
2006-06-28 14:02:39 +00:00
Aleksey Bragin
981fde0f9f [AUDIT]
- Add proper function headers, including links to publically-available documentation
- One internal function is subject to further review/audit

svn path=/trunk/; revision=22672
2006-06-28 13:53:30 +00:00
Aleksey Bragin
6ef4e4d9d4 [AUDIT]
- Add proper function headers, including links to documentation
- All exported functions have publically-available information sources
- The only internal function is actually quite self-explanatory by its name
- Implementation is partly wrong as pointed by Gunnar

svn path=/trunk/; revision=22671
2006-06-28 12:52:08 +00:00
Johannes Anderwald
de2a826959 * add EXSTYLE DS_SHELLFONT for dialogs having "MS Shell Dlg"
* fix typos 
* change sublang identifiers to SUBLANG_NEUTRAL
* patch by EmuandCo

svn path=/trunk/; revision=22668
2006-06-27 22:01:50 +00:00
Johannes Anderwald
bd7821cda6 our friends using case sensitive filesystems should also play with International Control panel applet
svn path=/trunk/; revision=22667
2006-06-27 16:11:57 +00:00
Hervé Poussineau
e66e011656 Fix case of resource files, so our friends using case sensitive filesystems will be able to play Solitaire ;)
svn path=/trunk/; revision=22665
2006-06-27 11:56:44 +00:00
Hervé Poussineau
1a5e9cdfd8 Don't be so aggressive in debug messages.
svn path=/trunk/; revision=22664
2006-06-27 11:09:23 +00:00
Johannes Anderwald
29c3268f4e add ukrainian translation by temarez bug (1628)
svn path=/trunk/; revision=22663
2006-06-27 10:40:01 +00:00
Johannes Anderwald
0e72e420b1 add ukraiain translation by temarez bug (1628)
svn path=/trunk/; revision=22662
2006-06-27 10:38:36 +00:00
Johannes Anderwald
94ad288b3c fix displaying status bar when notepad was resized
bug report by Apal
patch by Apal && w3seek
fixes bug 1625

svn path=/trunk/; revision=22660
2006-06-27 10:02:33 +00:00
Alex Ionescu
4903b28f61 - Fix all the failures in the RTLSTR Wine test by merging our old rtl string routines with Wine's. We now pass all 2300 something tests.
svn path=/trunk/; revision=22653
2006-06-27 04:09:03 +00:00
Alex Ionescu
bc5d1b0581 - Catch illegal call to Ob functions when ObjectAttributes == NULL and return distinguished status code for this situation (STATUS_INVALID_PARAMETER), instead of failing due to access violation.
- Create the BNO Global and Local symbolic links in kernel32.
- We pass all the Ob+Native tests in ntdll_winetest om now (we fail some named pipe ones, but I have no idea why WINE calls them "Object Manager" related...)

svn path=/trunk/; revision=22652
2006-06-27 03:06:26 +00:00
Alex Ionescu
7c3d15c5f9 - Fix another critical bug in ObInsertObject: don't overwrite the lookup status with the handle creation status. If the lookup returned something like OBJECT_NAME_EXISTS (which is a success + warning), we don't want to overwrite it with ObpCreateHandle's STATUS_SUCCESS. This should fix a large number of regressions (and also fixes many WINE ntdll "om" tests).
- We also now correctly dereference the object in ObInsertObject, which should reduce one source of leaks (But there is still one). OTOH, this makes the Cm code crash at shutdown (I'll fix this ASAP, this fix is worth having atm.)

svn path=/trunk/; revision=22651
2006-06-27 01:52:16 +00:00
Alex Ionescu
e498da59d9 - ObpCreateUnnamedHandle/ObpCreateHandle => Reference the object before calling ExCreateHandle.
- Fix two critical bugs in ObInsertObject: We were creating a handle for the wrong object (in ObInsertObject) and we were not passing the ReferencedObject parameter to ObpCreateHandle, so that object was never being returned properly to the caller.
- ObfDereferenceObject shouldn't check for the OB_FLAG_PERMANENT flag, or else it would never be possible to kill permanent objects while in kernel mode (permanent objects only apply to user-mode handles).

svn path=/trunk/; revision=22650
2006-06-27 01:16:17 +00:00
Alex Ionescu
71dda51555 - Lesson One: Don't revert commits because your eyes are inventing the word "copyright". I tried really hard, I really did, but I could not find even the word "copy", much less "copyright".
- Lesson Two: What do you know! En and De.rc actually *are* our files, not James Brown's (his is sol.rc, which hasn't been altered with a ROS Header).
- Lesson Three: It is official (voted) ROS Policy that all ROS files have a header. Reverting this header violated it.

svn path=/trunk/; revision=22649
2006-06-26 23:50:03 +00:00
Ged Murphy
93eae33135 You can't really claim copyright for translating a resource file.
Secondly, it's not even our code to put headers in. It's James Browns from catch22.net

svn path=/trunk/; revision=22648
2006-06-26 23:02:54 +00:00
Alex Ionescu
12156b1e8e - Same fixes for LocalAlloc/LocalReAlloc
- We now pass all 278+49 WINE Regression Tests related to Heap/Memory.

svn path=/trunk/; revision=22647
2006-06-26 22:50:02 +00:00
Alex Ionescu
2410073dc4 - Fix a typo in a comparison (& vs &&) which was breaking GlobalReAlloc in some cases.
- Fix a missing | (OR) in GlobalAlloc which created an invalid handle if the first allocation was of size 0.

svn path=/trunk/; revision=22646
2006-06-26 22:48:12 +00:00
Johannes Anderwald
2eddc82aca add missing includes
svn path=/trunk/; revision=22645
2006-06-26 20:18:52 +00:00
Johannes Anderwald
e18611f0ad add missing include
svn path=/trunk/; revision=22644
2006-06-26 20:15:58 +00:00
Johannes Anderwald
fe9c547879 * move english resource file to own file
* add german translation
* patch provided by Daniel "EmuandCo" Reimer

svn path=/trunk/; revision=22643
2006-06-26 20:14:36 +00:00
Johannes Anderwald
721b8ace94 fix include
svn path=/trunk/; revision=22642
2006-06-26 19:37:26 +00:00
Johannes Anderwald
926eca70dc remove unecessary include
svn path=/trunk/; revision=22641
2006-06-26 19:30:49 +00:00
Alex Ionescu
0a68278291 - Fix the build...I hope/think
svn path=/trunk/; revision=22640
2006-06-26 17:18:20 +00:00
Alex Ionescu
23321b6dc3 - Sync with WINE's latest Heap implementation and try to remove some of the differences we had, and also document the ones which must be kept (our support for RTL_HEAP_COMMIT_ROUTINE and usage of user/kernel-mode lock APIs, etc). This reduces the heap/alloc regression tests to only 1 issue (which I'm working on fixing).
svn path=/trunk/; revision=22639
2006-06-26 17:03:17 +00:00
Maarten Bosma
3654e13467 Remove all curses except 'semprini'.
svn path=/trunk/; revision=22638
2006-06-26 16:39:23 +00:00
Alex Ionescu
47326ac113 - Move the SDK to /PSDK or else we'll never get MSVC compiling right.
svn path=/trunk/; revision=22637
2006-06-26 15:32:53 +00:00
Alex Ionescu
f110fe92c5 - STDCALL -> NTAPI
svn path=/trunk/; revision=22636
2006-06-26 14:23:44 +00:00
Alex Ionescu
b0459692fe - Minor header fixes
svn path=/trunk/; revision=22635
2006-06-26 14:10:10 +00:00
Aleksey Bragin
baaaee3af6 - Change user32 to Wine-compatible debug-print messages system. TRACE/FIXME/ERR and DPRINT/DPRINT1 are supported now in every file, however they are turned on in a different way: you have to place "#define YDEBUG" before #include <wine/debug.h> in order to get debug messages coming from this file
- Give more space to user32.dll by changing preferred loading base

svn path=/trunk/; revision=22634
2006-06-26 13:16:43 +00:00
Aleksey Bragin
9cc30a5902 - Sort the list by address
- Lowercase addresses

svn path=/trunk/; revision=22633
2006-06-26 12:51:18 +00:00
Aleksey Bragin
afa9b4e4e7 Add baseaddress into dhcpcsvc.dll, removing relocation during startup
svn path=/trunk/; revision=22632
2006-06-26 09:41:51 +00:00
Aleksey Bragin
7f0a19c743 - Sync edit control with Wine code
- Add imm32 dependency to user32, which is needed for edit control. This may not be a good solution, since Windows XP's user32.dll doesn't import imm32.dll. So maybe in future this should change to dynamic binding instead. But for now it works
- Update Wine-sync doc

This update reduces number of failing "user32_winetest.exe edit" tests from 44 to 43.

svn path=/trunk/; revision=22631
2006-06-26 09:20:47 +00:00
Magnus Olsen
16240136f4 revert Revision: 22614 w3seek told it was complete wrong for search path is not working as they should. that reason it does not work.
svn path=/trunk/; revision=22630
2006-06-26 00:44:25 +00:00
Michele Cicciotti
b25bd32027 mstscax.dll sniffer: loads between mstsc.exe and the real mstscax.dll (renamed to mstscax_.dll) and dumps on debug output as much as possible of the interaction between the two. Not complete yet (doesn't sniff events) but good enough
svn path=/trunk/; revision=22629
2006-06-26 00:28:15 +00:00
Michele Cicciotti
aba8c10e53 Directory for a number of tools I'll write and use as a porting aid
svn path=/trunk/; revision=22628
2006-06-26 00:19:36 +00:00
Michele Cicciotti
4a780802f4 Small fix for debugging purposes under Cygwin: keymaps must have UNIX line endings because of a limitation in how rdesktop parses them
svn path=/trunk/; revision=22627
2006-06-26 00:17:10 +00:00
Michele Cicciotti
e6ead68fae First step of the rdesktop port: make code re-entrant
Most of the code (minus sound support) has been made re-entrant. All global variables have been turned into fields of a huge (huge!) structure passed around as a pointer argument (think C++ "this"). Changes have been tested in Cygwin, works perfectly

svn path=/trunk/; revision=22626
2006-06-26 00:07:25 +00:00
Michele Cicciotti
92f97021f6 See above
svn path=/trunk/; revision=22625
2006-06-26 00:02:44 +00:00
Michele Cicciotti
032c061628 Making room for future expansions to the family...
svn path=/trunk/; revision=22624
2006-06-26 00:02:23 +00:00
Michele Cicciotti
8d68848605 There! Hello rdesktop, please lie down on that table, don't worry, this won't hurt in the slightest!
svn path=/trunk/; revision=22623
2006-06-26 00:01:49 +00:00
Michele Cicciotti
ec3cd438bb Almost there...
svn path=/trunk/; revision=22622
2006-06-26 00:01:08 +00:00
Michele Cicciotti
f71e429edf Not quite there...
svn path=/trunk/; revision=22621
2006-06-26 00:00:48 +00:00
Michele Cicciotti
01f3e24360 Welcome rdesktop!
svn path=/trunk/; revision=22620
2006-06-26 00:00:00 +00:00
Michele Cicciotti
fb2aaa54a0 Make room for the rdesktop port/cannibalization
svn path=/trunk/; revision=22619
2006-06-25 23:56:15 +00:00
Michele Cicciotti
4404007712 Creating base directory for the Remote Desktop client - mstsc.exe, mstscax.dll, rdesktop port, etc.
svn path=/trunk/; revision=22618
2006-06-25 23:54:39 +00:00
Magnus Olsen
e7b2d710ef fixing link for explorer and regedit thanks apal for the patch see bug 1626
svn path=/trunk/; revision=22614
2006-06-25 22:34:49 +00:00
Eric Kohl
1378d2051b Add missing prototypes and definitions.
svn path=/trunk/; revision=22613
2006-06-25 22:16:43 +00:00
Ged Murphy
ac845a0b7f give rpcss a group name
stops exception being raised when debugging services.exe

svn path=/trunk/; revision=22611
2006-06-25 11:19:59 +00:00
Aleksey Bragin
8a4d747fe3 Sync wsprintf.c with Wine: very minor changes(STDCALL->WINAPI, CDECL->WINAPIV), no changes in code logic.
svn path=/trunk/; revision=22610
2006-06-25 10:54:32 +00:00
Aleksey Bragin
1263dd0ee5 Update Wine-syncs doc
svn path=/trunk/; revision=22609
2006-06-25 10:39:21 +00:00
Aleksey Bragin
e17e93569f Sync DDE with Wine
svn path=/trunk/; revision=22608
2006-06-25 10:38:48 +00:00
Hervé Poussineau
4721afc693 Let StartService really start the service.
This enables the plug and play manager during second stage setup

svn path=/trunk/; revision=22607
2006-06-25 00:52:40 +00:00
Hervé Poussineau
2a008d3e8b StartServiceCtrlDispatcher must be called during main, and does return only at service stop.
svn path=/trunk/; revision=22606
2006-06-25 00:51:28 +00:00
Christoph von Wittich
beca141ae2 export LsaLookupNames2 - now pcsx2 starts up
svn path=/trunk/; revision=22605
2006-06-25 00:18:24 +00:00
Hervé Poussineau
4fde697f9d I forgot the ! when committing revision 22589.
svn path=/trunk/; revision=22603
2006-06-24 23:12:31 +00:00
Hervé Poussineau
5fcea60cd1 Fix the build
svn path=/trunk/; revision=22602
2006-06-24 23:04:22 +00:00
Eric Kohl
92d62b0f19 Implement CM_Set_HW_Prof_Flags[_Ex]A/W.
svn path=/trunk/; revision=22600
2006-06-24 22:57:53 +00:00
Hervé Poussineau
78baad6812 Update msiquery.h header (sync with Wine)
svn path=/trunk/; revision=22599
2006-06-24 22:34:49 +00:00
Magnus Olsen
b9782f4327 fix some problem to edit main.cpl rc with vc but not all
svn path=/trunk/; revision=22590
2006-06-24 21:19:34 +00:00
Hervé Poussineau
aa481c7afb Don't redefine UNICODE_STRING/STRING (may happen if winternl.h is already included)
svn path=/trunk/; revision=22589
2006-06-24 21:14:41 +00:00
Hervé Poussineau
6d736e0d3a Update wincrypt.h header (sync with Wine)
svn path=/trunk/; revision=22588
2006-06-24 20:59:20 +00:00
Hervé Poussineau
1f7943c579 Fix MLLoadLibraryA/W prototypes
svn path=/trunk/; revision=22585
2006-06-24 20:40:55 +00:00
Alex Ionescu
d2ced73e52 - Reformat heap.c to ROS standards
- HeapCreate should mask out NT flags and tag allocations with CLASS 1.
- Implemented HeapCreateTagsW, HeapExtend, HeapQueryTagW, HeapSummary, HeapUsage.
- Stubbed RtlUsageHeap, RtlQueryTagHeap, RtlExtendHeap, RtlCreateTagHeap.

svn path=/trunk/; revision=22583
2006-06-24 19:49:28 +00:00
Alex Ionescu
8ec0cfcce6 - Fixup Local* Heap implementation so that calls which have different semantics don't call the Global APIs (ie: LocalAlloc/LocalReAlloc and LocalFlags). The rest can be shared beteween them. Also fix some prototypes.
- Rename all the defintions to BASE_HEAP instead of GLOBAL_HEAP, since they apply just as well to the Local Heap.

svn path=/trunk/; revision=22582
2006-06-24 19:00:07 +00:00
Hervé Poussineau
aa75a24d24 Fix prototype of WritePwrScheme. Prototypes shouldn't have LPTSTR in their parameter list!
svn path=/trunk/; revision=22581
2006-06-24 18:47:50 +00:00
Hervé Poussineau
fec0bf98d0 Fix definition of NtGdiAlphaBlend
svn path=/trunk/; revision=22580
2006-06-24 18:26:28 +00:00
Alex Ionescu
5940727077 - Rewrote Base Heap implementation nearly from scratch, currently only for Global Heap (Local Heap is as broken as before, since it still calls the Global Heap APIs). For detailed implementation notes, see baseheap.h
- Main changes include using the RtlHandle package instead of duplicating an internal implementation, as well as using the RtlHeap* APIs that allow for setting User Flags/Values for associating Base Heap Flags/Handles with the actual RTL-managed block.
- Regression-tested with WINE tests and basic ROS apps.

svn path=/trunk/; revision=22579
2006-06-24 18:11:57 +00:00
Alex Ionescu
37e7a63e8a - There are more then only the 3 or 4 heap flags WINE's Windows 95 code supports(there are about 18), so it's a bit stupid to mask them all out, especially since that breaks settable/tag flags.
svn path=/trunk/; revision=22578
2006-06-24 18:01:53 +00:00
Alex Ionescu
74216f856e - Silence debug message
svn path=/trunk/; revision=22577
2006-06-24 17:07:15 +00:00
Alex Ionescu
ccde4e5475 - Fix implementation of RtlSetUserValueHeap and RtlGetUserInfoHeap to write their flags to the subheap and not the actual main heap structure (since those flags are valid for each allocation).
- Make heap allocations 8-byte aligned again.

svn path=/trunk/; revision=22576
2006-06-24 17:05:05 +00:00
Magnus Olsen
d3cd587e70 fixing so u can edit rsrc.rc again with vs
svn path=/trunk/; revision=22575
2006-06-24 16:51:12 +00:00
Magnus Olsen
3e7c39f7d2 1. Fix the russain rc to be open with VS
2. move all langues rc to rsrc.rc so we can open
   them in VS without genrate project file for VS
   we already doing it on few other dll/exe


svn path=/trunk/; revision=22574
2006-06-24 16:44:30 +00:00
Magnus Olsen
8c39926c96 Ukrainian translation from temarez see bug 1624
svn path=/trunk/; revision=22573
2006-06-24 16:24:25 +00:00
Magnus Olsen
eb501c405f Ukrainian translation from temarez see bug 1624
svn path=/trunk/; revision=22572
2006-06-24 16:21:53 +00:00
Magnus Olsen
253288305e Update Ukrainian translation from temarez see bug 1624
svn path=/trunk/; revision=22571
2006-06-24 16:18:32 +00:00
Magnus Olsen
707e38adcb Update Ukrainian translation from temarez see bug 1624
svn path=/trunk/; revision=22570
2006-06-24 16:15:22 +00:00
Alex Ionescu
142dbcc0b4 - Fix boot
svn path=/trunk/; revision=22569
2006-06-24 16:05:37 +00:00
Alex Ionescu
01a0c11c80 fix build
svn path=/trunk/; revision=22568
2006-06-24 15:53:30 +00:00
Magnus Olsen
2063f88ebb Update Ukrainian translation from temarez see bug 1624
svn path=/trunk/; revision=22567
2006-06-24 15:38:28 +00:00
Magnus Olsen
96ca5a8191 Ukrainian translation from temarez see bug 1624
svn path=/trunk/; revision=22566
2006-06-24 15:37:31 +00:00
Magnus Olsen
49ddaf959d Update Ukrainian translation by temarez see bug 1624
svn path=/trunk/; revision=22565
2006-06-24 15:33:10 +00:00
Magnus Olsen
6125919b36 Ukrainian translation by temarez see bug 1624
svn path=/trunk/; revision=22564
2006-06-24 15:30:44 +00:00
Magnus Olsen
7948806a51 french translation by ggcom see bug 1370
svn path=/trunk/; revision=22563
2006-06-24 14:09:01 +00:00
Magnus Olsen
f34a044635 Finnish translation by arzi see bug 1367
svn path=/trunk/; revision=22562
2006-06-24 14:03:51 +00:00
Magnus Olsen
d8783369ec Finnish translation by arzi see bug 1367
svn path=/trunk/; revision=22561
2006-06-24 14:01:30 +00:00
Magnus Olsen
cd9e7418ae Polish translation see bug 1315 by RealSzopen
svn path=/trunk/; revision=22560
2006-06-24 13:44:28 +00:00
Magnus Olsen
de18b10b10 french translation by ggcom see bug 1312
svn path=/trunk/; revision=22559
2006-06-24 13:39:16 +00:00
Magnus Olsen
cd5fc8f8ad greek translation from Apal : bug 1509
svn path=/trunk/; revision=22556
2006-06-24 12:07:54 +00:00
Magnus Olsen
7447fad94e greak translation from Apal : bug 1509
svn path=/trunk/; revision=22555
2006-06-24 12:00:57 +00:00
Magnus Olsen
889b1803ff greak translation from Apal : bug 1509
svn path=/trunk/; revision=22554
2006-06-24 11:58:13 +00:00
Saveliy Tretiakov
260c2762d2 Oops :) forget sizeof(WCHAR)
svn path=/trunk/; revision=22553
2006-06-24 10:37:55 +00:00
Alex Ionescu
6f34173bc0 - Hackplement RtlSetUserValueHeap and RtlGetUserInfoHeap, they are needed for being able to build higher-level heap management around the Heap APIs (either for developers or the OS). Case in point, needed for my Global* rewrite in kernel32. The current APIs are utter hacks, but they work (eventually we should get rid of the Wine Windows 95 heap implementation and replace it).
svn path=/trunk/; revision=22552
2006-06-23 23:10:58 +00:00
Alex Ionescu
8cd72eb3cd - Fixes in source code required for the NDK update.
svn path=/trunk/; revision=22551
2006-06-23 21:25:11 +00:00
Alex Ionescu
b3653a9abd - Update the NDK to the current vendor import.
svn path=/trunk/; revision=22550
2006-06-23 21:21:45 +00:00
Christoph von Wittich
4de9cf5a44 -fixed some warnings (msvc)
svn path=/trunk/; revision=22549
2006-06-23 21:19:01 +00:00
Aleksey Bragin
5b29a7494b Andrey Korotaev: Fix errors and typos in Russian translation, change Wine-specific parts to ReactOS.
svn path=/trunk/; revision=22548
2006-06-23 21:12:32 +00:00
Christoph von Wittich
25a5623442 -fixed some warnings (msvc)
svn path=/trunk/; revision=22547
2006-06-23 20:49:21 +00:00
Christoph von Wittich
78076d665a -fixed some warnings (msvc)
svn path=/trunk/; revision=22546
2006-06-23 20:08:52 +00:00
Christoph von Wittich
308147d6d3 -fixed some warnings (msvc)
svn path=/trunk/; revision=22545
2006-06-23 20:01:20 +00:00
Magnus Olsen
aaa109e28c norwigen translation from lars_martin4 at hotmail.com, please use LANG_NORWEGIAN, SUBLANG_NEUTRAL when u doing a translation. bug 1607
svn path=/trunk/; revision=22544
2006-06-23 19:55:19 +00:00
Johannes Anderwald
bf89f3f457 restore old targets
svn path=/trunk/; revision=22543
2006-06-23 19:36:23 +00:00
Johannes Anderwald
a245ed3386 parse -vo option
svn path=/trunk/; revision=22542
2006-06-23 19:36:01 +00:00
Magnus Olsen
0673ba6430 rewrite janderwald patch for NULL, I see it as pointless using static const WCHAR szNullString[] =
{ '\0' }; to return a null termentate string when u can simple replace it with L'\0' 

svn path=/trunk/; revision=22541
2006-06-23 18:54:53 +00:00
Johannes Anderwald
f4ef526c52 oops
thnx Greatlord

svn path=/trunk/; revision=22540
2006-06-23 18:48:57 +00:00
Christoph von Wittich
c709176c48 -fixed some warnings (msvc)
svn path=/trunk/; revision=22539
2006-06-23 18:44:57 +00:00
Johannes Anderwald
0a3f114ae2 fix duplicate control id
spotted by msvc :-)

svn path=/trunk/; revision=22538
2006-06-23 18:35:15 +00:00
Johannes Anderwald
ec5b7e38c0 include wingdi before winuser.h
replace nice construct with static const WCHAR :)

svn path=/trunk/; revision=22537
2006-06-23 18:27:08 +00:00
Johannes Anderwald
98b5733eb2 yet another msvc fix inline -> __inline
svn path=/trunk/; revision=22536
2006-06-23 18:07:10 +00:00
Johannes Anderwald
d2f6e25680 include wingdi.h before winuser.h
fixes last compile prob with msvc

svn path=/trunk/; revision=22534
2006-06-23 17:57:19 +00:00
Johannes Anderwald
a37b36dfc4 replace DECL_WINELIB_TYPE_AW macros with typedefs
thnx to Greatlord for reviewing patch

svn path=/trunk/; revision=22528
2006-06-23 17:39:04 +00:00
Johannes Anderwald
3a721c0824 fix TCHAR/WCHAR mixtures
spotted by Christoph_vW

svn path=/trunk/; revision=22527
2006-06-23 17:14:29 +00:00
Johannes Anderwald
06cb1d0c38 msvc fix (remove obsolete semicolon)
svn path=/trunk/; revision=22526
2006-06-23 16:30:22 +00:00
Saveliy Tretiakov
abb09e14a3 Fix buffer overflow vulnerability (bug 1528)
svn path=/trunk/; revision=22525
2006-06-23 14:55:52 +00:00
Magnus Olsen
1cca440e58 bugfix : patch from w3seek bug 1620 : RTL: Fix a locking bug in the vectored exception handling
svn path=/trunk/; revision=22524
2006-06-23 14:42:14 +00:00
James Tabor
5a3635d248 GetGlyphOutline, large wine port. Still testing.
svn path=/trunk/; revision=22523
2006-06-23 12:29:38 +00:00
Hervé Poussineau
9151c56146 Fix retrieving of NTP server from registry
Set svn:eol-style and svn:keywords properties

svn path=/trunk/; revision=22522
2006-06-23 08:13:50 +00:00
Alex Ionescu
2c010d69e8 - Cache system static information, such as PAGE_SIZE at kernel32 startup, so we can reference it in our code without always quertying the system for it.
svn path=/trunk/; revision=22521
2006-06-22 23:44:17 +00:00
Alex Ionescu
8727a1f7ff [AUDIT] - Unlock Thomas's low resource notification code, since it's clean.
- Entirely rewrite Kernel32 Probe functions to um, actually probe (ported Thomas's code in the kernel and adjusted for user-mode and then checked with WINE's code). I can't begin to fathom what the previous routines were supposed to be doing.

svn path=/trunk/; revision=22520
2006-06-22 23:40:50 +00:00
Alex Ionescu
3b350f6972 [AUDIT] These files are clean and simple stubs around NT apis and/or WINE code.
- Reformat the files.
- Fix A->W calling.
- Simpliy WriteProcessMemory to use NtProtectVirtualMemory to query the current state.
- Call some APIs with the right DesiredAccess instead of allways sending _ALL_ACCESS. (for example, only use SECTION_MAP_READ | QUERY unless the caller wants r/w.
- Flush ITLB when writing to process memory.

svn path=/trunk/; revision=22519
2006-06-22 23:06:14 +00:00
Hervé Poussineau
b1d543c345 Don't enumerate the serial port used for debugging
svn path=/trunk/; revision=22518
2006-06-22 22:57:32 +00:00
Ged Murphy
803efa1716 [AUDIT]
timedate.cpl
For some reason, this had been unlocked but not had it's svn:needs-lock props removed.
I've been working on this for the past few days and can verify it's clean.

svn path=/trunk/; revision=22517
2006-06-22 22:37:10 +00:00
Hervé Poussineau
e57648e8e2 Fail start of the serial port currently used for debugging, according to http://blogs.msdn.com/doronh/archive/2006/06/07/621604.aspx
svn path=/trunk/; revision=22516
2006-06-22 22:14:51 +00:00
Hervé Poussineau
6c6b0189cf [AUDIT]
serial.sys is clean. I wrote it myself and I didn't use unclean methods.

svn path=/trunk/; revision=22515
2006-06-22 22:13:27 +00:00
James Tabor
7f2ffb8b76 Update wine sync info.
svn path=/trunk/; revision=22514
2006-06-22 22:12:19 +00:00
Aleksey Bragin
59570aa6d0 Sync with Wine. Based on James Tabor's patch, with little modifications.
svn path=/trunk/; revision=22513
2006-06-22 22:00:24 +00:00
Hervé Poussineau
37ac31e89d Export KdComPortInUse
Print a header when debugging to serial port

svn path=/trunk/; revision=22512
2006-06-22 21:26:31 +00:00
Hervé Poussineau
f1df497132 Fix exports of device object types.
svn path=/trunk/; revision=22511
2006-06-22 21:16:55 +00:00
Johannes Anderwald
7f6da8f1fc msvc compilation fix
svn path=/trunk/; revision=22510
2006-06-22 21:16:28 +00:00
Hervé Poussineau
26836826ef Last 4 parameters of GetDiskFreeSpaceW are optional.
Fix bug 1608.

svn path=/trunk/; revision=22509
2006-06-22 20:50:53 +00:00
Johannes Anderwald
2e30a9b979 implement IDL compilation, generation of client/server stubs and creating import library of it
hurray :-)

svn path=/trunk/; revision=22508
2006-06-22 20:49:18 +00:00
Magnus Olsen
ec48d01285 bugfix from w3seek : bug 1474 : NTMARTA: GetExplicitEntriesFromAcl should return valid information for NULL-ACLs
svn path=/trunk/; revision=22507
2006-06-22 20:34:23 +00:00
Magnus Olsen
1e42e69d3d Bugfix from w3seek : bug 1614 Fix resource leak in NtRemoveIoCompletion
svn path=/trunk/; revision=22506
2006-06-22 20:30:49 +00:00
Johannes Anderwald
8579c127f7 remove targets
svn path=/trunk/; revision=22505
2006-06-22 19:15:37 +00:00
Johannes Anderwald
2ee2575f20 apply changes to msvc_clean target
svn path=/trunk/; revision=22504
2006-06-22 19:09:46 +00:00
Johannes Anderwald
bbc1c1a111 * make intermediate / outpath optional
* if u want to continue using vc specific path / configuration add flag -vo{version|configuration}

svn path=/trunk/; revision=22503
2006-06-22 18:50:00 +00:00
Ged Murphy
7d91409d48 - split the code up into logical files and reformat
- more code for NTP time setting
- many other code improvements

svn path=/trunk/; revision=22502
2006-06-22 17:13:29 +00:00
James Tabor
cccec459d0 Wine port WM_SETREDRAW.
svn path=/trunk/; revision=22500
2006-06-22 12:32:52 +00:00
Filip Navara
2b5ee06b1a Fix bug introduced in r21635.
svn path=/trunk/; revision=22499
2006-06-22 12:14:41 +00:00
Johannes Anderwald
eba80981e5 * fix idl build command
* generate client/server headers/sources in intermediate directory

svn path=/trunk/; revision=22497
2006-06-22 12:00:51 +00:00
Alex Ionescu
5831981241 - Sorry... was suffering from post-REcon-where-the-frell-am-I disorder.
svn path=/trunk/; revision=22495
2006-06-22 03:08:09 +00:00
Alex Ionescu
c8ff157406 - Rename obwait/obsecure
- Check for valid access in NtSignalAndWaitForSingleObject and don't check if ResultLength isn't NULL in NtQueryObject, because it's not optional.
- Add Thomas's name to a file where it wasn't.
- Reformatting (only code change is #2 above)

svn path=/trunk/; revision=22494
2006-06-22 02:20:34 +00:00
James Tabor
f92175d5fa Missed one line for sync to Wine.
svn path=/trunk/; revision=22493
2006-06-21 21:31:53 +00:00
Ged Murphy
eac2be9ab7 header changes for r22491
svn path=/trunk/; revision=22492
2006-06-21 21:20:28 +00:00
Ged Murphy
2747b47c79 Port RegGetValue() from WINE
patch by Thomas Weidenmueller


svn path=/trunk/; revision=22491
2006-06-21 21:19:47 +00:00
Ged Murphy
6c16a39783 load correct entry from registry
svn path=/trunk/; revision=22489
2006-06-21 20:46:37 +00:00
Ged Murphy
087d49dc73 oops, I can be so selfish sometimes ;)
svn path=/trunk/; revision=22487
2006-06-21 20:14:11 +00:00
Ged Murphy
4f99e0c714 - Add more code for NTP server selection.
- draw clock window from resource file to fix dialog unit / pixel anomaly ;)
- Do a bit of work on the NTP client. Still untested and may change to tcp.
All untested and I'm no where near finished yet, but there are a few bug fixes in here, and I'm running short on time ;)

svn path=/trunk/; revision=22486
2006-06-21 19:57:58 +00:00
Ged Murphy
25e24d88df missed this little blighter when fixing the DateTime.. macro
svn path=/trunk/; revision=22485
2006-06-21 19:44:06 +00:00
James Tabor
721c53105a I've synced most of the User32 control files. Edit, I looked at and saw very little needing synced in. Scrollbar has custom code and Static sync needs more testing.
svn path=/trunk/; revision=22484
2006-06-21 19:43:02 +00:00
Ged Murphy
6067cdbbef change macros to call correct version
svn path=/trunk/; revision=22480
2006-06-21 18:46:46 +00:00
Ged Murphy
a14bed3e15 fix incorrect macro
svn path=/trunk/; revision=22479
2006-06-21 18:43:14 +00:00
Aleksey Bragin
ca9d44a4a4 Update the doc to include all user32.dll's source code files which are shared one way or another with Wine. Makes syncing easier.
svn path=/trunk/; revision=22473
2006-06-21 17:03:20 +00:00
Aleksey Bragin
e291e62bf9 - Sync user32/buttons.c with Wine
- Update wine-syncs doc

svn path=/trunk/; revision=22459
2006-06-21 14:16:50 +00:00
Hervé Poussineau
4c5a1e73e8 Fix compilation
svn path=/trunk/; revision=22452
2006-06-21 11:45:11 +00:00
Saveliy Tretiakov
1dc7bde5fb Fix potential buffer overflow and unchecked return (bug 1527).
Update headers.


svn path=/trunk/; revision=22451
2006-06-21 11:25:22 +00:00
Aleksey Bragin
b04736c21a Thomas Weidenmueller: Remove rtl dependency
svn path=/trunk/; revision=22450
2006-06-21 10:03:33 +00:00
Hervé Poussineau
67950a1150 Handle MachineName parameter in SetupDiCreateDeviceInfoListExW
Eric, can you take care of the change in CM_Connect_MachineW?

svn path=/trunk/; revision=22449
2006-06-21 09:00:17 +00:00
Filip Navara
521b9caad9 Implement the isometric mapping mode and call the mapping functions for Ellipse and Polygon drawing. Thanks MgW from IRC for testing. :)
svn path=/trunk/; revision=22448
2006-06-21 08:33:27 +00:00
Filip Navara
d930a6123d Fix the millimeter calculation and assume 96DPI to be consistent with win32k.
svn path=/trunk/; revision=22447
2006-06-21 08:25:25 +00:00
Hervé Poussineau
d5e40a314e Fix indentation in SetupDiCreateDeviceInfoListExW
Fix 2 architecture extension constants

svn path=/trunk/; revision=22446
2006-06-21 07:52:19 +00:00
Hervé Poussineau
9bea18dd04 Fix some bugs according to test suite
Delete unused files

svn path=/trunk/; revision=22445
2006-06-21 06:40:02 +00:00
Art Yerkes
c517aab41d Fix small annoyance. Misplaced comma ftw.
svn path=/trunk/; revision=22444
2006-06-21 03:30:54 +00:00
James Tabor
cc6f45970b Sync to wine, User32. Tested with winefile, explorer with out any problems and no real improvements.
svn path=/trunk/; revision=22443
2006-06-21 02:14:09 +00:00
Magnus Olsen
12a01a7706 move back packmgr did move it by mistake
svn path=/trunk/; revision=22441
2006-06-20 21:12:15 +00:00
Magnus Olsen
f9764bff93 move qemu gui to tools
svn path=/trunk/; revision=22440
2006-06-20 21:11:39 +00:00
Magnus Olsen
3c8c07593b Moved remotely
svn path=/trunk/; revision=22439
2006-06-20 21:11:04 +00:00
Magnus Olsen
2ce269f075 Qemu GUI written in C# visual studio 2003. This is the source code of preview 6 I have done. The code have not been cleanup I commit a binary version of it as well. for not every one can compile it, and we should only include it with qemu when we are doing a release. so people with very lite knowlegws can config qemu as they like. I did speak with fireball he did think it was good idea to commit it to rosapps. See the todo.txt what left be done.
svn path=/trunk/; revision=22438
2006-06-20 21:05:59 +00:00
Hervé Poussineau
cee03bff64 Fix a cast
svn path=/trunk/; revision=22437
2006-06-20 18:56:41 +00:00
James Tabor
9945135514 Remove unimplemented debug print from CheckMenuRadioItem.
svn path=/trunk/; revision=22436
2006-06-20 01:42:02 +00:00
Aleksey Bragin
b48f3fc981 GCC 4 fixes, thanks to w3seek
svn path=/trunk/; revision=22434
2006-06-19 21:05:33 +00:00
Johannes Anderwald
3f201b3fd2 german translation by EmuandCo
svn path=/trunk/; revision=22433
2006-06-19 21:05:06 +00:00
Johannes Anderwald
b75fcdaa52 revert 22430
svn path=/trunk/; revision=22432
2006-06-19 20:32:10 +00:00
Johannes Anderwald
f8c1c6903d change SUBLANG_NEUTRAL to language specific code
patch by Brezenbak (he's back)

svn path=/trunk/; revision=22430
2006-06-19 20:01:26 +00:00
Johannes Anderwald
45c3f05329 add a few sublang constants
svn path=/trunk/; revision=22429
2006-06-19 20:01:01 +00:00
Johannes Anderwald
434759908d italien translation done by Speekix & small fixes by Brezenbak
svn path=/trunk/; revision=22428
2006-06-19 18:16:56 +00:00
Johannes Anderwald
6ad59cd7dc change to dialog font to MS Shell Dlg
patch by EmuandCo

svn path=/trunk/; revision=22426
2006-06-19 17:47:11 +00:00
Johannes Anderwald
9aa6f94c3d change to dialog font to MS Shell Dlg
patch by EmuandCo

svn path=/trunk/; revision=22425
2006-06-19 17:31:18 +00:00
Aleksey Bragin
99c69dbca9 Simple OpenGL screensaver by Andrey Korotaev. This is a good app to test opengl regressions.
svn path=/trunk/; revision=22424
2006-06-19 17:19:04 +00:00
Art Yerkes
b8bbec3796 Endian neutrality.
svn path=/trunk/; revision=22423
2006-06-19 16:38:27 +00:00
Ged Murphy
a63d7b03cf [AUDIT]
userinit 
userinit functionality is documented in Windows Internals. Our userinit is a trimmed version of that.
I suspect Thomas would also confirm this as clean if anyone asks him ;)

svn path=/trunk/; revision=22422
2006-06-19 16:06:35 +00:00
Art Yerkes
07565e3067 Fixed rare block end overwrite.
svn path=/trunk/; revision=22421
2006-06-19 15:55:17 +00:00
Ged Murphy
71463053fb [AUDIT]
dnsapi
Confirmed to be clean by Art Yerkes

svn path=/trunk/; revision=22420
2006-06-19 15:31:55 +00:00
Ged Murphy
f5028b62ff [AUDIT]
dhcpcsvc
Confirmed to be clean by Art Yerkes

svn path=/trunk/; revision=22419
2006-06-19 15:29:23 +00:00
Ged Murphy
bc29d4256f [AUDIT]
slayer
Confirmed to be clean by Thomas Weidenmueller

svn path=/trunk/; revision=22418
2006-06-19 13:59:22 +00:00
Ged Murphy
8eb5c17e99 [AUDIT]
utils
ReactOS utilities, not based on Windows components

svn path=/trunk/; revision=22417
2006-06-19 13:55:51 +00:00
Ged Murphy
8428b9d16f [AUDIT]
hid
mostly wrappers and stubs.
Confirmed to be clean by Thomas Weidenmueller

svn path=/trunk/; revision=22416
2006-06-19 13:49:29 +00:00
Ged Murphy
09f1c65b39 [AUDIT]
devmgr
Confirmed to be clean by Thomas Weidenmueller
"devmgr is built from the ground up, probably completely differently. It only has undocumented apis which Thomas wrote test apps for, they were mostly based on guessing and corrected several times."

svn path=/trunk/; revision=22415
2006-06-19 13:27:06 +00:00
Ged Murphy
58217251fd [AUDIT]
winsta
only contains stubs

svn path=/trunk/; revision=22414
2006-06-19 12:45:44 +00:00
Ged Murphy
4420b05a12 [AUDIT]
winscard
only contains stubs

svn path=/trunk/; revision=22413
2006-06-19 12:43:39 +00:00
Aleksey Bragin
f2f67e344c Alexey Zavyalov: Start implementing new International Settings applet (Windows XP-alike style, and eventually will work in Windows XP).
I keep the old intl.cpl in our tree since it contains some hacks to switch languages/locales/layouts, which will soon be gone (along with the old intl.cpl logically)

svn path=/trunk/; revision=22412
2006-06-19 12:43:29 +00:00
Ged Murphy
c9099e06c5 [AUDIT]
vdmdbg
only contains stubs

svn path=/trunk/; revision=22411
2006-06-19 12:36:40 +00:00
Ged Murphy
dd4f9423a7 [AUDIT]
snmpapi
only contains stubs

svn path=/trunk/; revision=22410
2006-06-19 12:34:31 +00:00
Ged Murphy
aa2e6e3de0 [AUDIT]
samsrv
only contains stubs

svn path=/trunk/; revision=22409
2006-06-19 12:22:44 +00:00
Ged Murphy
38bb456ef3 [AUDIT]
authz 
Confirmed to be clean by Thomas Weidenmueller

svn path=/trunk/; revision=22408
2006-06-19 12:14:39 +00:00
Ged Murphy
5551537d5f [AUDIT]
opengl32 
Confirmed to be clean by Anich Gregor (blight)

svn path=/trunk/; revision=22407
2006-06-19 12:09:56 +00:00
Ged Murphy
ccc9dab877 [AUDIT]
mswsock
All stubs with the exception of TransmitFile, which is a simple wrapper

svn path=/trunk/; revision=22406
2006-06-19 11:49:15 +00:00
Aleksey Bragin
9b0d10bbbc Change entrypoint to be a get-style method of class Module, having a boolean param which define if the entrypoint is to be returned with or without the leading underscore. Internal entrypoint string holds entrypoint without leading underscore.
This makes both mingw and msvc backend happy about entry point names.

svn path=/trunk/; revision=22405
2006-06-18 20:30:52 +00:00
Magnus Olsen
7985065a7a rename .xml to rbuild forget we using .rbuild as ext
svn path=/trunk/; revision=22404
2006-06-18 20:14:40 +00:00
Aleksey Bragin
21aed7ec4f Revert r22396: I will provide a better fix
svn path=/trunk/; revision=22403
2006-06-18 20:01:13 +00:00
Magnus Olsen
cebe4f85fa 1. Restore hardware wiz cpl, fix the comping error. Do not delete rbuild file when some thing does not build.
2. fixing the comping problem for hardware wiz cpl 
3. Langues Nl.rc patch from i386dx see wiki how have done the translate

svn path=/trunk/; revision=22402
2006-06-18 19:56:12 +00:00
Magnus Olsen
75da9a2f7c Langues Nl.rc patch from i386dx see wiki how have done the translate
svn path=/trunk/; revision=22401
2006-06-18 19:39:41 +00:00
Aleksey Bragin
f618cc855d Thomas Weidenmueller: RBUILD: Support generating headers from .idl files (Patch 1592)
svn path=/trunk/; revision=22400
2006-06-18 19:39:13 +00:00
Magnus Olsen
427b21b076 Langues Nl.rc patch from i386dx see wiki how have done the translate
svn path=/trunk/; revision=22399
2006-06-18 19:37:05 +00:00
Magnus Olsen
4c2229b4c9 Langues Nl.rc patch from i386dx see wiki how have done the translate
svn path=/trunk/; revision=22398
2006-06-18 19:32:03 +00:00
Magnus Olsen
1e95708d53 Langues Nl.rc patch from i386dx see wiki how have done the translate
svn path=/trunk/; revision=22397
2006-06-18 19:29:44 +00:00
Aleksey Bragin
8f8e389d3e Remove "_" decoration from module entries, since MSVC doesn't need them
svn path=/trunk/; revision=22396
2006-06-18 19:28:54 +00:00
Johannes Anderwald
28ab213634 update resource file
patch by EmuandCo

svn path=/trunk/; revision=22395
2006-06-18 19:25:41 +00:00
Magnus Olsen
4e70b68cd2 Langues Nl.rc patch from i386dx see wiki how have done the translate
svn path=/trunk/; revision=22394
2006-06-18 19:25:18 +00:00
Johannes Anderwald
cf1da8dd66 [AUDIT]
unlock resource file

svn path=/trunk/; revision=22393
2006-06-18 19:23:03 +00:00
Johannes Anderwald
e8da9219d1 fix typos, use correct sub languages, update resource files, change dialog font to "MS Shell Dlg"
patch by EmuandCo

svn path=/trunk/; revision=22392
2006-06-18 19:01:48 +00:00
Eric Kohl
1c0c7413bd Implement CM_Get_HW_Prof_Flags[_Ex]A/W and add PNP_HwProfFlags stub.
svn path=/trunk/; revision=22391
2006-06-18 14:36:42 +00:00
Johannes Anderwald
aabda4b500 specify CF_INITTOLOGFONTSTRUCT flag to auto-select current font in font selection dialog.c
bug report by tsg1zzn fixes bug 1561

svn path=/trunk/; revision=22390
2006-06-18 14:13:03 +00:00
Aleksey Bragin
d33d5d5251 Patch by Mikhail Y. Zvyozdochkin (mzvyozd at narod dot ru): Simplify compilation under Linux.
svn path=/trunk/; revision=22389
2006-06-17 20:28:53 +00:00
Aleksey Bragin
5499eac485 Translation of cacls to Russian language, based on patch by Alexey Minnekhanov (minlexx at rambler dot ru)
svn path=/trunk/; revision=22388
2006-06-17 19:54:00 +00:00
Ged Murphy
9f9c084af1 - fix build issues reported by some users
- move definition into root resource file
- fix msvc warnings

svn path=/trunk/; revision=22387
2006-06-17 19:21:25 +00:00
Ged Murphy
5a05448343 {AUDIT]
TaskManager
Brian Palmer confirms this to be clean

svn path=/trunk/; revision=22386
2006-06-17 18:23:19 +00:00
Ged Murphy
45b7239931 [AUDIT]
sdkparse
ReactOS utility. 

svn path=/trunk/; revision=22385
2006-06-17 16:45:48 +00:00
Ged Murphy
6d058a9607 [AUDIT]
gdiplus
only contains stubs

svn path=/trunk/; revision=22384
2006-06-17 14:31:04 +00:00
Ged Murphy
77b50520e4 [AUDIT]
cards.dll
Filip confirms this code is clean.

svn path=/trunk/; revision=22383
2006-06-17 14:21:37 +00:00
Aleksey Bragin
10eda3917c - Add 2 more Ob Methods (currently turned off in testing)
- Add Open method to tests
- Make debug output of Ob Methods more informative
- Add Ob Methods counting tests

svn path=/trunk/; revision=22381
2006-06-17 12:18:08 +00:00
James Tabor
12647707d7 Add two static control styles, SS_EDITCONTROL and SS_REALSIZECONTROL.
svn path=/trunk/; revision=22380
2006-06-17 05:18:49 +00:00
James Tabor
e61b53b59e Missed removing unused variables during manual patching.
svn path=/trunk/; revision=22379
2006-06-17 05:04:51 +00:00
James Tabor
3c7fc29628 Sync with wine.
svn path=/trunk/; revision=22378
2006-06-17 05:02:55 +00:00
James Tabor
35135e5ddb Vitaly Lipatov : Fix character conversion in combo box. Which needed to be synced to wine.
svn path=/trunk/; revision=22377
2006-06-16 15:33:59 +00:00
James Tabor
35c60c75a7 qingdoa daoo : Fix selection handling for listboxes with LBS_EXTENDEDSEL style. Also synced to wine.
svn path=/trunk/; revision=22376
2006-06-16 15:32:06 +00:00
Johannes Anderwald
6ebdd68cac french translation by Usurp
svn path=/trunk/; revision=22375
2006-06-15 20:50:47 +00:00
Johannes Anderwald
e21026c441 add powercfg, powerprof to bootcd
svn path=/trunk/; revision=22374
2006-06-15 18:29:23 +00:00
James Tabor
755b2442b4 Fix functionality in WM_SHOWWINDOW. Part II of last nights patch for TWOPARAM_ROUTINE_ROS_SHOWWINDOW.
svn path=/trunk/; revision=22373
2006-06-15 16:23:24 +00:00
Aleksey Bragin
f391668cb0 - Add russian translation by Andrey Korotaev
- Fix small typo in german resources

svn path=/trunk/; revision=22372
2006-06-15 16:08:32 +00:00
Johannes Anderwald
269c18e151 use SUBLANG_ENGLISH_US
spotted by Usurp

svn path=/trunk/; revision=22371
2006-06-15 15:53:52 +00:00
Aleksey Bragin
9bf8d5dcc2 Add code to query volume for its filesystem type
svn path=/trunk/; revision=22370
2006-06-15 15:00:37 +00:00
Johannes Anderwald
69d2fdc763 * add powrprof regression tests
* developed by Alex Wurzinger, Johannes Anderwald & Martin Rottensteiner

svn path=/trunk/; revision=22369
2006-06-15 14:50:42 +00:00
Johannes Anderwald
a526193b42 fix typo
spotted by Christoph_vW

svn path=/trunk/; revision=22368
2006-06-15 14:44:11 +00:00
Johannes Anderwald
c2321de544 * remove warning
* return true in ValidatePowerPolicy

svn path=/trunk/; revision=22367
2006-06-15 14:36:17 +00:00
Johannes Anderwald
cd64dfb6ea add missing export
svn path=/trunk/; revision=22366
2006-06-15 14:28:46 +00:00
Johannes Anderwald
1df30c5515 forgot to add powercfg baseaddress
svn path=/trunk/; revision=22365
2006-06-15 14:19:29 +00:00
Johannes Anderwald
f5ec853692 set eol-style:native
set keywords:author date id revision

svn path=/trunk/; revision=22364
2006-06-15 14:16:29 +00:00
Johannes Anderwald
9ebe93b22d add powercfg to build
svn path=/trunk/; revision=22363
2006-06-15 14:10:11 +00:00
Johannes Anderwald
98ecae1afe * implementation of Power Panel Control Applet
* developed by Alex Wurzinger, Johannes Anderwald & Martin Rottensteiner 

svn path=/trunk/; revision=22362
2006-06-15 14:07:08 +00:00
Maarten Bosma
4337de626c Fix sweeping the handle table on process shutdown. Patch by w3seek.
svn path=/trunk/; revision=22361
2006-06-15 13:16:29 +00:00
Andrew Munger
bedfaa39ea Remove gradient change committed by frik85.
svn path=/trunk/; revision=22360
2006-06-15 13:16:12 +00:00
Hervé Poussineau
3949820944 Cast size_t to long, before applying the unary - operator
svn path=/trunk/; revision=22359
2006-06-15 12:54:31 +00:00
Hervé Poussineau
78fce8752c Add some unit tests for setupapi
svn path=/trunk/; revision=22358
2006-06-15 12:49:04 +00:00
Hervé Poussineau
c1cdbae22d Set svn:eol-style to native
svn path=/trunk/; revision=22357
2006-06-15 12:41:57 +00:00
Hervé Poussineau
709fc5a971 Create configuration list only once (in MSVCBackend::Process) and use it everywhere.
Remove dead code

svn path=/trunk/; revision=22356
2006-06-15 12:33:47 +00:00
Johannes Anderwald
5c7452010e remove endless loop
svn path=/trunk/; revision=22355
2006-06-15 11:12:22 +00:00
Aleksey Bragin
bd98cae02e [FORMATTING]
Generalize formatting a bit, normalize file's header

svn path=/trunk/; revision=22354
2006-06-15 08:33:38 +00:00
James Tabor
7436b68377 Fix functionality in TWOPARAM_ROUTINE_ROS_SHOWWINDOW. Use one PWINDOW_OBJECT Window in NtUserCallTwoParam to help with cleanup.
svn path=/trunk/; revision=22353
2006-06-15 07:07:54 +00:00
Aleksey Bragin
3309c9266d - Johannes Anderwald and Thomas Weidenmueller: WIN32K: window class fixes (bug 1570)
- Reduces user32_winetest class failures from 85 to 64
- The patch doesn't introduce obvious regressions (reactos boots, explorer works, miranda and mirc loads)

svn path=/trunk/; revision=22349
2006-06-14 21:03:34 +00:00
Klemens Friedl
a87ee338d2 german translation update
patch created by EmuandCo and DangerGround

svn path=/trunk/; revision=22348
2006-06-14 20:07:20 +00:00
Hervé Poussineau
2aa4dc8052 Fix SESSION5_INITIALIZATION_ERROR by reverting part of 22219. The code is the same as in pre-22219 era, but separated in different files
Thanks Alex for reporting the faulty revision

svn path=/trunk/; revision=22347
2006-06-14 09:36:15 +00:00
Alex Ionescu
30c84451ef - Handle mount failure (such as when a CDROM isn't actually inside the drive) instead of assuming success and setting a NULL device object. Fixes regression seen by Arty/James when winefiling, dir d:-ing or hardware device wizarding.
svn path=/trunk/; revision=22346
2006-06-14 06:48:28 +00:00
Alex Ionescu
afee678695 - Fix some referencing/bugs in Ob functions that I wrote which were known fixmes.
- Remove every instance of ObDereferenceObject after an ObInsertObject that I could find. This temporarily will make the object leaks even worse, but it's better to increase leaks and then fix the ref bug, then to decrease references while missing spots that forgot to reference them (you'd end up with hard to debug randomly dying objects).

svn path=/trunk/; revision=22345
2006-06-14 04:02:02 +00:00
Ged Murphy
f45c3a82e8 fix checking of the properties dialog to see if it's open before sending messages to it. Stops the crash when starting or stopping services
svn path=/trunk/; revision=22344
2006-06-13 21:30:54 +00:00
Hervé Poussineau
d3f58e5415 - Add a MSVCConfiguration class, to keep trace of parameters instead of parsing each time the configuration name
- When building with MSVC headers, win32api and Wine directories are omitted and some defines are added

svn path=/trunk/; revision=22343
2006-06-13 21:23:25 +00:00
Hervé Poussineau
8add7c477f Add files to project only if the "If" condition is true.
svn path=/trunk/; revision=22342
2006-06-13 17:39:17 +00:00
Hervé Poussineau
d1346a4edc Fix formatting. No code change
svn path=/trunk/; revision=22341
2006-06-13 17:37:27 +00:00
James Tabor
be83be8f50 Adding future DefWnd calls to win32k.
svn path=/trunk/; revision=22340
2006-06-13 15:13:02 +00:00
Alex Ionescu
322d8b7398 - Enable ROS_LEAN_AND_MEAN if you want 50% smaller binaries and a 20MB reduction in memory usage.
- Create a new module type: exportdriver for drivers which also export files. Not supremely useful right now, but it helps us decrease compilation time of normal drivers by not running useless commands on them. Later we'll also strip out their export table. We can also make exportdrivers automatically read their .def file instead of specfiygone one.

svn path=/trunk/; revision=22339
2006-06-13 04:50:14 +00:00
Brandon Turner
1aeb0661d4 * When comparing two strings, you do not need to check what comes after them.
* You do not need to look for the next space in the "command" to run on if success, that will be handled later on, and causes it to skip over to much if it done in both spots

svn path=/trunk/; revision=22334
2006-06-13 00:26:08 +00:00
James Tabor
fb2ac07e08 Wine patch by Thomas Kho: Fix behavior when selecting disabled menu items.
svn path=/trunk/; revision=22333
2006-06-12 23:23:50 +00:00
Ged Murphy
f3025b54e9 missed this little blighter ....
svn path=/trunk/; revision=22331
2006-06-12 22:40:56 +00:00
Ged Murphy
5c4e6cbf06 - sync from Wine-0_9_5 to Wine-0_9_15
- there are a few small differences between ROS comctl32 and Wine comctl32, in listview.c and treeview.c. I've dropped the Wine versions in for now, as they appear to be trivial. I'll insert our small alterations after testing, if required. For now, we are using 100% Wine code.
- We are failing some comctl32 Wine tests in ROS, but passing more than previous.


Sync to Wine-0_9_15:
Mikoaj Zalewski <mikolaj@zalewski.pl>
- comctl32: header: Put the new item in place of the hot divider instead of swapping.
- comctl32: header: Draw the drag image and hot dividers while dragging an item.
- comctl32: header: Fix an order-related bug in HEADER_InternalHitTest.
- comctl32: header: Implement HDM_SETHOTDIVIDER.
- comctl32: header: Implement HDM_CREATEDRAGIMAGE.
- comctl32: listview: Apply the HDS_DRAGDROP header style if needed.
- comctl32: header: Update the rects in HEADER_Refresh if needed.
- comctl32: header: Ignore out-of-range iOrder in SetItemT.
Paul Vriens <Paul.Vriens@xs4all.nl>
- comctl32/header: Check Null before accessing struct member.
Alexandre Julliard <julliard@winehq.org>
- comctl32: Dialog procedures should be called with CallWindowProc.
 
Sync to Wine-0_9_14:
Mikoaj Zalewski <mikolaj@zalewski.pl>
- comctl32: header: Don't try to draw items outside the clipping rect.
- comctl32: header: Make the column resizing smooth in full drag mode.
Jonathan Ernst <jonathan@ernstfamily.ch>
- Update the address of the Free Software Foundation.
- Uniformization of French main menu accelerators.
 
Sync to Wine-0_9_13:
Mikoaj Zalewski <mikolaj@zalewski.pl>
- comctl32: Add Str_SetPtrWtoA analogue to Str_SetPtrAtoW.
qingdoa daoo <qingdao33122@yahoo.com>
- comctl32: Change return code comparison in AVI control.
- comctl32: Fix an unsigned comparison to zero.
- comctl32: Update first visible when appropiate in the TVI_SORT case.
Saulius Krasuckas <saulius2@ar.fi.lt>
- comctl32: Increase FILEVERSION up to 5.81.4704.1100.
 
Sync to Wine-0_9_12:
Mike Hearn <mike@plan99.net>
- comctl32: Add OOM codepath in imagelist control.
Antonio Codazzi <f_sophia@libero.it>
- comctl32: Italian language updates.
- comctl32: Esperanto language support.
 
Sync to Wine-0_9_11:
Rein Klazes <wijn@wanadoo.nl>
- comctl32: Do not free LPSTR_TEXTCALLBACK tooltip texts.
James Hawkins <truiken@gmail.com>
- comctl32: A couple fixes for tab icon offsets.
Thomas Weidenmueller <wine-patches@reactsoft.com>
- comctl32: Rebar size fix.
Mike McCormack <mike@codeweavers.com>
- comctl32: Having an MRU list without a compare function works in Windows.
 
Sync to Wine-0_9_10:
Andrñs Kovñcs <andras@csevego.net>
- comctl32: Added Hungarian translation.
Mike McCormack <mike@codeweavers.com>
- comctl32: Fix some gcc 4.1 warnings caused by windowsx.h macros.
 
Sync to Wine-0_9_9:
Vitaliy Margolen <wine-patch@kievinfo.com>
- comctl32: Remove/swap limits if min > max in MCM_SETRANGE.
  We should swap min & max only when both limits are being
  set. Otherwise limit that being set should invalidate other limit
  (remove it).
- comctl32: Don't change month range in MCM_SETRANGE. Add tests for this.
 
Sync to Wine-0_9_8:
Vitaliy Margolen <wine-patch@kievinfo.com>
- comctl32: Fix invalid date/time check in MCM_SETRANGE: ignore time and fail on bad date.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Petr Tesarik <hat@tesarici.cz>
- comctl32: Czech language resources encoding fix.
Fatih Ac <fasici@linux-sevenler.org>
- comctl32: Turkish translation.
 
Sync to Wine-0_9_7:
Alexandre Julliard <julliard@winehq.org>
- Fixed creation of PS_ALTERNATE pens.
 
Sync to Wine-0_9_6:
Phil Krylov <phil@newstar.rinet.ru>
- comctl32: Call UpdateWindow() after changing statusbar text.
Thomas Weidenmueller <wine-patches@reactsoft.com>
- comctl32: Reduce memory usage of the syslink control.
- comctl32: Some painting fixes for the syslink control.
Mike McCormack <mike@codeweavers.com>
- comctl32: Invalidate the entire progress bar any time it changes.

svn path=/trunk/; revision=22329
2006-06-12 22:35:32 +00:00
Ged Murphy
f921860cdc enable all tests
svn path=/trunk/; revision=22328
2006-06-12 20:26:30 +00:00
Johannes Anderwald
5eae6f4526 fix build prob #take one
svn path=/trunk/; revision=22327
2006-06-12 18:09:47 +00:00
Ged Murphy
ef4faef9dd fix build
svn path=/trunk/; revision=22326
2006-06-12 17:58:59 +00:00
Johannes Anderwald
f4176159a9 fix typo in solitaire.cpp
patch by Wildcat (bug 1555)

svn path=/trunk/; revision=22325
2006-06-12 17:51:03 +00:00
Johannes Anderwald
2424761624 set focus back after messagebox
fix formating of previous commit

svn path=/trunk/; revision=22324
2006-06-12 17:44:57 +00:00
Johannes Anderwald
e522810b81 set focus back to computer name when invalid name was entered
bug report by keytotime (bug 1569)

svn path=/trunk/; revision=22323
2006-06-12 17:40:35 +00:00
Johannes Anderwald
b0338a0f3f add freeldr_fdebug rbuild
svn path=/trunk/; revision=22322
2006-06-12 17:30:21 +00:00
Johannes Anderwald
9f9d9a1613 add norwegian translation
patch by LMH1 (bug 1575)

svn path=/trunk/; revision=22321
2006-06-12 17:28:08 +00:00
Johannes Anderwald
89a00d9caf add rbuild file
svn path=/trunk/; revision=22320
2006-06-12 17:26:41 +00:00
Alex Ionescu
8d3f5096fd - Pretty much the last Ob implementation/optimization patch (Except for a minor fix by Thomas to fix handle sweeping), re-implemented the ObFindObject routine by using some code that I had written almost 2 years ago with help from Thomas and Filip, plus some fixes discovered today while testing.
- Fixed symbolic link and desktop/winsta parse procedures to become NT-compatible now that ObFindObject is as well. Also fixed file/device parse routine for these changes.
- ObFindObject now supports STATUS_REPARSE_OBJECT, and has an optimized path for parsing when a root directory is given, as well as is entirely unicode_string-based.
- Cleaned up ob.h and added ob_x.h for the inlined functions.
- Implemented new Ob tracing system.

svn path=/trunk/; revision=22319
2006-06-12 05:58:08 +00:00
Alex Ionescu
119738339b - Fix a typo that had broken the build -- sorry.
svn path=/trunk/; revision=22318
2006-06-11 22:32:12 +00:00
Alex Ionescu
b0dc37752d - Bring out the champagne... one of my first-ever and most ancient ReactOS TODOs: the IopCreateFile hack has been totally removed and we now have a file/device parse routine. It's still nothing like NT's but it's not a hack anymore, and actually works like it should.
svn path=/trunk/; revision=22317
2006-06-11 22:26:54 +00:00
Eric Kohl
bc297b2f4b Implement CM_Delete_DevNode_Key and add CM_Delete_DevNode_Key_Ex stub.
svn path=/trunk/; revision=22316
2006-06-11 21:56:08 +00:00
Aleksey Bragin
c08140a104 Slightly update the doc to make it correspond to nowadays reality
svn path=/trunk/; revision=22315
2006-06-11 21:05:25 +00:00
Ged Murphy
0262a2684c update the comctl32 wine tests
svn path=/trunk/; revision=22314
2006-06-11 15:51:13 +00:00
Maarten Bosma
64471203f9 Fix size of the startmenu (e.g. Start->Programs) when there are very much entries. Tested under Windows. Fix by slawek from the German forum.
svn path=/trunk/; revision=22313
2006-06-11 15:16:48 +00:00
Eric Kohl
47a7900e91 Implement PNP_AddID.
svn path=/trunk/; revision=22310
2006-06-11 13:20:46 +00:00
Hervé Poussineau
b9bcb95e37 Fix non-optimized versions of InterlockedIncrement/InterlockedDecrement.
Fixes bug 916

svn path=/trunk/; revision=22309
2006-06-11 13:00:47 +00:00
Hervé Poussineau
f08c410f39 Move Interlocked* functions to architecture-relative directories. This prevents use of inlined assembler.
svn path=/trunk/; revision=22308
2006-06-11 12:27:27 +00:00
Hervé Poussineau
198f03e34b [AUDIT]
According to Fireball, this file is clean because it contains only well-known interlocked operations taking up a few asm instructions

svn path=/trunk/; revision=22307
2006-06-11 12:15:43 +00:00
Hervé Poussineau
df7f875767 Add some tests for interlocked functions
svn path=/trunk/; revision=22306
2006-06-11 12:02:04 +00:00
Alex Ionescu
57dc67574c * Significant improve boot speed and debug log neatness:
- Get rid of a dozen of debug prints that have been straying along for a long time (some for years), most of which I must shamefully admit I am responsible for.
- Fix a critical bug subsystem bug in smss and don't hang the system 15 seconds on boot-up.
- Rebase some problematic modules (and fix wshtcpip's rbuild file) to avoid relocations on bootup and some process startup. 
- Enable lsass startup in winlogon and the registry.
- Only show debug log header when actually debugging to a file.

svn path=/trunk/; revision=22305
2006-06-11 08:25:10 +00:00
Hervé Poussineau
ab794adf1d - Support more than one child
- vbemp shouldn't parse the EDID, so return it to videoprt

svn path=/trunk/; revision=22304
2006-06-11 07:57:37 +00:00
Alex Ionescu
259db9be47 - Fix definitions of OB_QUERYNAME_METHOD and OB_OKAYTOCLOSE_METHOD. Add fixme for OB_SECURITY_METHOD, will change it later.
- Simplified NtDuplicateObject to a simple stub around ObDuplicateObject, there is no need to have lengthy hacks for NtCurrentProcess/NtCurrentThread().
- Cleanup ObDuplicateObject to use normal Ob routines instead of grovelling through handle table structures and manually touching the handle count: It now calls ObpIncrementHandleCount and all the underlying operations are done on the duplicated handle. Also access state creation is done if the duplicated handle has different desired access.

svn path=/trunk/; revision=22303
2006-06-11 06:52:56 +00:00
Aleksey Bragin
d6a84751c7 - Further improvements to Ob tests (fixing obvious mistakes/etc), however reference tests still cause bugcheck, so they are disabled
- Clean-up is enabled now, so basically it's possible to run the test a number of times in win2k3, and every time it will go from scratch by creating everything. But I have a feeling that deleting object-types causes some type of corruption. To be investigated later.

svn path=/trunk/; revision=22302
2006-06-10 22:39:14 +00:00
Aleksey Bragin
325be5eb8d Alex finally paid attention to my code, so I'm fixing a few things...
svn path=/trunk/; revision=22301
2006-06-10 21:17:43 +00:00
Hervé Poussineau
3e3f927b36 After some tests, change SetupDiClassNameFromGuidExW and SetupDiGetClassDescriptionExW to match Windows XP behavior
svn path=/trunk/; revision=22300
2006-06-10 20:51:18 +00:00
Hervé Poussineau
b76c5a1315 Cleanup:
- Check that mandatory arguments are provided
- Better tracing system
- Prepend private function names with SETUP_
- Use MultiByteToUnicode instead of MultiByteToUnicode + HeapAlloc
- ...

svn path=/trunk/; revision=22299
2006-06-10 20:48:17 +00:00
Aleksey Bragin
ac6a23b01f [FORMATTING]
Very small cleanup, formatting and typecasting change

svn path=/trunk/; revision=22298
2006-06-10 20:41:54 +00:00
Aleksey Bragin
4b2ae8cc64 Revert accidental change of ntfs.sys driver's Start value made in last commit
svn path=/trunk/; revision=22297
2006-06-10 20:32:25 +00:00
Aleksey Bragin
c87c9cee4a Add loading of kernel-mode regression testing driver into hivesys.inf (it's commented out of course by default).
To run km regression tests under windows, one should use kmtloader.exe app
To run them on reactos, one should copy kmtest.sys to reactos\system32\drivers, and uncomment entries in hivesys.inf

svn path=/trunk/; revision=22296
2006-06-10 18:05:44 +00:00
Aleksey Bragin
e5502d72f8 - Add create/insert object tests
- Add simple referencing tests (now disabled)
- All tests pass currently on Windows 2003

svn path=/trunk/; revision=22295
2006-06-10 16:37:34 +00:00
Alex Ionescu
51b80d64e3 - Update sweep callback to send the handle number. Patch by Thomas Weidenmueller (w3seek@reactos.org)
- Export ObCloseHandle since it's implemented now
- Implement ObpCreateUnnamedHandle and ObpIncrementUnnamedHandleCount as optimizations for ObInsertObject with unnamed objects.

svn path=/trunk/; revision=22294
2006-06-10 00:41:16 +00:00
Brandon Turner
911fec4841 eol-style:native and some TCHAR fixes
svn path=/trunk/; revision=22293
2006-06-09 15:59:56 +00:00
Hervé Poussineau
6b4f2e1649 Add documentation to SetupDiBuildClassInfoList/SetupDiBuildClassInfoListExA/W
Patch by Christian Gmeiner on wine-patches ML

svn path=/trunk/; revision=22292
2006-06-09 14:16:39 +00:00
Alex Ionescu
b9375052c5 - Fix the CmpObjectDelete bugcheck by hacking away some code reponsible for it. The bugcheck is probably the result of the current ref-count bug.
- Remove some more code in IoCreateFile/IopCreateFile to help with deprecating it later.

svn path=/trunk/; revision=22291
2006-06-09 08:49:03 +00:00
Alex Ionescu
dc1e926987 - Add the OPEN_PACKET structure to internal headers. Used for the I/O Parse Routine.
- Gut down IopCreateFile to the strict minimum so that only the critical parts remain.
- NT Compatiblity fix in ObFindObject: stop parsing if remaining path is null, this means that the parse routine is done parsing and that -this- is the final object.

svn path=/trunk/; revision=22290
2006-06-09 07:28:26 +00:00
Aleksey Bragin
c07a24b350 - Added DPRINT logic in all files (to be used as "TRACE" to aid in debugging of tests)
- Added initial part of Ob tests which uses ObCreateObjectType, NtCreateDirectoryObject, ObCreateObject exported APIs.

svn path=/trunk/; revision=22289
2006-06-08 21:39:51 +00:00
Alex Ionescu
63e1686915 - Remove the heart (but not the brain) of the IopCreateFile hack. A much 'nicer' hack now detects if a filename can't be found, and instead of inserting it into the object directory (wrong!), calling IopCreateFile (wrong!), then having it fail, only to then remove the newly inserted object entry (wrong wrong wrong!), IopCreateFile is now *only* called for real files, otherwise Ob detects the invalid name and fails nicely and quickly.
svn path=/trunk/; revision=22288
2006-06-08 21:36:44 +00:00
Alex Ionescu
d7c17c883d - Add Object Header Quota structure/define
- Give Files/Devices a parse routine and currently stubplement it for debugging purposes and trying to figure out a way to kill the IopCreateFile hack.
- Implement ObpChargeQuotaForObject. Using a memory breakpoint in WinDBG I've finally found where the OB_FLAG_CREATE_INFO flag gets masked out. Also attempted a very naive quota charging implementation, but it's a guess and probably wrong (but at least it does...something.)

svn path=/trunk/; revision=22287
2006-06-08 20:58:21 +00:00
Alex Ionescu
1c378756d0 - Kill a bunch of deprecated hacks, because removing hacks is always cool!
svn path=/trunk/; revision=22286
2006-06-08 19:00:22 +00:00
Alex Ionescu
1891e7787c - [FORMATTING]:
- Get rid of ObpGetHandleCountByHandleTable and ObpGetNextHandleByProcessCount.
  - Add some function comment headers.
  - Move ObMakeTemporaryObject, NtMakeTemporaryObject, NtMakePermanentObject to oblife.c
  - Move ObpDeleteNameCheck to obname.c

svn path=/trunk/; revision=22285
2006-06-08 18:24:37 +00:00
Alex Ionescu
1f896561d9 - Rename ObpDeleteHandle to ObpCloseHandleTableEntry and change semantics so that it deals directly with the entry and table. This re-factoring optimizes the case where we already have the entry and don't want to use the handle to get the kernel table and then attach/detach/enter/exit critcal regions (such as when sweeping).
- Implement ObCloseHandle, a new XP Export
- Take old NtClose code and write it in ObpCloseHandle, which is the master function that Ntclose/ObCloseHandle share.
- Complete patch requires ExSweepHandleTable to be modified to return the Handle instead of the entry, so that sweeping can be fixed to properly destroy handles and call their OkayToClose, instead of just decrementing a count.

svn path=/trunk/; revision=22284
2006-06-08 18:09:01 +00:00
Brandon Turner
d372aa6165 If treat a backspace more like a normal char.
svn path=/trunk/; revision=22283
2006-06-08 13:07:05 +00:00
Brandon Turner
3545fe53f7 ReadConsole test to show how backspaces should be handled.
svn path=/trunk/; revision=22282
2006-06-08 12:59:32 +00:00
Alex Ionescu
c872f735ba - [FORMATTING] Add function comment headers.
svn path=/trunk/; revision=22281
2006-06-08 06:31:16 +00:00
Alex Ionescu
028c1dff32 - ObFindObject should return the actual object being inserted, in the insert case (otherwise it always returns the root-directory instead...)
- Add check for optimized case for objects with no name and no security, but not implemented (ObpIncrementUnnamedHandleCount in Gl00my docs), since I need a better translation then babelfish's.
- Fix ObInsertObject to save the Security Descriptor in the Access State structure. Gl00my mentions this isn't absorbed by SeCreateAccessCheck and I just noticed that too.
- We only need to perform security checks for a new object, in ObInsertObject, not if the object already existed.
- Added proper backout+failure code in ObInsertObject if lookup failed, and also look out for mismatch/exists/collision cases (implemented using simple logic).

svn path=/trunk/; revision=22280
2006-06-08 06:17:46 +00:00
Alex Ionescu
2173f9e4aa - Fix ObGetObjectSecurity to use the object type's pool type instead of assuming PagedPool.
- Re-wrote the way ObInsertObject handles security as described in Chapters 6 and 9 of Gl00my (ie: made it use ObGetObjectSecurity and ObAssignObjectSecurity; ironically, these functions already existed/are exported and could've been used since the start instead of duplicating code).
- Fix ObpReferenceCachedSecurityDescriptor only to touch the cached entry if it actually gets a non-NULL descriptor. Also improved it to return the referenced SD, instead of requiring the caller to do it manually.

svn path=/trunk/; revision=22279
2006-06-08 05:41:39 +00:00
Alex Ionescu
f96e25891f - I just noticed that ObInsertObject never got updated to deal with the improvements in ObFindObject and ACCESS_STATE usage, so made the following fixes:
* Create the ACCESS_STATE structure much earlier.
  * Actually send the access state and parse context to ObFindObject, when called from ObInsertObject (this should fix some hidden regressions, since they finally get an access state with access masks now).
  * Remove some deprecated hacks.
  * If inserting the handle failed, cleanup the name and remove it from the directory entry.
  * Fix a memory leak because we weren't deleting the access state.

svn path=/trunk/; revision=22278
2006-06-08 02:56:59 +00:00
Alex Ionescu
0b1df199e3 - Fixup some comments and add Eric Kohl's name to this file, since he had worked on some of the original calls.
- Minor/trivial fixes to some Object Security APIs that were left in the dark:
  * Use PagedPool instead of NonPagedPool memory, and also tag the allocation for debugging.
  * Send needed data to the security procedure instead of NULL/0, including the Generic Mapping, and the actual Security Decriptor.
  * Only un-assign the descriptor in case of failure, not all the time (the whole point of the API is to assign it!)
  * Tell the caller that memory was NOT allocated if we failed to get the security descriptor.

svn path=/trunk/; revision=22277
2006-06-08 02:36:12 +00:00
Alex Ionescu
d11bb11784 - Split ObpCreateHandle into two distinct operations: Incrementing and Creating (like we have Delete/Decrement). No code additions, just splitting.
- Because of the split, we can now directly only do an Increment when duplicating the handle, since we don't need to create a brand new one. Also, when inheriting, we can now properly do an increment as well, instead of simply manually increasing the handle count (because for each inherited handle, access checks and openprocedure should've still been called).

svn path=/trunk/; revision=22276
2006-06-07 23:59:15 +00:00
Hervé Poussineau
47b12f6d7d Some 64 fixes
svn path=/trunk/; revision=22275
2006-06-07 17:33:57 +00:00
Hervé Poussineau
9a844e2247 Replace STDCALL by NTAPI
Some 64 bits fixes

svn path=/trunk/; revision=22274
2006-06-07 17:31:43 +00:00
Hervé Poussineau
7e07a60d3a Allocate buffer for system directory on heap instead of stack
svn path=/trunk/; revision=22273
2006-06-07 17:30:06 +00:00
Hervé Poussineau
9d4e17c705 - Implement DecryptFileA
- Fix some stubs
- Remove dead code

svn path=/trunk/; revision=22272
2006-06-07 17:26:25 +00:00
Hervé Poussineau
f326c55403 - Implement FileEncryptionStatusA
- Fix FileEncryptionStatusW prototype
- Fix EncryptionDisable stub

svn path=/trunk/; revision=22271
2006-06-07 17:24:49 +00:00
Aleksey Bragin
69778e9422 Add missing debug.h/NDEBUG construction, fixes compiling without CU
svn path=/trunk/; revision=22270
2006-06-07 13:08:28 +00:00
Aleksey Bragin
e20a9c6ec4 [AUDIT]
base/system/smss.exe

- Unlock simple and trivial functions
- Unlock unimplemented funcs and non-code things

svn path=/trunk/; revision=22269
2006-06-07 13:06:40 +00:00
Aleksey Bragin
d090a2d035 Fix a typo in Internet Time tab. Spotted by hand.of.omega@gmail.com. Fixes bug 1562
svn path=/trunk/; revision=22268
2006-06-07 10:57:40 +00:00
Alex Ionescu
da2029d89e - Final fixes to ObpCreateHandle that I can think of before splitting Create/Increment (might be lacking some security checks or trace/database functionality, but I haven't found any info on the latter, while the former I will stub, but I don't have the skills to imlement (ObAssignObjectSecurity)):
* Honour ObjectType passed to the function and fail if it doesn't match.
  * Use table-based logic instead of process-based logic for Kernel vs User-mode handles (same change that's been done all over the place, since it requires only one dereference of the process object).
  * Do the GENERIC/MAXIMUM_ALLOWED logic directly inside the ACCESS_STATE structure.
  * This is where we should call the OpenProcedure (acc. to Gl00my), but this kills win32k -- investigate, #ifed out for now.
  * Increase the object type's number of handles as well.
  * Set the handle table entry's ObAttributes correctly; the old code seems to have been messing that up.
  * Honour the AdditionalReferences parameter and do referencing bias if requested.
  * Honour the ReturnedObject parameter to return the object pointer back to the caller.
  * Add OBTRACEing to the function.
  * If we failed because a handle couldn't be allocated, use the distinguied STATUS_INSUFFICIENT_RESOURCES error code instead of the generic STATUS_UNSCUCESFFUL, and backout all the changes we made by calling ObpDecrementHandleCount.

svn path=/trunk/; revision=22267
2006-06-07 06:15:59 +00:00
Alex Ionescu
39bf2b48c2 - Change ObpCreateHandle to the one documented and explained in the Gl00my documentation. It also fits the re-factored split create/increment model better, supports open reasons, and allows to do type-checking and extra object referencing from within one routine.
- Add code to ObOpenObjectByName to detect the OpenReason. Experimental, since I'm not sure when to clear the flag.

svn path=/trunk/; revision=22266
2006-06-07 05:37:04 +00:00
Alex Ionescu
f36b5d1f3b - Add some trace macros to monitor handle/pointer counts for fixing regressions/bugs later.
- Change ObpCreateHandle to use an ACCESS_STATE structure instead of DesiredAccess. This is to help moving to an updated model where creating and incrementing a handle are 2 operations, so that code can be refactored (similarly to how we now have Delete/Decrement as 2 operations).
- Fix functions that were not creating an ACCESS_STATE Structure to create one locally now, or use the one passed as a parameter, if available.

svn path=/trunk/; revision=22265
2006-06-07 05:04:43 +00:00
Alex Ionescu
d2e5bfabe5 - Clone ObpCreateHandle to CmpCreateHandle. I am about to fix its implementation and since Cm* currently abuses Ob I feel it safer to give its own internal function.
- Make ObpCreateHandle internal to Ob as it should be. Change NtCreateProcessTokenEx to use ObOpenObjectByPointer, it has no business manually trying to create a handle. Same goes for ExpLoadInitialProcess.

svn path=/trunk/; revision=22264
2006-06-07 01:47:33 +00:00
James Tabor
2097dade2d Quick patch.
svn path=/trunk/; revision=22263
2006-06-07 01:45:18 +00:00
James Tabor
c537a6efb8 Cleanup coding of IntGdiPolyPolygon and IntGdiPolygon.
svn path=/trunk/; revision=22262
2006-06-07 01:28:44 +00:00
James Tabor
fb9a28f2b5 Implement Get & SetTextCharacterExtra. Does nothing ATM.
svn path=/trunk/; revision=22261
2006-06-07 01:22:47 +00:00
Magnus Olsen
8fcbc86a16 Implement %Fp now we have 25 fails with wine test for string version of *printf api
svn path=/trunk/; revision=22260
2006-06-07 00:04:51 +00:00
Magnus Olsen
00d62df5ab using uppercaps for %p instead lowercaps when it format the string, that make passing one more of wine test
27 fails now

svn path=/trunk/; revision=22259
2006-06-06 23:22:11 +00:00
Johannes Anderwald
f0bb911d21 add Wine's powrprof to build
svn path=/trunk/; revision=22258
2006-06-06 23:14:09 +00:00
Magnus Olsen
9c696e1c9e fixing some bugs for %c in the string version of printf
svn path=/trunk/; revision=22257
2006-06-06 23:01:44 +00:00
Johannes Anderwald
dd221de709 small compilation fix
svn path=/trunk/; revision=22256
2006-06-06 22:54:18 +00:00
Magnus Olsen
26cd015421 fixing two more bugs in *printf strings version.
this make we pass one more of wine test

svn path=/trunk/; revision=22255
2006-06-06 22:43:41 +00:00
Johannes Anderwald
6c2296718e import Wine 0.9.14 powrprof
svn path=/trunk/; revision=22254
2006-06-06 21:54:39 +00:00
Johannes Anderwald
fe1606b3ed prepare wine 0.9.14. powrprof import
svn path=/trunk/; revision=22253
2006-06-06 21:51:40 +00:00
Magnus Olsen
4f6d8e38f4 implement datatype I32 for *printf string version we have a *printf for files as well
now 29 fails in wine test msvcrt printf
 

svn path=/trunk/; revision=22252
2006-06-06 21:42:42 +00:00
Alex Ionescu
a25a59160d - Formatting/name/comment/declaration/calling convention changes.
- Make ObpCreateHandleTable return NTSTATUS instead of VOID, so that it can return STATUS_INSUFFIENT_RESOURCES if the handle table couldn't be allocated.

svn path=/trunk/; revision=22249
2006-06-06 21:02:55 +00:00
Johannes Anderwald
7fff40f524 add missing NtPowerInformation to def
svn path=/trunk/; revision=22248
2006-06-06 21:02:30 +00:00
Magnus Olsen
7894ff05b8 fixing 2 more fualt in msvcrt *printf api
svn path=/trunk/; revision=22247
2006-06-06 12:45:05 +00:00
Alex Ionescu
21baa4ddb6 - Add function documentation header to ObpDeleteHandle, comment and re-format the function, and simplify the code to reduce some code duplication.
- Call the OkayToClose Procedure, if one is present, to allow the object owner a chance to disallow closing this handle. I believe this is required for properly protecting Winsta/Desktop handles (instead of using the regular protection mode, since that one can be bypassed). Thomas, get to work!

svn path=/trunk/; revision=22246
2006-06-06 06:12:09 +00:00
Alex Ionescu
18ed42b8a4 - Documented ObpDeleteNameCheck and ObpSetPermanentObject
- Added function documentation header for ObpDecrementHandleCount and ObpSetHandleAttributes
- Modified ObpDecrementHandleCount to accept Process and GrantedAccess paraemters since the definition for the Close Procedure Callback requires them (and we were currently sending NULL). Also send 0 for process handle count, since we don't yet parse/support per-process handle databases.
- Minor optimization: All objects have an object type, don't actually check if the object has one when decrementing a handle.
- Minor accounting fix: Decrement the total number of handles for the object type whose handle count is being decreased.

svn path=/trunk/; revision=22245
2006-06-06 05:49:28 +00:00
Alex Ionescu
afea80bbe4 - Make sure callers of NtMakeTemporaryObject have DELETE privileges, otherwise they could end up illegaly killing objects (in certain situations)
- Make sure callers of NtMakePermanentObject have SeCreatePermanentPrivilege.
- Implement ObpDeleteNameCheck as described in Gl00my's Ob Documentation (using such documentation falls under US Reverse Engineering Law - Clean rooming).
- Remove duplicated code in ObpDecrementHandleCount and ObpSetPermanentObject and have them use ObpDeleteNameCheck instead.
- Fixes thanks to using this routine:
  * Name-check is now properly done.
  * The keep-alive reference is now deleted when going from permanent->temporary object.
  * The parent directory is now dereferenced and cleared when deleting the object.
  * The security procedure is now called to delete the SD, and the name buffer is freed. 
- Remove ObGetObjectHandleCount, it's not a public function.


svn path=/trunk/; revision=22244
2006-06-06 04:52:08 +00:00
Alex Ionescu
50224a4d55 - Fix bug in IoCreateFile which my (correct) ObReferenceObjectByHandle bugfix patch uncovered. Bootcd/installation works again.
svn path=/trunk/; revision=22243
2006-06-06 02:07:55 +00:00
Hervé Poussineau
b3f2b879b0 Set libraries as project dependencies
svn path=/trunk/; revision=22242
2006-06-05 21:46:14 +00:00
Ged Murphy
485867fdaf silence some rather annoying alignment errors when building with msvc
svn path=/trunk/; revision=22240
2006-06-05 19:00:52 +00:00
Hervé Poussineau
67189b431d Change some DPRINT1 to DPRINT, as they were prior revision 21880.
svn path=/trunk/; revision=22239
2006-06-05 16:41:03 +00:00
Ged Murphy
a10b3f2380 - implement menu hints
- load separate 24bit bitmaps for the icons
- fix image list loading
- lots of other little tweaks and changes

svn path=/trunk/; revision=22238
2006-06-05 16:34:38 +00:00
Hervé Poussineau
2a685bbbfe Read EDID information from screen (if possible) in HwGetVideoChildDescriptor.
Still doesn't do anything useful with it, but that's a start ;)

svn path=/trunk/; revision=22237
2006-06-05 16:31:24 +00:00
Saveliy Tretiakov
56f9a0a548 add missing check for null return
svn path=/trunk/; revision=22236
2006-06-05 15:38:04 +00:00
Saveliy Tretiakov
b1e6b788ce Add Johannes Anderwald to credits.
svn path=/trunk/; revision=22235
2006-06-05 14:39:09 +00:00
Saveliy Tretiakov
c43a77ea7d [AUDIT]
\trunk\reactos\dll\win32\lzexpand (unlocked)
No code.


svn path=/trunk/; revision=22234
2006-06-05 14:35:31 +00:00
Saveliy Tretiakov
8177ebd451 [AUDIT]
\trunk\reactos\base\applications\shutdown (unlocked)
I looked through code and found no signs of reverse engeneering.


svn path=/trunk/; revision=22233
2006-06-05 14:32:28 +00:00
Alex Ionescu
a46ee938fa - Rename ObpCreateTypeObject to ObCreateObjectType and fix definition. The latter is actually exported in NT, and there's no reason not to export it while having our own internally renamed version.
- Added stub exports for ObCloseHandle, ObReferenceSecurityDesciptor, ObSetHandleAttributes, ObSetSecurityObjectByPointer so that someday someone can know what needs to be implemented.
- Removed ObGetObjectPointerCount. It is not exported in newer OSes and was always undocumented.
- Move ObQueryObjecctAuditingByHandle to security.c and optimized it not to attach to the system process, as well as to cache the handle table instead of dereferencing the owner process all the time.

svn path=/trunk/; revision=22232
2006-06-05 06:31:42 +00:00
Alex Ionescu
0aeaea0fb7 - Fixed formatting/commented/annotated ObReferenceObjectByHandle.
- Bug fixes:
  * Remove MAXIMUM_ALLOWED<->GENERIC_ALL conversion, I could find no mention of this in the docs.
  * Remove GENERIC_ACCESS <-> RtlMapGenericMask conversion, I could find no mention of this in the docs, and this mapping is only required when creating handles, not when referencing pointers.
- Optimizations:
  * Restructure code and remove code which was sometimes duplicated up to 5 times.
  * Do not attach/detach from the system process, this isn't required since we're merely getting a kernel pointer from the handle netry.
  * Directly increase the pointer count instead of calling ObReferenceObject, since we already have the object header in a variable.
  * Cache ObpKernelHandleTable/Process->ObjectTable and use those directly instead of always de-referencing the process.

svn path=/trunk/; revision=22231
2006-06-05 05:07:44 +00:00
Alex Ionescu
36f116cdd8 - Simplify ObGetObjectPointerCode and ObfReferenceObject.
- Fix ObReferenceObjectByPointer to actually work like documented instead of doing random incorrect checks. Also add special case for Symbolic Link objects as documented by Caz Yokoyama at Microsoft.

svn path=/trunk/; revision=22230
2006-06-05 00:32:26 +00:00
Alex Ionescu
137f145eb6 - Formatting/comment fixes.
svn path=/trunk/; revision=22229
2006-06-05 00:16:14 +00:00
Alex Ionescu
02d0bb9dbd - Fix ExChangeHandle not to send NULL but the actual context to the callback function (fix by Thomas Weidenmueller <w3seek@reactos.org>)
- Re-implement NtSetInformationObject based on ExChangeHandle and using ObpSetHandleAttributes as a callback.
- Re-implement NtQueryObject's ObjectHandleInformation case to simply return the information that's already in HandleAttributes; there is no point in querying for it all over again.
- Fix NtSetInformationObject not to allow a user-mode call to modify kernel-mdoe handle attributes. Add FIXME for Inheritance permissions check.
- Fix NtQueryObject to properly return OBJ_PERMANENT and OBJ_EXCLUSIVE; these flags are not stored in Handle Attributes.
- Fix NtQueryObject not to attempt referencing the handle if the caller specified AllTypesInformation, because then a handle is not needed.

svn path=/trunk/; revision=22228
2006-06-05 00:04:36 +00:00
Art Yerkes
7c2e312093 Sorry reverted. GreatLord says this is fixed in the wrong place.
svn path=/trunk/; revision=22227
2006-06-04 23:33:27 +00:00
Art Yerkes
6d676e6e95 Fix one wine test. Don't accept an option string that starts with =.
svn path=/trunk/; revision=22226
2006-06-04 23:30:29 +00:00
Eric Kohl
de5ef123ee Fix indentation
svn path=/trunk/; revision=22225
2006-06-04 21:34:02 +00:00
Martin Fuchs
48badfaf22 fix language constant to LANG_BENGALI
svn path=/trunk/; revision=22224
2006-06-04 21:07:01 +00:00
Martin Fuchs
93fafae8ff set eol-style to native
svn path=/trunk/; revision=22223
2006-06-04 20:57:51 +00:00
Hervé Poussineau
da27830782 Fix little spelling mistakes
Set svn:eol-style to native

svn path=/trunk/; revision=22222
2006-06-04 20:31:42 +00:00
Hervé Poussineau
df3e3981c8 Fix DPFLTR_IHVVIDEO_ID constant value
svn path=/trunk/; revision=22221
2006-06-04 20:10:02 +00:00
Martin Fuchs
bf3af9216b Patch of Coviti: change "Reactos" texts to "ReactOS"
svn path=/trunk/; revision=22220
2006-06-04 20:07:56 +00:00
Magnus Olsen
b2c2d86a42 fixing one more of wine msvcrt printf test
svn path=/trunk/; revision=22219
2006-06-04 19:20:20 +00:00
Eric Kohl
0c13f30550 Add PNP_AddID stub and implement CM_Add_ID_ExW.
svn path=/trunk/; revision=22218
2006-06-04 19:12:58 +00:00
Aleksey Bragin
39635013ab Add a little more tests for Mdl testing, only 1 failes in ReactOS currently
svn path=/trunk/; revision=22217
2006-06-04 18:27:48 +00:00
Art Yerkes
eac8defeed Fix four winetests from msvcrt:file.c
- The winetests show that the pointer never moves after calling chsize.
- Using SetEndOfFile is the best way to do this.  I wrote a test case that 
  uses WriteFile as we did before and it did not expand the file past eof.

svn path=/trunk/; revision=22216
2006-06-04 17:24:37 +00:00
Magnus Olsen
36329fccb0 [AUDIT] this code is clean, for it is from DJGPP
svn path=/trunk/; revision=22215
2006-06-04 17:22:12 +00:00
Magnus Olsen
5f286cc809 fixing 24 bugs in *printf string version. we are failing 34 test in wine_test msvcrt printf
svn path=/trunk/; revision=22214
2006-06-04 17:15:47 +00:00
Hervé Poussineau
1988057885 Fix call to IOCTL_SERIAL_PURGE
svn path=/trunk/; revision=22213
2006-06-04 16:32:54 +00:00
Hervé Poussineau
bfa0a5c6e1 Display an error message only if we're not in the "load only boot drivers" phase
svn path=/trunk/; revision=22212
2006-06-04 16:30:27 +00:00
Johannes Anderwald
18fbc81749 revert _strdate modifications
svn path=/trunk/; revision=22211
2006-06-04 14:24:45 +00:00
Aleksey Bragin
c4dded32e8 Fix some warnings
svn path=/trunk/; revision=22210
2006-06-04 14:24:08 +00:00
Aleksey Bragin
5eb09b8ac5 Delete unneeded makefile
svn path=/trunk/; revision=22209
2006-06-04 14:19:48 +00:00
Aleksey Bragin
42f34ff7ba - Add csqtest to build-system
- Add initial Kernel-Mode regression testing framework (thanks to Filip Navara for his PnPTest, thanks to Alexandre Julliard for Wine regression testing framework). Framework consists of: the driver (kmtest.sys) and the loader (kmtloader.exe).

svn path=/trunk/; revision=22208
2006-06-04 14:18:24 +00:00
Hervé Poussineau
b5d6466d79 Convert result struct only if NtUserEnumDisplaySettings returned success
svn path=/trunk/; revision=22207
2006-06-04 14:10:21 +00:00
Hervé Poussineau
c373b8ba66 Don't crash when no working display adapter is present
svn path=/trunk/; revision=22206
2006-06-04 14:09:29 +00:00
Hervé Poussineau
cc12e88784 Convert result struct only if NtUserEnumDisplayDevices returned success
svn path=/trunk/; revision=22205
2006-06-04 13:36:39 +00:00
Johannes Anderwald
36c9262fd0 _strdate should return maximum 8 chars
does not work yet

svn path=/trunk/; revision=22204
2006-06-04 13:20:09 +00:00
Hervé Poussineau
8d494b3a7b IntEnumDisplaySettings returns a BOOL, not a NTSTATUS
svn path=/trunk/; revision=22203
2006-06-04 13:09:25 +00:00
Johannes Anderwald
5c8fb36ad3 make _tfullpath pass all msvcrt_winetest dir tests
svn path=/trunk/; revision=22202
2006-06-04 10:23:28 +00:00
Magnus Olsen
9f044aa4d8 [AUDIT] this code is clear, no signs of revers is found it is only around 3-4 line of one function
svn path=/trunk/; revision=22201
2006-06-04 10:14:45 +00:00
Magnus Olsen
c92839403a do not cuase crash in dhcp when no networkcard is found
svn path=/trunk/; revision=22200
2006-06-03 20:29:26 +00:00
Magnus Olsen
dd6d911c37 sorrry I did break the build
svn path=/trunk/; revision=22198
2006-06-03 17:45:07 +00:00
Magnus Olsen
4eada6f8bd fixing malloc and realloc so it return right value
do not mix the doc over malloc and realloc. Thanks filip
<filip2307> malloc(0) -> valid buffer
<GreatLord> then I revert that change
<filip2307> realloc(<non-null pointer>, 0) -> NULL
<filip2307> realloc(NULL, 0) -> valid buffer

svn path=/trunk/; revision=22197
2006-06-03 17:40:23 +00:00
Magnus Olsen
f895d5ab82 Fix overflow caltions bugs in varus memmory functions, Thanks irc : Elrond (from TNG) for fixing calloc overflow bug.
svn path=/trunk/; revision=22196
2006-06-03 17:18:09 +00:00
Magnus Olsen
3b3b7ad5fd make malloc, calloc and some other function return NULL if size is 0
svn path=/trunk/; revision=22195
2006-06-03 13:22:11 +00:00
Magnus Olsen
19a69b58d8 [AUDIT] this code is clear, no signs of revers is found it is only around 2-3 line of each functions
svn path=/trunk/; revision=22194
2006-06-03 13:20:03 +00:00
Johannes Anderwald
e475b7f360 re-enable lock
svn path=/trunk/; revision=22193
2006-06-03 12:53:45 +00:00
Johannes Anderwald
9bd26230dd fix bug in CmiCreateHiveFreeCellList when a cell has size 0 which leads to inifite loop
fix bug in CmiCreateTempHive where only a pointer was allocated for the first cell but not object itself

svn path=/trunk/; revision=22192
2006-06-03 12:48:09 +00:00
Hervé Poussineau
21d98cbddd Fix some little bugs
svn path=/trunk/; revision=22191
2006-06-03 11:47:04 +00:00
Ged Murphy
97b1971025 [AUDIT]
umpnpmgr
Eric Kohl and Hervé Poussineau have both confirmed their contributions are clean. 
Eric also stated it was developed using information from the Samba project.

svn path=/trunk/; revision=22190
2006-06-03 11:30:13 +00:00
Ged Murphy
e018f1a8e1 [AUDIT]
services.exe
Eric Kohl and Filip Navara have both confirmed their contributions are clean. 
Public documentation, like "Inside Microsoft Windows 2000", and tests were used to implement it

svn path=/trunk/; revision=22189
2006-06-03 11:25:47 +00:00
James Tabor
3f8be13959 Fix compiling. Well for me anyway.
svn path=/trunk/; revision=22188
2006-06-03 07:00:09 +00:00
Aleksey Bragin
5e792878e0 Add forgotten KeAcquire/ReleaseQueuedSpinLock exported funcs to hal.def
svn path=/trunk/; revision=22187
2006-06-02 20:15:54 +00:00
Aleksey Bragin
43ac9dd900 [AUDIT]
halmp.dll
- Most functions are 2 lines
- And other funcs are simply UNIMPLEMENTED

svn path=/trunk/; revision=22186
2006-06-02 20:14:40 +00:00
Johannes Anderwald
404b530e5b return ERROR_INVALID_HANDLE when hKey is invalid
ReactOS passes now 88 of 89 advapi32_winetest registry tests

svn path=/trunk/; revision=22185
2006-06-02 19:02:21 +00:00
Ged Murphy
72af90afdf - remove all reliance on 'extern' data, using abstraction.
- store pointer to currently selected service in info struct so we don't have to keep calling it
- rewrite create.c making it more modular. Still has some missing features.
- lots of bugfixes and small improvements

svn path=/trunk/; revision=22184
2006-06-02 16:47:39 +00:00
Johannes Anderwald
01c01fafcd fix apps depending on INVALID_HANDLE_VALUE
bug report & patch by w3seek

svn path=/trunk/; revision=22179
2006-06-02 14:37:25 +00:00
Johannes Anderwald
449a2042e7 forgot header in last commit
bug report(1455) & patch by w3seek

svn path=/trunk/; revision=22178
2006-06-02 14:08:22 +00:00
Johannes Anderwald
42de812e46 always zero handle on return
ros now passes 87/89 advapi32_winetest registry tests
bug report & patch by w3seek

svn path=/trunk/; revision=22177
2006-06-02 14:05:38 +00:00
Hervé Poussineau
8410eccf06 By default, don't search a driver on removable media.
Do it only when choosing automatic install or selecting "Include removable media" in new hardware wizard

svn path=/trunk/; revision=22175
2006-06-02 13:43:02 +00:00
Hervé Poussineau
0e5ee8026d Implement CM_Add_IDA, CM_Add_IDW, CM_Add_ID_ExA
Add stub for CM_Add_ID_ExW

svn path=/trunk/; revision=22174
2006-06-02 11:17:37 +00:00
Johannes Anderwald
ee29d1d56c disable timer when user wants to set an alternative date -
enables setting time and fixes bug 1398
bug report by Coviti

svn path=/trunk/; revision=22173
2006-06-02 10:13:17 +00:00
Hervé Poussineau
7b66dbbc92 Extract some code from devinst.c to new files: devclass.c (device class functions), driver.c (Driver install/enumeration functions), interface.c (Interface install/enumeration functions)
devinst.c is now 123 Kb instead of 285 Kb.
No code change.

svn path=/trunk/; revision=22172
2006-06-02 09:06:05 +00:00
Hervé Poussineau
5049e0ee8f Change registry settings (related to revision 22169)
I'm not sure if this change is correct or if win32k has to be fixed.

svn path=/trunk/; revision=22170
2006-06-01 22:00:43 +00:00
Hervé Poussineau
9e908fc097 Store real parameters registry key in DEVICEMAP\VIDEO
Use it in win32k when loading and storing settings (SetupDevMode and IntChangeDisplaySettings)

svn path=/trunk/; revision=22169
2006-06-01 21:45:50 +00:00
Christoph von Wittich
e4c46fec65 -fix copy paste error (crypt32->cryptdll)
svn path=/trunk/; revision=22168
2006-06-01 21:38:07 +00:00
Christoph von Wittich
87a4f43e92 -added cryptdll to build
-added cryptdll.dll and usb.inf to bootcd

svn path=/trunk/; revision=22167
2006-06-01 21:36:42 +00:00
Ged Murphy
120aca25f3 First time import from wine-0.9.14
svn path=/trunk/; revision=22166
2006-06-01 21:30:02 +00:00
Magnus Olsen
a4014404b7 redirect __p__tzname to _tzname, I copy the idea from wine, for they are doing same
svn path=/trunk/; revision=22164
2006-06-01 21:26:10 +00:00
Magnus Olsen
9391845416 redirect __p__mbctype to _mbctype, I copy the idea from wine, for they are doing same
svn path=/trunk/; revision=22162
2006-06-01 21:21:16 +00:00
Ged Murphy
21d8349b92 more gcc 4.1 fixes
svn path=/trunk/; revision=22161
2006-06-01 21:18:22 +00:00
Ged Murphy
2c1f99e2c2 fix build for w3seek and his gcc 4.1 crew ;)
svn path=/trunk/; revision=22160
2006-06-01 21:12:55 +00:00
Magnus Olsen
f5276cb1a9 remove stub for _wenviron we already have it implement in crt.a
svn path=/trunk/; revision=22159
2006-06-01 21:05:53 +00:00
Hervé Poussineau
fdd161b84d Don't free the string, as it is not ours
svn path=/trunk/; revision=22158
2006-06-01 19:55:28 +00:00
Ged Murphy
e5a6d9a2cc - Temperarly add the screenshot app to the start menu
- Remove the existance checks for the games as they're part of ROS now.

svn path=/trunk/; revision=22157
2006-06-01 19:34:33 +00:00
Hervé Poussineau
4ac695afb3 Fix calculation of loss percentage
svn path=/trunk/; revision=22156
2006-06-01 18:27:08 +00:00
Magnus Olsen
b1fe06cdfe fix so fread return right value of bytes/chars it reads
make one more wine test pass in msvcrt file

svn path=/trunk/; revision=22155
2006-06-01 18:20:34 +00:00
Christoph von Wittich
20c6fb757f -don't update the time in the DTP control when the user is about to change it
svn path=/trunk/; revision=22154
2006-06-01 18:06:25 +00:00
Magnus Olsen
c82b31ff55 [AUDIT] this code is clear, if u look at djgpp fread u will see it base directly of it same struct and line out.
svn path=/trunk/; revision=22153
2006-06-01 17:42:00 +00:00
Ged Murphy
8e82082d2a add a really dodgy delete button. I'll replace all these buttons in due course.
svn path=/trunk/; revision=22152
2006-06-01 17:29:05 +00:00
Christoph von Wittich
99fea34218 -forgot to add world.bmp
svn path=/trunk/; revision=22151
2006-06-01 17:26:49 +00:00
Hervé Poussineau
4123274547 If the section name contained a dot, sometimes the right section to install was not found
svn path=/trunk/; revision=22150
2006-06-01 17:08:28 +00:00
Ged Murphy
68f041d222 hmm, tortoise is messing me about ;)
svn path=/trunk/; revision=22149
2006-06-01 16:47:11 +00:00
Ged Murphy
520bbfd043 - Start a complete overhaul of servman, using abstraction instead of the old messy way.
- Far to many changes to list, so I'm not even gonna even try ;)

svn path=/trunk/; revision=22148
2006-06-01 16:42:08 +00:00
Christoph von Wittich
130257e46c -forgot to check lpDrawItem->CtlID
svn path=/trunk/; revision=22147
2006-06-01 16:34:53 +00:00
Hervé Poussineau
bf90c28bb1 Amovible devices should be checked when doing automatic install
svn path=/trunk/; revision=22146
2006-06-01 16:25:15 +00:00
Christoph von Wittich
76aa2a4fa3 -added a worldmap picture (source: http://en.wikipedia.org/wiki/Image:Earth_satellite_plane.jpg)
svn path=/trunk/; revision=22145
2006-06-01 16:25:13 +00:00
Magnus Olsen
f1fe768fa8 Sorry I did wrong calc of the position of ungetc did not think of TCHAR size.
svn path=/trunk/; revision=22144
2006-06-01 09:38:11 +00:00
Magnus Olsen
fe3478c70d small rewrite by me, pass wine test and no bugs in ungetc accroing wine test of msvcrt.
svn path=/trunk/; revision=22143
2006-06-01 09:26:32 +00:00
Magnus Olsen
2ac0c98f88 [AUDIT] this code is clear base from djgpp with small modifcation, and bugs as hell. Bugfix will folllow in next commit
svn path=/trunk/; revision=22142
2006-06-01 09:23:00 +00:00
Ged Murphy
53d25231b3 fix possible memory leak
svn path=/trunk/; revision=22136
2006-05-31 22:39:51 +00:00
Christoph von Wittich
5db3f178ac -fixed bug 1513
-some changes to De.rc

svn path=/trunk/; revision=22129
2006-05-31 15:28:43 +00:00
Magnus Olsen
d16253dfa8 recommit french translatoins : patch from bug 1539 : the patch are provide by usurp
svn path=/trunk/; revision=22128
2006-05-31 15:18:02 +00:00
Johannes Anderwald
7325ddd1a4 add french translation
svn path=/trunk/; revision=22127
2006-05-31 15:04:01 +00:00
Hervé Poussineau
b22255488e Fix BSOD in IntPrepareDriver (bug 1321)
svn path=/trunk/; revision=22126
2006-05-31 14:26:56 +00:00
Christoph von Wittich
d91dbeb60b show Cancel button
svn path=/trunk/; revision=22125
2006-05-31 14:26:46 +00:00
Hervé Poussineau
c2f4c7bb97 Remove useless cast
svn path=/trunk/; revision=22124
2006-05-31 12:28:30 +00:00
Magnus Olsen
e6d8bd06e1 start implement WSHGetSockaddrType, it missing error code at return, and handling other struct and sockeradr_in.
Code was done by me and irc : Elrond (from TNG), Arty please check this, Other people test see if it works for u. 


svn path=/trunk/; revision=22123
2006-05-31 07:56:39 +00:00
Ged Murphy
169ddbd12e add screenshot app to bootcd
svn path=/trunk/; revision=22122
2006-05-30 21:12:31 +00:00
Ged Murphy
ec3eb0a18a add a temp screenshot app in case I don't get time to stick it in win32k before 0.3.0 FF.
svn path=/trunk/; revision=22121
2006-05-30 21:11:41 +00:00
Aleksey Bragin
5c0154378a - Unlock *.def file (it doesn't need to be audited)
- Patch by Andrey Korotaev: Fix wgl* function definitions

svn path=/trunk/; revision=22120
2006-05-30 21:01:24 +00:00
Hervé Poussineau
db04a303ee Fix indentation by replacing tabs by spaces. No code change
svn path=/trunk/; revision=22119
2006-05-30 19:40:52 +00:00
Hervé Poussineau
e7b716926f Fix installation from default directory (%SYSTEMROOT%\Inf).
Thanks WaxDragon for reporting.

svn path=/trunk/; revision=22118
2006-05-30 16:05:27 +00:00
Hervé Poussineau
862db2b603 Implement the Browse button, but it is not working well :(
svn path=/trunk/; revision=22117
2006-05-30 13:39:21 +00:00
Hervé Poussineau
c4c3ebf0ef Remember custom paths entered in wizard
svn path=/trunk/; revision=22116
2006-05-30 10:13:47 +00:00
James Tabor
4c8a553e26 Implement NtGdiGetCharABCWidths. Not sure if the math is right. Tested with Lazarus IDE. It is completely based on Filip Navara work on NtGdiGetCharWidth32.
svn path=/trunk/; revision=22115
2006-05-30 06:50:03 +00:00
Ged Murphy
5e2e227e4a change version text in line with new svn version
svn path=/trunk/; revision=22112
2006-05-29 16:20:45 +00:00
Hervé Poussineau
05875a2c6d - Implement SetupCopyOEMInfW
- Correctly sort drivers by rank and by date
- Fix memory corruption if %SYSTEMROOT% was longer than 128 chars

svn path=/trunk/; revision=22109
2006-05-29 13:32:51 +00:00
Hervé Poussineau
d599ad5c78 Fix typo ("SetupDiGetDeviceRegistryProperty" -> "SetupDiInstallDevice" in debug message)
svn path=/trunk/; revision=22108
2006-05-29 13:30:50 +00:00
Magnus Olsen
e1e331508a Hidden bug in our tcp/ip stack, at shutdown api the so can be NULL if that happen, ReactOS will bsod the tcp/ip stack.
Arty can u look if this changes is right if not revert it. This changes was tested in fireforx at http://www.mirc.com/get.html and try d/l mirc. This patch do not make firefox bsod, instead it genrate a long crash log at serial debug. 

svn path=/trunk/; revision=22106
2006-05-29 12:43:01 +00:00
Magnus Olsen
f18d9585c3 revers r22073 and r22075 bugfix for envinmert for it break firefox, not tested in trunk, I tested to revers this change in r22075
svn path=/trunk/; revision=22105
2006-05-29 11:28:55 +00:00
Hervé Poussineau
64664422f4 Do the normal install before custom install actions.
So, we should get the right .inf filename in SP_DRVINFO_DETAIL_DATA.InfFileName, as it is modified if the file is copied to %SYSTEMROOT%/Inf

svn path=/trunk/; revision=22104
2006-05-29 11:09:54 +00:00
Hervé Poussineau
9d5ecbef5d SP_DRVINFO_DETAIL_DATA_W.InfFileName must contain the full file name
Add SetupDiSelectDevice stub

svn path=/trunk/; revision=22103
2006-05-29 11:03:24 +00:00
Hervé Poussineau
427cba82bd Don't stop the search after the first driver found. Next ones may be better
svn path=/trunk/; revision=22102
2006-05-29 09:36:26 +00:00
Hervé Poussineau
e798908f7e Fix some whitespaces
Change swprintf by sprintfW

svn path=/trunk/; revision=22101
2006-05-29 08:55:08 +00:00
Alex Ionescu
a12050c789 - Object Manager Improvements (3 of 3):
* Implement Per-Processor Lookaside List based allocation and de-allocation of the Object Create Information (object attributes capture) and of the object name. I counted over 4000 allocations for only 30 seconds of runtime, so this change greatly reduces pool fragmentation and increases speed. (Implementation is similar to the IRP lookaside list implementation, but inlined for speed).
  * Fix some cases where we weren't freeing captured information properly. This patch should also decrease memory leaks/usage.
  * Comment/formatting fixes.

svn path=/trunk/; revision=22100
2006-05-29 03:32:43 +00:00
Alex Ionescu
453c3d0af0 - Object Manager Fixes (2 of 3):
* Remove superflous debug prints used a long time ago while debugging
  * Set the CreatorUniqueProcess 
  * Align code to 80 chars
  * Do a privilege check of OB_FLAG_PERMANENT is being used, and de-allocate the object if this failed.
  * Send the PreviousMode to ObpAllocateObject so that it can honor it and set the OB_FLAG_KERNEL_MODE flag.
  * Use OBJECT_TYPE accounting to increase TotalNumberOfObjects.
  * Fail ObCreateObject in low-memory situations instead of ignoring it.
  * Respect OBJECT_TYPE.TypeInfo.InvalidAttributes if an attempt is to create an object with invalid attributes is detected.
  * Respect PagedPoolCharge and NonPagedPoolCharge parameters and save them in the OBJECT_CREATE_INFORMATION strucutre.

svn path=/trunk/; revision=22099
2006-05-29 00:18:36 +00:00
Alex Ionescu
0817ba9198 - Object Manager Improvement Patch 1/3:
- Re-implement delayed object deletion by using an optimized Object Reaper based on OBJECT_HEADER->NextToFree. Thanks to Thomas for the algorithm.
  - Refactor object deletion into two operations: Removal and de-allocation (this is needed for failure during allocation, which we don't do yet).
  - BugFixes:
    * After freeing an object header structure, also clear the pointer so we don't attempt it again. 
    * Clear the handle database if there is one
    * Make sure the create info flag is set before deleting captured attributes.
    * Use the allocation pool tag when de-allocating.
    * Use OBJECT_TYPE accounting for tracking the numbef of objects.
    * Remove the object from it's typelist if it has creator information.
    * Call the security procedure to delete the security descriptor.

svn path=/trunk/; revision=22098
2006-05-29 00:05:07 +00:00
James Tabor
8a8feb3718 Fix build. Missing chg for GetOutlineTextMetrics.
svn path=/trunk/; revision=22097
2006-05-28 23:11:56 +00:00
James Tabor
1b601af92f Implement NtGdiGetOutlineTextMetrics and GetOutlineTextMetricsA/W.
GetOutlineTextMetricsA is from Wine. Tested with Mozilla 1.7.12.


svn path=/trunk/; revision=22096
2006-05-28 22:49:52 +00:00
Hervé Poussineau
57ae379676 Better handling of errors/special cases
svn path=/trunk/; revision=22095
2006-05-28 21:43:45 +00:00
Hervé Poussineau
10052376c0 Add newdev.h of the w32api package
svn path=/trunk/; revision=22094
2006-05-28 21:24:28 +00:00
Hervé Poussineau
0dd973573a Fix the build
svn path=/trunk/; revision=22093
2006-05-28 20:33:20 +00:00
Hervé Poussineau
f342328b5c - Display install page when installing the device, instead of search page
- Add "install failed" page

svn path=/trunk/; revision=22092
2006-05-28 20:21:43 +00:00
Hervé Poussineau
2a99309f16 Keep minimal amount of differences with Wine code
Remove useless files

svn path=/trunk/; revision=22091
2006-05-28 19:20:19 +00:00
Alex Ionescu
0dd1e9a2af - Add SecurityQoS and PreviousMode parameters to ObFindObject, so that these can be sent to the parse routine. Also don't send OBJECT_CREATE_INFORMATION to it, but each needed member separately. This avoids having to create a "Fake" structure in some calls which don't actually use capture the information.
- Also remove RemainingPath and stop exposing it to public APIs. Move all ObInsertObject/ObOpen,ReferenceByName hacks to ObFindObject, and add a small one there. We basically trade 4 hacks for 1.

svn path=/trunk/; revision=22090
2006-05-28 19:05:19 +00:00
Hervé Poussineau
19daffae13 Forward more functions to setupapi
svn path=/trunk/; revision=22089
2006-05-28 18:36:57 +00:00
Hervé Poussineau
808a1edb01 [AUDIT]
No code in cfgmgr32. All exported functions are redirected to setupapi

svn path=/trunk/; revision=22088
2006-05-28 18:36:34 +00:00
Hervé Poussineau
3b00b0a2fe Rewrite SetupDiGetActualSectionToInstallExW:
- Do less lookups in section names list
- Take care of possible ProductType and SuiteMask fields in section names 

svn path=/trunk/; revision=22087
2006-05-28 16:44:52 +00:00
Hervé Poussineau
ed2b9d396c Search driver files in the same directory as the .inf file
svn path=/trunk/; revision=22086
2006-05-28 12:35:20 +00:00
Magnus Olsen
1afe898112 copy number to numberf so people can bugfix it/rewrite it
svn path=/trunk/; revision=22085
2006-05-28 05:59:33 +00:00
Magnus Olsen
e73250fdc7 almost last commit for full support of %e %E %f %g %G, left todo is write the numberf function
svn path=/trunk/; revision=22084
2006-05-28 05:17:19 +00:00
Magnus Olsen
d62e9d48be starteted implement float into sprintf, snprintf and alot other printf api. this is more like a start how to implement it. This commit is more market for me. so I do not forget where string functions of *printf api (the main api functions) are. One more thing if u change on sprintf.c same change must be done in swprintf.c or changes into swprintf.c same changes must be done in swprintf.c, other wise the efect of bugfix or change will not be excutected in reactos, for u do not know if program pic the ansi or unicode version.
svn path=/trunk/; revision=22083
2006-05-28 04:58:27 +00:00
Magnus Olsen
b254c4649e making one more wine msvcrt printf test pass
now it is 62 fails instead of 63 fails

svn path=/trunk/; revision=22082
2006-05-28 01:32:32 +00:00
Magnus Olsen
6999a6bc5c fixing two hiden bug in reactos, null termante the string right at end, code tested in vs, but it seam no affact on wine test mscvrt printf test. What hell is the snprintf function call to ??
svn path=/trunk/; revision=22081
2006-05-28 00:51:16 +00:00
Aleksey Bragin
f07bc589f6 Fix an incorrect HalBeginSystemInterrupt() prototype
svn path=/trunk/; revision=22080
2006-05-27 15:38:37 +00:00
Magnus Olsen
d17fff2969 [AUDIT] this file is clean, and well document where it comes from, so no sign of trace was notice in this file
svn path=/trunk/; revision=22079
2006-05-27 15:32:22 +00:00
Ged Murphy
ae25dcdf0f Fix possible memory leak in ProbeAndCaptureUnicodeString
Patch from Thomas Weidenmueller

svn path=/trunk/; revision=22078
2006-05-27 15:06:51 +00:00
Magnus Olsen
dcc771fae1 patch from w3seek : <w3seek> btw here's a (temporary) fix for the missing buttons bug: because it's not entirely thread-safe. filip will take care of it (i think)
svn path=/trunk/; revision=22077
2006-05-27 14:15:04 +00:00
Hervé Poussineau
721ef792f3 Small fixes by w3seek
svn path=/trunk/; revision=22076
2006-05-27 14:04:08 +00:00
Magnus Olsen
ddeed65c6f sorry for breaking the build, I did put in wrong version I should have retested it
svn path=/trunk/; revision=22075
2006-05-27 13:05:24 +00:00
Hervé Poussineau
2708096c09 Fix search of driver on removable media
svn path=/trunk/; revision=22074
2006-05-27 13:03:04 +00:00
Magnus Olsen
979f267d03 Bugfix environ so it does not allown = in environ name not even as frist char
svn path=/trunk/; revision=22073
2006-05-27 13:00:39 +00:00
Magnus Olsen
ce582d62b8 [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=22072
2006-05-27 12:59:10 +00:00
Magnus Olsen
8114bf89bb [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=22071
2006-05-27 12:20:10 +00:00
Magnus Olsen
16e5818815 replacing _swab with wine cvs 2006-05-11 version, this will take care of our problem with overlapped memory problem with swab, and this make also two more wine test pass in wine msvcrt test. 100% pass okay now with wine msvcrt string test.
svn path=/trunk/; revision=22070
2006-05-27 11:37:44 +00:00
Magnus Olsen
a904d9f723 [AUDIT] after looking through code no signs of reverse engineering were found. This swap can not handling overlapped of memory, replace of this will follow in next commit.
svn path=/trunk/; revision=22069
2006-05-27 10:55:35 +00:00
Ged Murphy
2d0587fef2 - fixes the definitions of PostQueuedCompletionStatus() and RaiseException()
- adds the definitions of AddAccessAllowedObjectAce(),
AddAccessDeniedObjectAce() and AddAuditAccessObjectAce() to w32api
- prototypes in line with previous r22066 mods
- fixes bug 1473

svn path=/trunk/; revision=22068
2006-05-27 09:18:10 +00:00
Ged Murphy
5b5ec1b029 [AUDIT]
kernel32 - except.c, iocompl.c
most of the code is from Wine. 
All non wine specific functions are documented on MSDN

svn path=/trunk/; revision=22067
2006-05-27 09:15:33 +00:00
Ged Murphy
02d5b02191 add some function definitions I've had floating about in my headers for a while.
svn path=/trunk/; revision=22066
2006-05-27 09:01:39 +00:00
Ged Murphy
21371fa12d [AUDIT]
cat isn't a windows tool

svn path=/trunk/; revision=22065
2006-05-27 08:33:58 +00:00
Magnus Olsen
6734ad1c89 [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=22064
2006-05-26 22:48:25 +00:00
Magnus Olsen
4ab617ebb9 replace djgpp hell bugs fcvtbuf with project http://www.jbox.dk/sanos/source/lib/fcvt.c.html with small modification's to match ReactOS arch. Floating point to string conversion routines Copyright (C) 2002 Michael Ringgaard. All rights reserved.
Make wine test for fcvt shut up we are failing 64 of wine test in msvrt printf, but we pass all fcvt test. before we did fail 75 test in wine test of msvrt printf test. Before we did fail almost all test case for fcvt in wine test 

svn path=/trunk/; revision=22062
2006-05-26 19:23:34 +00:00
Magnus Olsen
1948e81384 fixing linux build
svn path=/trunk/; revision=22061
2006-05-26 19:10:33 +00:00
Magnus Olsen
2bc0dcfa46 [AUDIT] clean imported/ported from DJGPP, djgpp fcvt is bugs as hell, most case does not working, bug will come later
svn path=/trunk/; revision=22060
2006-05-26 18:51:58 +00:00
Steven Edwards
ff2ef467c0 sync lz32 winetest to 0.9.14
svn path=/trunk/; revision=22059
2006-05-26 18:14:28 +00:00
Steven Edwards
7ed8d3e325 added my own icmp test...this cannot possibly fail
svn path=/trunk/; revision=22058
2006-05-26 18:07:12 +00:00
Ged Murphy
672c492a1d [AUDIT]
sndvol32. 
declared clean by Thomas Weidenmueller
"It's not even functional" said Thomas. ;)

svn path=/trunk/; revision=22057
2006-05-26 18:02:20 +00:00
Steven Edwards
93ee7df2aa sync ntdll tests to 0.9.14
svn path=/trunk/; revision=22056
2006-05-26 17:54:55 +00:00
Steven Edwards
6dcf87a3d9 remove another dud, sync psapi test to 0.9.14
svn path=/trunk/; revision=22055
2006-05-26 17:35:11 +00:00
Steven Edwards
0cdda064ca sync the setupapi test to wine 0.9.14 and remove some files commited to the wrong folder
svn path=/trunk/; revision=22054
2006-05-26 17:30:43 +00:00
Steven Edwards
a8373ada71 update the winetest framework to 0.9.14 and sync some tests. Untested on ReactOS but at least it builds. More tests will come later. Fsck subversion
svn path=/trunk/; revision=22053
2006-05-26 16:20:53 +00:00
Andrew Munger
6e538fae59 Bump trunk to 0.4.0, no turning back now.
svn path=/trunk/; revision=22052
2006-05-26 15:14:13 +00:00
Hervé Poussineau
57404cf7cf Allow the user to specify a custom path for the driver when installing a new device
svn path=/trunk/; revision=22051
2006-05-26 10:16:27 +00:00
Hervé Poussineau
a10d9d8b2b Of course, I forgot to commit the new file in revision 22049...
svn path=/trunk/; revision=22050
2006-05-25 23:34:41 +00:00
Hervé Poussineau
dd411b3aa0 - Move new hardware wizard code to wizard.c
- Disable non working buttons
- Improve navigation between pages
- Prepare room for an install page

svn path=/trunk/; revision=22049
2006-05-25 22:55:13 +00:00
Andrew Munger
8dd3dc564a Fix green, it just needed it's ObOpenObjectByName params shuffled. Hope I did it correctly.
svn path=/trunk/; revision=22048
2006-05-25 21:39:49 +00:00
Alex Ionescu
340a5ed71a - Get rid of the intriguing idea that exported/public APIs should have prototypes with inversed parameters (fix ObOpenObjectByName and all its callers).
- Isolate ObFindObject into CmFindObject for the registry routines. Because of their well-known abuse of Ob, it's better to give them their internal routine so that when/if Ob ever gets fixed to parse properly, it won't force a re-write of Cm's object routines.

svn path=/trunk/; revision=22047
2006-05-25 20:50:58 +00:00
Steven Edwards
facb8f26f0 add directories for the comming wine tests
svn path=/trunk/; revision=22046
2006-05-25 20:24:16 +00:00
Alex Ionescu
c97cf6645c - Remove ROS-internal object macros and use the public ones in obtypes.h instead.
svn path=/trunk/; revision=22045
2006-05-25 20:14:09 +00:00
Alex Ionescu
3a9bdc8cf4 - Convert all Win32k Object callback functions to the correct NT prototypes.
- Get rid of ROS-internal WIN32_CALLOUT_DATA and use the real WIN32_CALLOUTS_FPNS type.
- Get rid of the callout.h hack.

svn path=/trunk/; revision=22044
2006-05-25 20:03:13 +00:00
Aleksey Bragin
b0f84fadf3 [AUDIT]
kernel32.dll
- Remove locks from Wine code, and from simple stub or forward type of functions
- Add file headers to all files (except shared completely with Wine)
- Mark a pair of functions as shared with Wine (to be changed later when adding correct function headers)

svn path=/trunk/; revision=22043
2006-05-25 19:50:19 +00:00
Steven Edwards
8943cd0ea8 started syncing to Wine-0.9.14
svn path=/trunk/; revision=22042
2006-05-25 19:43:52 +00:00
Alex Ionescu
cf356e801d - Rewrite Desktop/WindowsStation parsing to follow the NT Object Model, with some minor hacks to respect ROS's current parsing semantics.
- Thanks to this, the long-lasting ExpDesktopCreate hack is gone, and so is OB_ROS_FIND_METHOD and OB_ROS_CREATE_METHOD in win32k. Next patch can fully remove WIN32_CALLOUT_DATA and use the NT type instead.
- Add official OBJECT_ macros in obtypes.h

svn path=/trunk/; revision=22041
2006-05-25 19:30:09 +00:00
Johannes Anderwald
befa307429 italian explorer translation patch by folle_invasato (bug 1292)
svn path=/trunk/; revision=22040
2006-05-25 16:59:15 +00:00
Magnus Olsen
2d39a0cf6f revert this chnage for filip told me it is complete wrong rtl should never link to mscvrt
svn path=/trunk/; revision=22039
2006-05-25 16:34:02 +00:00
Magnus Olsen
026a7562cb Adding rtl to msvcrt.rbuild for it is only one that contain the *printf stuff.
svn path=/trunk/; revision=22038
2006-05-25 16:28:44 +00:00
Alex Ionescu
93db306b0e - Fix ObReferenceObjectByName and ObOpenObjectByName not to blissfully ignore the AccessState and ParseContext parameters.
- Change ObFindObject's prototype to be able to accomodate these two parameters so that they can be sent to the parse routine.

svn path=/trunk/; revision=22037
2006-05-25 04:17:29 +00:00
Alex Ionescu
1bb8f22330 - Get rid of OB_ROS_PARSE_METHOD and use OB_PARSE_METHOD instead. Hacked the current parse methods to keep using a PWSTR, however they should be modified to use the UNICODE_STRING instead...
svn path=/trunk/; revision=22036
2006-05-25 01:18:31 +00:00
Magnus Olsen
c5b6c41bf9 delete empty folder
svn path=/trunk/; revision=22035
2006-05-25 00:06:36 +00:00
Magnus Olsen
fa4b36b46f Did foregt the translate file we try one more time for bug : 1279 : patch from : user temarez : adding Ukrainian translations
svn path=/trunk/; revision=22034
2006-05-24 23:44:44 +00:00
Magnus Olsen
90d1f854c5 Swedish translation of getfirefox by Andreas Bjerkeholt
svn path=/trunk/; revision=22033
2006-05-24 23:43:26 +00:00
Magnus Olsen
32474f1622 bug : 1279 : patch from : user temarez : adding Ukrainian translations
svn path=/trunk/; revision=22032
2006-05-24 23:35:52 +00:00
Magnus Olsen
c693223778 bug : 1279 : patch from : user temarez : updating Ukrainian translations
svn path=/trunk/; revision=22031
2006-05-24 23:33:36 +00:00
Magnus Olsen
56046e1541 bug : 1279 : patch from : user temarez : adding Ukrainian translations to taskmgr
svn path=/trunk/; revision=22030
2006-05-24 23:25:40 +00:00
Alex Ionescu
766bb1c7a8 - Cleanup profiling and debugging code, add function comment headers and comment the functions in obdir.c
- Remove directory object parsing. Directory objects don't have parse routines. Instead, inline the lookup in ObFindObject (this hasn't been optimized yet, a lot of the code is now setting a = b, c = a, c = b.

svn path=/trunk/; revision=22029
2006-05-24 23:20:50 +00:00
Alex Ionescu
ab775b4798 Forgot to commit this change
svn path=/trunk/; revision=22028
2006-05-24 22:56:46 +00:00
Magnus Olsen
cdacf2d2bd [AUDIT] clean seam be imported/ported/base/inspered from DJGPP source code for everything look simulare to djgpp
svn path=/trunk/; revision=22027
2006-05-24 22:34:14 +00:00
Aleksey Bragin
b2f8544935 [AUDIT]
kernel32.dll
- Unlock files shared with Wine
- Unlock stubs
- Add programmers name into file header

svn path=/trunk/; revision=22026
2006-05-24 22:17:05 +00:00
James Tabor
945ca8d68e svn propset svn:eol-style native foo.py
svn path=/trunk/; revision=22025
2006-05-24 22:07:11 +00:00
Alex Ionescu
901bb3dc40 - Reorganize most of /ob so that functions inside each module actually follow some sort of cohesive model instead of complete randomness.
svn path=/trunk/; revision=22024
2006-05-24 21:44:59 +00:00
Magnus Olsen
5c92d07c04 [AUDIT] clean from wine
svn path=/trunk/; revision=22023
2006-05-24 20:53:10 +00:00
Magnus Olsen
5434555fb4 [AUDIT] clean seam be imported/ported from DJGPP for everything look simulare to djgpp
svn path=/trunk/; revision=22022
2006-05-24 20:50:55 +00:00
Magnus Olsen
70f6440451 clean up the getch.c remove unsused code.
svn path=/trunk/; revision=22021
2006-05-24 20:44:37 +00:00
Magnus Olsen
f9e014a9a7 [AUDIT] after looking through code no signs of reverse engineering were found. some of these api contain also bugs and they are document in the files.
svn path=/trunk/; revision=22020
2006-05-24 20:43:05 +00:00
Magnus Olsen
a63feb98f1 [AUDIT] clean imported/ported from DJGPP
svn path=/trunk/; revision=22019
2006-05-24 20:39:56 +00:00
Alex Ionescu
c9ae7e2e5f [AUDIT] namespc.c: The namespace functions are publically document and wrap around a ROS-internal ObFindObject function which is very different from the way NT handles parsing. The capture of attribute information was based off a public structure, and the function used does not seem to exist in NT (based on a google search). Object Manager Initialization is internal to ROS and performs generic/trivial intialization tasks, which seem to match the description present in Windows Internals as well as Windows NT File System Internals. Finally, Object Type creation is a ROS-internal function based off documentation found in Gl00my's object manager article as well as local debugging done with WinDBG which helped define the purpose of DefaultObject.
svn path=/trunk/; revision=22018
2006-05-24 20:29:02 +00:00
Alex Ionescu
c9a14c3a3b [AUDIT] security.c: All these functions are simply wrappers around the SecurityProcedure callback, which actually does all the work (and is located in /se). Their implementation is trivial and could not have been done another way (it may likely differ from the 100% NT implementation (which I am not aware of), but the current implementation seems obvious to me and I don't see anything missing.
svn path=/trunk/; revision=22017
2006-05-24 20:16:09 +00:00
Alex Ionescu
68121865ba - Wipe out PROS_OBJECT_HEADER and use OBJECT_HEADER since we are now compatible.
svn path=/trunk/; revision=22016
2006-05-24 20:13:47 +00:00
Alex Ionescu
3ccc97c6c4 - Rewrote the Object Directory implementation to follow the NT Structures in the NDK. This got rid of the last remaining OBJECT_HEADER difference and switched over to OBJECT_DIRECTORY.
- The low-level implementation is based on information from "Undocumented Windows 2000 Internals: A Programmer's Cookbook", with some modifications done by myself to match the updated 2003 structures. This implementation was hackishly stuck into our messed up high-level object lookup implementation, which now has 4 more band-aids. Still needs a lot of work done to the upper echelons of object lookup, but at least this gets rid of ROS-internal stuff.

svn path=/trunk/; revision=22015
2006-05-24 20:06:13 +00:00
Magnus Olsen
238be0b59c Do not create crash/bsod log when u logoff or shutdown of ReactOS.
svn path=/trunk/; revision=22014
2006-05-24 19:34:53 +00:00
Magnus Olsen
fc40c38034 sorry forget cleanup after me ;)
svn path=/trunk/; revision=22013
2006-05-24 19:03:01 +00:00
Magnus Olsen
68f59759a3 import cprintf from wine cvs 2006-05-23 as bug 1529 suggested, I was looking for this bug before it was reported.
it make most of msvcrt string test work, only one fail left to fix.

svn path=/trunk/; revision=22012
2006-05-24 18:56:29 +00:00
Magnus Olsen
983091eda8 [AUDIT] clean from DJGPP
svn path=/trunk/; revision=22011
2006-05-24 18:48:00 +00:00
Magnus Olsen
050efa1da2 Fixing two fail from wine gdi32 test, When HDC is NULL to NtGdiCreateDIBitmap we need create a hdc and delete the hdc when we are done.
svn path=/trunk/; revision=22010
2006-05-24 16:54:51 +00:00
Magnus Olsen
8954d82145 revert my change from bootvid.c now, after w3seek patch it works again for bootcd
svn path=/trunk/; revision=22009
2006-05-24 15:07:28 +00:00
Magnus Olsen
80770b053a Patch from w3seek: patch to fix a couple of argument probing bugs in NtQuerySymbolicLinkObject and NtCreateSymbolicLinkObject:
svn path=/trunk/; revision=22008
2006-05-24 14:41:53 +00:00
Johannes Anderwald
fbb73a8f5e fix a few typos and display issuses in german resource file
patch by ThePhysicist (bug 1518) and a few additional fixes by me

svn path=/trunk/; revision=22007
2006-05-24 12:17:49 +00:00
Magnus Olsen
bf04d0ad97 Fix the regress of livecd, it works now again, some how the palette color are being bigger that 256 color and then the bootvid.sys crash
svn path=/trunk/; revision=22006
2006-05-24 06:35:59 +00:00
Alex Ionescu
7619400890 [AUDIT] ntobj.c : The Temporary/Permanent object routines are 5-line generic wrappers which call an internal kernel function, which in itself is only a wrapper to set an internal, documented flag. The implementation is therefore trivial. NtQueryObject is only 10% complete.
wait.c: These are simple wrapper routines around the KeWaitForXxx functions which reference the objects and get their pointers, just like any other Nt* function does. Some parts are non-trivial, such as: various failures: these can be tested with the wait regression test however; The usage of THREAD_WAIT_OBJECTS is documented in the DDK; The failure for WaitAll with duplicated objects is documented on MSDN; The check for SYNCHRONIZE object is documented on MSDN. 

svn path=/trunk/; revision=22005
2006-05-24 04:43:50 +00:00
Alex Ionescu
0b30ce7700 [AUDIT] symlink.c : The symbolic link implementation was generic, used different structures from NT (which meant some large NT features of symlinks were unimplemented) and had several bugs which gave different results from NT, so it was most certainly cleanly developed. The most recent update added the NT structure (which is documented) but did not add any functionality, except for fixing bugs which were revealed through a test app called SymlLinkTest.
dirobj.c: The directory object implementation is also generic and currently uses different structures from NT. Object lookup/parsing is entirely different and has nothing in common with NT. The actual Nt* APIs which expose the interface are ultra-generic and trivial.

svn path=/trunk/; revision=22004
2006-05-24 04:33:18 +00:00
Alex Ionescu
5a2f6e7faa - Move all object directory stuff in dirobj.c and implement a simple profiler to measure the time spent in those functions until the desktop appears. Enable with #define OBP_PROFILE.
svn path=/trunk/; revision=22003
2006-05-24 04:28:57 +00:00
Alex Ionescu
2143c80c39 This should fix the build.
svn path=/trunk/; revision=22002
2006-05-24 04:19:04 +00:00
Alex Ionescu
ee3fddd2d7 - Thomas Weidenmueller (w3seek@reactos.org)
- Use SEH in Atom functions
  - Only use result length if the caller gave one, in NtQuerySecurityObject.

svn path=/trunk/; revision=22001
2006-05-24 02:48:51 +00:00
Alex Ionescu
8a80070849 - Fix Symbolic Link implementation:
- Use OBJECT_SYMBOLIC_LINK structure as used by Windows NT (and added the structure to the NDK)
  - Changed code to use the new names in the structure
  - Only free the symlink's name if it has one, to avoid a bugcheck.
  - Optimize parsing: if the new name is actually shorter then the target name, then don't allocate from pool, but re-use the buffer. This improves symlink parsing speed. Also fix a bug which made it depend on the incorrect implementation of NtCreateSymbolicLinkObject
  - Re-align the link target maximum length in NtCreateSymbolicLinkObject if it's odd, and fail if the length is odd, smaller then the maximum, or if the maximum is zero.
  - Originally allocate the symlink name in Paged Pool.
  - Initialize new members of the structure.
  - Fail in no-memory case, instead of continuing.
  - Properly probe the LinkTarget in NtQuerySymbolicLinkObject.
  - Properly handle which length is chosen for the copy and for the return in NtQuerySymbolicObject.
  - Lock the symbolic link object type while querying it. Eventually many more parts of Ob need to do this kind of locking.
  - SymLinkTest now only gives 2 failures.
- Fix some NDK bugs

svn path=/trunk/; revision=22000
2006-05-24 02:45:06 +00:00
Alex Ionescu
4b6154cfbf - SymTest: The Symbolic Link kernel implementation tester. Tests for really wacky symlink API properties. 8 failures on ROS.
svn path=/trunk/; revision=21999
2006-05-24 02:01:32 +00:00
Alex Ionescu
a98a1b99c4 - Cleanup the formatting, code and function headers of most of the Object Manager interfaces.
svn path=/trunk/; revision=21998
2006-05-23 21:42:28 +00:00
Aleksey Bragin
632f9f99ec - Fix build (forgot to add file) to msvcrt test
svn path=/trunk/; revision=21997
2006-05-23 21:32:04 +00:00
Art Yerkes
05fd384ab4 Recompute broadcast address upon ip change (spotted by elrond)
svn path=/trunk/; revision=21996
2006-05-23 21:24:01 +00:00
Magnus Olsen
b3edee282e Fixing strechblt dib16 and dib32 can be compile with -O2 (gcc) reporeted by jimtalor, it did not work on real hardware with -O2 when it was run with winqauke with some setting see bug 1520
svn path=/trunk/; revision=21995
2006-05-23 21:18:08 +00:00
Aleksey Bragin
b6a61aafb6 Update msvcrt_winetest to Wine-23052006
svn path=/trunk/; revision=21994
2006-05-23 20:16:57 +00:00
Aleksey Bragin
69713a9bc1 Update ntdll_winetest to Wine-23052006
svn path=/trunk/; revision=21992
2006-05-23 20:05:14 +00:00
Aleksey Bragin
f2725683f8 - Update user32_winetest to Wine-23052006. Update includes changes in the following subtests: edit, winstation. Evereything else is just compilation
svn path=/trunk/; revision=21991
2006-05-23 19:55:45 +00:00
Johannes Anderwald
9eda943d76 prevent ncpa from crashing when no component is selected. patch & bug report by ThePhysicist (bug 1519)
svn path=/trunk/; revision=21990
2006-05-23 19:27:27 +00:00
Aleksey Bragin
da398bc3c0 - Thomas Weidenmuller: Fix calculating the string offset.
- Fixes bug 1475: Taskmanager shows mumbojumbo in the process name column

svn path=/trunk/; revision=21989
2006-05-23 16:52:51 +00:00
Magnus Olsen
de8db05f3a [AUDIT] after looking through code no signs of reverse engineering were found. It look as the Arthur was inspired of DJGPP ansi functions. for it is alot simulare
svn path=/trunk/; revision=21987
2006-05-23 04:53:31 +00:00
James Tabor
eb5473a846 Add TT_PRIM_CSPLINE, from wine.
svn path=/trunk/; revision=21986
2006-05-23 02:14:46 +00:00
Aleksey Bragin
13df4844a7 - Update text-outputting routines in user32.dll to Wine's trunk (22052006). May fix some layout and text-placement issues.
- "user32_winetest.exe text" gives only 1 failure now
- Silence debug messages in win32k.sys

svn path=/trunk/; revision=21985
2006-05-22 22:05:40 +00:00
Johannes Anderwald
5d2d31ac0c increase mouse thread priority - patch by w3seek
should fix 1427

svn path=/trunk/; revision=21984
2006-05-22 21:57:38 +00:00
Johannes Anderwald
caac5ed1fc french translation by Usurp from bug 1492 :-)
svn path=/trunk/; revision=21983
2006-05-22 21:40:29 +00:00
Johannes Anderwald
60f50769ff french translation by Usurp from bug 1416
svn path=/trunk/; revision=21982
2006-05-22 21:33:22 +00:00
Aleksey Bragin
96f2c584d0 - Update TEXT_TabbedTextOut from Wine's trunk. Reduces number of failures in "user32_winetest.exe text" from 64 to 4.
svn path=/trunk/; revision=21981
2006-05-22 20:12:29 +00:00
Aleksey Bragin
612e2ff4df - Implement GetTabbedTextExtentA(), based on implementation from Wine (trunk). Reduces number of failures in "user32_winetest.exe text" from 84 to 64.
svn path=/trunk/; revision=21978
2006-05-22 19:07:59 +00:00
Aleksey Bragin
d778de3578 - Fix compiling of win32k without compilation units
svn path=/trunk/; revision=21977
2006-05-22 14:46:31 +00:00
Magnus Olsen
a28ea653f5 replace follow _wtol, _wtoi, _i64tow, _ui64tow, _ltow, _ultow, _ui64toa, _itow, _ltow, ultow with wine from wine cvs 2006-05-21
for we did fail on wine test on all these. In windows 2000 wine test ntdll string did not fail. 

svn path=/trunk/; revision=21976
2006-05-21 22:41:35 +00:00
Johannes Anderwald
d4aaeed1ff dont allow '=' in the environmental name in the set command
svn path=/trunk/; revision=21975
2006-05-21 21:31:20 +00:00
Magnus Olsen
06847e4576 [AUDIT] clean from DJGPP
svn path=/trunk/; revision=21974
2006-05-21 20:49:53 +00:00
Magnus Olsen
f340ab0a45 Fixing a i64ltoa bug, replacing both version with wine, copy the code from wine cvs 2005-05-21, bug report by wine test
svn path=/trunk/; revision=21973
2006-05-21 20:26:51 +00:00
Aleksey Bragin
c94db29865 - Fix GDIOBJ_* prototypes so win32k compiles with GDI_DEBUG compile option
svn path=/trunk/; revision=21972
2006-05-21 20:22:54 +00:00
Johannes Anderwald
e68cea0212 msvc compiling fix
svn path=/trunk/; revision=21971
2006-05-21 20:20:07 +00:00
Magnus Olsen
704b3a0362 [AUDIT] clean from DJGPP
svn path=/trunk/; revision=21970
2006-05-21 20:15:15 +00:00
Magnus Olsen
231155791c [AUDIT] clean this file are clean after I look at them
svn path=/trunk/; revision=21969
2006-05-21 20:11:27 +00:00
Eric Kohl
c7c5cd045d Add FSRTL_COMMON_FCB_HEADER to the beginning of the FCB.
svn path=/trunk/; revision=21968
2006-05-21 19:38:35 +00:00
Magnus Olsen
eebf35125d Fixing a ultoa bug, replacing both version with wine, copy the code from wine 0.9.0; I did add a NULL check for the string so it can not bsod. wine ntdll string only report one error, left to fix, I run wine test on windows 2000 and reactos to compare the result. Fireball report wine_ntdll_test string crach on windows xp, but it does not crash in windows 2000.
svn path=/trunk/; revision=21967
2006-05-21 18:54:21 +00:00
Magnus Olsen
80022e3b3d [AUDIT] clean from DJGPP
svn path=/trunk/; revision=21965
2006-05-21 15:41:50 +00:00
Magnus Olsen
c79c53d3b3 reporting djgpp fgets to fgetws, with wine test the old version did fail on reading string, it did to far.
now we do not have a any bug in fgetws, acoding wine test, I ran the test in win2k and reactos to be 100% sure it was not wine test fualt.

svn path=/trunk/; revision=21964
2006-05-21 13:38:45 +00:00
Magnus Olsen
2ef8f0fea0 [AUDIT] clean it is base on DJGPP fgets
svn path=/trunk/; revision=21963
2006-05-21 13:31:38 +00:00
Eric Kohl
99e8a7e6cb The MSFS_PIPE struct is actually an FCB (File Control Block). Rename it accordingly and store pointers to it in FileObject->FsContext.
svn path=/trunk/; revision=21962
2006-05-21 13:19:10 +00:00
Magnus Olsen
b3460406ae [AUDIT] after looking through code no signs of reverse engineering were found. Only code exists is to dllmain api rest is warper to crt.a
svn path=/trunk/; revision=21961
2006-05-21 11:49:34 +00:00
Magnus Olsen
0e3e95794f patch from w3seek : optimize FindWindowEx and fix passing a NULL window class
svn path=/trunk/; revision=21960
2006-05-21 09:21:38 +00:00
Magnus Olsen
2d54ed6453 revert r21958
svn path=/trunk/; revision=21959
2006-05-21 08:41:16 +00:00
Magnus Olsen
6a818caf88 patch from w3seek : Another fix for NtUserFindWindowEx
svn path=/trunk/; revision=21958
2006-05-21 08:39:42 +00:00
Magnus Olsen
7ece217a3e patch from w3seek : Another fix for NtUserFindWindowEx
svn path=/trunk/; revision=21957
2006-05-21 06:17:25 +00:00
Magnus Olsen
3e649bb0dc Bug 1507 patch from w3seek : This patch fixes more issues with NtUserFindWindowEx. (one example of bugs have been fixed with this patch is the tray icon)
svn path=/trunk/; revision=21956
2006-05-20 22:09:42 +00:00
Aleksey Bragin
6e418a0fd9 - Slightly update heap-related routines to wine's routines. Doesn't fix regression tests really, but just in case.
svn path=/trunk/; revision=21955
2006-05-20 20:42:26 +00:00
Aleksey Bragin
0159a46c3c [AUDIT]
- Based on Wine -> clean

svn path=/trunk/; revision=21954
2006-05-20 20:40:16 +00:00
Aleksey Bragin
001c217f07 - Update kernel32_winetest to the Wine's CVS head
svn path=/trunk/; revision=21953
2006-05-20 18:29:16 +00:00
Aleksey Bragin
591a910611 - Add programmers list for this file
- Replace silent failures with proper STUB

svn path=/trunk/; revision=21952
2006-05-20 17:30:42 +00:00
Aleksey Bragin
9c87128331 [AUDIT]
kernel32.dll

- Unlock files shared with Wine
- Unlock really obvious implementations
- Unlock files which are mostly stubs
- Fix programmer's name in one file

svn path=/trunk/; revision=21951
2006-05-20 17:21:53 +00:00
Aleksey Bragin
d7f687486e - Update ActiveContext functions in kernel32.dll, implementing them as "smart stubs". Implementation taken from Wine's kernel32 (helps Adobe Photoshop 7.0 according to Wine)
svn path=/trunk/; revision=21949
2006-05-20 14:31:38 +00:00
Aleksey Bragin
75b9927111 [AUDIT]
kernel32.dll

- No reason for stubs to be locked
- actctx.c is nothing more than A->W wrappers, thus clean too

svn path=/trunk/; revision=21948
2006-05-20 14:29:21 +00:00
Aleksey Bragin
2c24488614 [AUDIT]
subsystems
- Unlock headers, non-source code files, art (unique to reactos)
- Unlock one-function file (pretty obvious) and add a missing programmer's name to it
- Unlock files containing stubs

svn path=/trunk/; revision=21947
2006-05-20 10:49:56 +00:00
Aleksey Bragin
ac09ff8aba [AUDIT]
- Unlock source code files containing only stubs
- Add missing programmers name to the file headers
- SVN properties maintenance

svn path=/trunk/; revision=21946
2006-05-20 10:39:53 +00:00
Maarten Bosma
6012daa521 Only stubs
svn path=/trunk/; revision=21945
2006-05-20 08:59:59 +00:00
Maarten Bosma
bcd4428cb5 [AUDIT]
Does just contain one stub.

svn path=/trunk/; revision=21944
2006-05-20 08:50:42 +00:00
Magnus Olsen
7017eaae95 patch from w3seek make the kdbg build again
svn path=/trunk/; revision=21943
2006-05-19 12:31:19 +00:00
Alex Ionescu
907b271b84 - Use the proper HANDLE_TABLE and HANDLE_TABLE_ENTRY structures.
svn path=/trunk/; revision=21942
2006-05-19 00:32:50 +00:00
Magnus Olsen
13cc9dd150 forget this file
svn path=/trunk/; revision=21941
2006-05-19 00:14:05 +00:00
Magnus Olsen
aa195e970d fix the build after me
svn path=/trunk/; revision=21940
2006-05-19 00:13:28 +00:00
Magnus Olsen
83940cb028 [AUDIT] The code is from Sun that is free to use. checked in djgpp, djgpp contain same code.
svn path=/trunk/; revision=21939
2006-05-19 00:12:11 +00:00
Magnus Olsen
95b3109a94 did delete wrong file sorry
svn path=/trunk/; revision=21938
2006-05-18 23:53:42 +00:00
Magnus Olsen
0dc484382c Fix the calc bug, modf is compelete wrong, replace it with DJGPP C version of modf with small changes from me. so it compile in ReactOS,
Follow bugs did I notice in our modf 
1. bug did not clear the st reg before it was use
2. bug did not load the reg right
3. bug did not handler all case 



svn path=/trunk/; revision=21937
2006-05-18 23:42:50 +00:00
Magnus Olsen
c28f1204ff [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=21936
2006-05-18 23:03:27 +00:00
Alex Ionescu
19e2ef808c - Get rid of ROS_EPROCESS and all the ugly type-casting that was being done, now that the last two hacks make us able to compatibly use EPROCESS.
svn path=/trunk/; revision=21935
2006-05-18 20:32:17 +00:00
Alex Ionescu
7b3c313c1c - Use EPROCESS 's AddressCreationLock instead of the MADDRESS_SPACE Lock.
- Overlay MADDRES_SPACE over MM_AVL_NODE. Even though our structures are currently incompatible, they represent the same thing (The EPROCESS's Address space).

svn path=/trunk/; revision=21934
2006-05-18 20:10:44 +00:00
Alex Ionescu
93a0bb6787 - Use the Spare0 array, present in EPROCESS instead of ReactOS-specific members for Process Locking (temporary fix until pushlocks are used).
svn path=/trunk/; revision=21933
2006-05-18 18:55:38 +00:00
Aleksey Bragin
bf6dcf5f85 [AUDIT]
ntoskrnl/ex/error.c

- Alex Ionescu states the implementations are clean: I just re-orgznied the *harderror functions. The SEH filter is a trivial/well-known return of a single value, and __purecall is a stub.

svn path=/trunk/; revision=21932
2006-05-18 12:25:05 +00:00
Aleksey Bragin
659e7c97df [AUDIT]
ntoskrnl/dbgk
(according to functions_list.txt in audited branch comments by Alex Ionescu, and comments by me)
- debug.c: Clean/trivial implementation based on the object's structure. I merely create it and then initailize all its members. Other functions are stubs
- dbgkutil.c: Code is #if0'ed, and doesn't belong to Alex Ionescu. Author is unknown.
- Unified / prettified formatting, STDCALL -> NTAPI

svn path=/trunk/; revision=21931
2006-05-18 12:16:53 +00:00
Aleksey Bragin
8a2eb6433b [AUDIT]
ntoskrnl/ex
(according to functions_list.txt in audited branch comments by Alex Ionescu, and uuid.c comments by me)
- dbgctrl.c: Modified the function slightly for compatibility with some keys, still has nothing to do with Windows'
- lookas.c: File is clean. I merely rewrote existing versions based on a GPLed IBM driver I found on google, OSR documentation and some DDK sample code. The implementation is trivial and only calls caller-defined functions which are the ones doing the work.
- uuid.c: Added programmers, unified formatting, STDCALL->NTAPI change. Code doesn't look suspicious, plus stubbed functions
- win32k.c: Alex Ionescu only changed the functions to call Win32K instead of having the code in ntoskrnl. It was a cut/paste job. Aleksey Bragin: The code looks very trivial and straightforward, certainly it's written based on clean sources of information
- zone.c: Based on David Welch's code, which Alex Ionescu merely cleaned up, using clean development. He's not even sure if the Zone functions are still in Windows.



svn path=/trunk/; revision=21930
2006-05-18 12:06:28 +00:00
Ged Murphy
0f5345d5be - change the resource numbers to match Windows
- up the icon quality a bit.

svn path=/trunk/; revision=21929
2006-05-17 21:45:49 +00:00
Ged Murphy
857f3df0d7 - resize listbox. Fixes bug 1496
- change icon resource number to match Windows

svn path=/trunk/; revision=21928
2006-05-17 21:40:13 +00:00
Aleksey Bragin
66d38f82e7 [AUDIT]
ntoskrnl/inbv

- Functions are written mostly by dwelch and chorn, are exported and don't look like containing dirty code. They have some comments too. Filip confirmes this file is clean.
- Unified formatting throughout the file

svn path=/trunk/; revision=21927
2006-05-17 20:34:34 +00:00
Maarten Bosma
928dd508a1 [AUDIT]
Filip Navara: Contains only two functions, one of them is unimplemented Windows function and the other one is ROS specific and doesn't even follow the NT design.

svn path=/trunk/; revision=21926
2006-05-17 20:17:23 +00:00
Aleksey Bragin
ae39521313 [AUDIT]
ntoskrnl/ex/init.c
- Alex Ionescu: File is clean. Most of these are ReactOS-internal and specific to our booting cycle, which is entirely incompatible with Windows and broken beyond explanation.

svn path=/trunk/; revision=21924
2006-05-17 19:58:11 +00:00
Aleksey Bragin
2068860d71 [AUDIT]
ntoskrnl/mm
- Alex Ionescu: clean, they use ROS 'objects'. NT doesn't have rmaps or page_ops

svn path=/trunk/; revision=21923
2006-05-17 19:53:35 +00:00
Aleksey Bragin
1e9bb0240f [AUDIT]
ntoskrnl/mm/mpw.c
- Filip Navara: mpw.c is surely clean. it's totally wrong and besides it was described in The Book (Inside Windows NT)

svn path=/trunk/; revision=21922
2006-05-17 19:43:53 +00:00
Filip Navara
06f25f4b30 Attribute list support for NTFS and some memory leak fixes.
svn path=/trunk/; revision=21920
2006-05-17 14:40:14 +00:00
Mindflyer
8dd9c14606 Whoops, r21918 meant to go in trunk too.
svn path=/trunk/; revision=21919
2006-05-17 13:23:48 +00:00
Hervé Poussineau
4c27d61b0c Replace BOOL by BOOLEAN and STDCALL by NTAPI
(Use native types instead of Win32 ones)

svn path=/trunk/; revision=21917
2006-05-16 23:09:41 +00:00
Alex Ionescu
8a1609a63e - Check the Image Config Data in MmCreatePeb for address abusing (bug #1487).
- Speed-up the ElfpIsPowerOf2 function (bug #1464).

svn path=/trunk/; revision=21916
2006-05-16 15:04:50 +00:00
Ged Murphy
d83ca30a98 french translation by usurp
svn path=/trunk/; revision=21915
2006-05-15 22:56:07 +00:00
Christoph von Wittich
37402e2341 -fix build
svn path=/trunk/; revision=21913
2006-05-15 18:56:42 +00:00
Ged Murphy
b37892fad9 - size listbox correctly
- fixes bug 1490

svn path=/trunk/; revision=21912
2006-05-15 18:35:50 +00:00
Klemens Friedl
c6bee1d8a5 Add icons for several filetypes
registry keys written by Daniel "EmuandCo" Reimer <reimer [dot] daniel [at] freenet [dot] de>

svn path=/trunk/; revision=21910
2006-05-15 17:28:50 +00:00
Hervé Poussineau
57fca2edb7 Rename IOCTL_INTERNAL_USB_GET_ROOT_USB_DEVICE to IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO, and send it with major code IRP_MJ_INTERNAL_DEVICE_CONTROL
svn path=/trunk/; revision=21909
2006-05-15 16:38:49 +00:00
Hervé Poussineau
1d77bcb312 Correctly support USB hubs
svn path=/trunk/; revision=21908
2006-05-15 16:05:02 +00:00
Christoph von Wittich
f53dbb4e60 added usb.inf for generic usb-hubs
svn path=/trunk/; revision=21907
2006-05-15 15:47:56 +00:00
Hervé Poussineau
36ed39b2b9 Initialize the status block before sending the IRP
svn path=/trunk/; revision=21906
2006-05-15 10:55:51 +00:00
Hervé Poussineau
ed01b8a86a Revert 21903
1) ReactOS is extremely long to parse .inf files (no .pnf files as on Windows). Remember we want to keep ReactOS fast (when running) and small (on disk).
2) nVidia already provides a .inf file for its devices. You will still need it for other devices, so why not also use it for PCI System Management and Memory Controller?
3) Windows doesn't recognize natively the nVidia chipset, even with lastest updates.
4) I only care about devices emulated by VMware/Qemu/Bochs/Virtual PC, ie virtual machines.
5) If you add PnP IDs of some nVidia devices, someone else will want to add PnP IDs for other chipsets (Via, C3, Intel, ...)
6) While you are at it, why don't you add 40Mb to recognize the same amount of devices as Windows XP?

svn path=/trunk/; revision=21905
2006-05-15 08:43:33 +00:00
Magnus Olsen
78d1377a7b bug 1486 : patch from w3seek USER32: Convert WM_MDICREATE messages from/to unicode
svn path=/trunk/; revision=21904
2006-05-14 21:26:24 +00:00
Christoph von Wittich
c09f0eb9c7 -added NVIDIA nForce2 Memory Controller
-added NVIDIA nForce2 PCI System Management

svn path=/trunk/; revision=21903
2006-05-14 20:05:08 +00:00
Hervé Poussineau
cb4bb8b659 No need to link to ole32/oleaut32
svn path=/trunk/; revision=21902
2006-05-14 14:51:08 +00:00
Aleksey Bragin
ae9f01ed84 - Revert dependencies part of r21866 since it breaks compiling on MSVC 2005 (it complains to missing libs which we don't yet compile - like ntdll.lib, gdi32.lib, user32.lib and so on)
svn path=/trunk/; revision=21901
2006-05-13 22:11:25 +00:00
Art Yerkes
c37d7e43f9 Fix duplicate default routes when IP address is set manually.
svn path=/trunk/; revision=21900
2006-05-13 07:11:22 +00:00
Art Yerkes
c68622792c - Live update of static IP address from ctl panel.
- Fix removing adapter route on IP address delete.

svn path=/trunk/; revision=21899
2006-05-13 06:41:23 +00:00
Christoph von Wittich
a9680a89a6 display workgroup/domain name
svn path=/trunk/; revision=21898
2006-05-12 20:05:19 +00:00
Aleksey Bragin
34e230693a - Bug 1476: Include rosldr.h in halxbox.h
svn path=/trunk/; revision=21897
2006-05-12 19:51:50 +00:00
Hervé Poussineau
289346554c Misc fixes:
- Add System Bus Extender service group (used by pciide driver)
- Fix tags for Boot Bus Extender services
- Remove deprecated entries for ide.sys
- Let not the hardware wizard display the "Unknown device" (hack)

svn path=/trunk/; revision=21896
2006-05-12 07:36:12 +00:00
Maarten Bosma
88195fb7d6 [AUDIT]
Unlock the Cache Manager
- It is not even compatible to windows
- Alex assures his code is clean 

svn path=/trunk/; revision=21894
2006-05-11 22:40:37 +00:00
Hervé Poussineau
a1862b3701 Fix converting the typelib file name to unicode by using the correct buffer size.
svn path=/trunk/; revision=21893
2006-05-11 22:23:20 +00:00
Andrew Munger
3ed19e8287 Quiesce the datalink debugging output.
svn path=/trunk/; revision=21892
2006-05-11 21:52:28 +00:00
Aleksey Bragin
2e6dfbc67d - Thomas Weidenmueller: Fix build by fixing __readcr3 / __readcr4 implementations.
svn path=/trunk/; revision=21891
2006-05-11 21:01:29 +00:00
Andrew Munger
c02800c901 Restore original compiler settings. Changed accidentally by the NDK patch.
svn path=/trunk/; revision=21890
2006-05-11 19:07:52 +00:00
Hervé Poussineau
6e04036473 Some more error checking...
svn path=/trunk/; revision=21889
2006-05-11 17:43:31 +00:00
Hervé Poussineau
919b2cb62d - Fix installation of INF sections including a section of the same name in another INF file
- Remove some tests to NULL before HeapFree calls

svn path=/trunk/; revision=21888
2006-05-11 16:56:00 +00:00
Magnus Olsen
834787aacd revers my change in 21818, w3seek point out it was not good, and it can create unsupectet problem, like no gui ondemain, and maybe other, it seam waxdragon and other have problem boot after this changes. thats is the reason for this change beeing remove, that was added in 21818
svn path=/trunk/; revision=21886
2006-05-10 21:34:10 +00:00
Andrew Munger
72bb90f524 Revert accidental txtsetup.sif change. My fault.
svn path=/trunk/; revision=21885
2006-05-10 19:29:49 +00:00
Alex Ionescu
9a243ba5a2 Fix broken assert
svn path=/trunk/; revision=21883
2006-05-10 18:24:23 +00:00
Alex Ionescu
ac9b1b94cd Fix broken assert
svn path=/trunk/; revision=21882
2006-05-10 18:15:58 +00:00
Alex Ionescu
8481c1fa10 - NDK 0.98, now with versionned headers. Too many changes to list, see the TinyKRNL SVN Logs for more detailed information. Thanks to Andrew (Wax), Thomas and Aleksey for testing.
svn path=/trunk/; revision=21880
2006-05-10 17:47:44 +00:00
Christoph von Wittich
4adc41a909 added ACPI fan, ACPI power button device, ACPI sleep button device
svn path=/trunk/; revision=21879
2006-05-10 15:58:14 +00:00
Magnus Olsen
3f59281d1a delay the kernel tree for let it it cache up with some work before continue excute in IntPrepareDriver.
base on hpoussin hack in bug 1321, I have reboot vmware lest 20-30 times and I do not longer getting bsod 
I did before see lest one bsod in IntPrepareDriver after first attamt to boot to gui mode, then I need 
reboot reactos two times, to get it working. Lest it take care of my problem in vmware 

svn path=/trunk/; revision=21878
2006-05-10 14:50:28 +00:00
Hervé Poussineau
d13126b46f Shut up a debug message
svn path=/trunk/; revision=21877
2006-05-10 13:46:52 +00:00
Magnus Olsen
df0a9980e4 bug 1468 : patch from w3seek, advapi32: support object ACEs in string functions
svn path=/trunk/; revision=21876
2006-05-10 09:44:06 +00:00
Magnus Olsen
c74cbfaf67 bug 1467 : patch from w3seek, ACLs: Implement audit functions
svn path=/trunk/; revision=21875
2006-05-10 09:32:23 +00:00
Magnus Olsen
27a4da82e1 [AUDIT] after looking through code no signs of reverse engineering were found. COde was take from wine and stub wirten by EA
svn path=/trunk/; revision=21874
2006-05-10 08:51:13 +00:00
Magnus Olsen
bfafb50916 [AUDIT] advapi32 is from wine, objust clean
svn path=/trunk/; revision=21873
2006-05-10 08:41:27 +00:00
Magnus Olsen
2e0ae5f5e3 [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=21872
2006-05-10 08:32:32 +00:00
Hervé Poussineau
89ef78094b Update version.dll to lastest Wine version. Fixes a bug in some installers.
It was forked in revision 8782 to let Winzip to work. I've checked that Winzip is also working with this version

svn path=/trunk/; revision=21871
2006-05-10 08:19:03 +00:00
Hervé Poussineau
8ddbd806d9 Add missing #define for VFT2_DRV_VERSIONED_PRINTER
svn path=/trunk/; revision=21870
2006-05-10 07:10:11 +00:00
Hervé Poussineau
f5d503e93f Fix compilation with GCC4
svn path=/trunk/; revision=21869
2006-05-09 20:50:46 +00:00
Hervé Poussineau
1bbf802c73 First fully functional version of ncpa.
Requires a reboot after parameters changes.

svn path=/trunk/; revision=21868
2006-05-09 20:25:29 +00:00
Andrew Munger
4a37f88e19 win32k: minor window class fixes
- minor callproc handling bug
- correctly updating the menu name pointers when moving classes to the shared
heap
Patch by w3seek.

svn path=/trunk/; revision=21867
2006-05-09 20:21:52 +00:00
Johannes Anderwald
45cc9049ea add library output paths to linker
implement project dependency tracking - now we can build modules with dependend subprojects from ReactOS.sln

svn path=/trunk/; revision=21866
2006-05-09 12:22:33 +00:00
Johannes Anderwald
3f8a0f1903 exclude wine/w32api headers from msvc include paths
svn path=/trunk/; revision=21865
2006-05-09 09:23:20 +00:00
Magnus Olsen
897c5ec108 correct the ntoskrnl to the new LARGE_MCB strucrt
svn path=/trunk/; revision=21864
2006-05-09 06:02:26 +00:00
Magnus Olsen
91179ea59c fixing right define of struct typedef LARGE_MCB *PLARGE_MCB
svn path=/trunk/; revision=21863
2006-05-09 06:01:32 +00:00
James Tabor
8a45279c78 I fixed a mistake?
svn path=/trunk/; revision=21862
2006-05-09 03:55:10 +00:00
Hervé Poussineau
8fdb1b77b0 Add CommonFilesDir and ProgramFilesDir to HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion
svn path=/trunk/; revision=21861
2006-05-08 23:54:03 +00:00
Magnus Olsen
ca4a8da1a8 FsRtlNumberOfRunsInLargeMcb compare http://www.jankratochvil.net/captive source changes of ReactOS ntoskrnl and we found a bug in ReactOS
ntoskrnl.

svn path=/trunk/; revision=21860
2006-05-08 22:07:09 +00:00
Hervé Poussineau
fac26bda0c Patch by Thomas Weidermueller (w3seek at reactos dot com)
- Fix some parameter names and IN/OUT/OPTIONAL

svn path=/trunk/; revision=21859
2006-05-08 21:32:36 +00:00
Johannes Anderwald
1991163828 fix msvc build bug with project having assemblers
svn path=/trunk/; revision=21858
2006-05-08 20:13:29 +00:00
Art Yerkes
bef295c91c Sorry, reverted my changes. I didn't realize other work was going on in here.
svn path=/trunk/; revision=21857
2006-05-08 18:16:44 +00:00
Magnus Olsen
c6b4c14c62 fixing a typo from my side. sorry wax for the broken treed
svn path=/trunk/; revision=21856
2006-05-08 18:15:46 +00:00
Magnus Olsen
875cffced6 sorry I broke the build, thx Brezenbak and w3seek point it out, small change from brezenbak to fix it
svn path=/trunk/; revision=21855
2006-05-08 17:35:09 +00:00
Hervé Poussineau
e85d46966b Fix bug 1448 and a possible buffer overflow.
Thanks w3seek for his help during the debugging

svn path=/trunk/; revision=21854
2006-05-08 17:14:19 +00:00
Magnus Olsen
026816c434 fixing a bug in gdientry3, found it when I wrote the doc
svn path=/trunk/; revision=21853
2006-05-08 16:50:33 +00:00
Magnus Olsen
f11806f4f0 adding doc for how DdCreateDirectDrawObject (GdiEntry1) and DdDeleteDirectDrawObject (GdiEntry3) works in reactos. doc by request by some devlopers
svn path=/trunk/; revision=21852
2006-05-08 16:48:10 +00:00
Art Yerkes
5a74450800 tcpip: make sure to clean up failed adapter bindings
ndis:  manage global adapter list correctly
ncpa:  wip code from my old tree ... it can now be used to set a static ip
       addr at least.  more to come

svn path=/trunk/; revision=21851
2006-05-08 11:00:26 +00:00
Christoph von Wittich
2160fab7c2 fix indentation
svn path=/trunk/; revision=21850
2006-05-08 08:54:47 +00:00
Magnus Olsen
62257d5444 if u update En.rc please update all other langues files, use the english text if no translatesion is not availbal, other wise it will bsd in windows or in reactos and we get diffent functions on each langues. DO NOT DO THIS MISTAKE
svn path=/trunk/; revision=21849
2006-05-08 05:11:37 +00:00
Art Yerkes
2bc290e96d Sorry, turn off extra debugging. We need a better framework for that.
svn path=/trunk/; revision=21848
2006-05-08 02:46:21 +00:00
Art Yerkes
7b61c89d96 Fix device registration. The actual reason it didn't work was that we weren't
adding the device to the list until after calling the BindAdapter method.

svn path=/trunk/; revision=21847
2006-05-08 02:45:40 +00:00
Andrew Munger
064fa9c1f2 userenv: open handles with least rights neccessary. Patch by w3seek, bug 1458.
svn path=/trunk/; revision=21846
2006-05-07 20:23:16 +00:00
Eric Kohl
8ee8c5c694 The NPFS_FCB struct is actually a CCB (Context Control Block) instead of an FCB (File Control Block). Rename it accordingly and store pointers to it in FileObject->FsContext2 instead of FileObject->FsContext.
svn path=/trunk/; revision=21845
2006-05-07 19:56:32 +00:00
Alex Ionescu
3d1978b003 [AUDIT]
- Tditest: A TDI test application.
- Floppy: Cleanly implemented by Vizzini.
- VideoPort, VBE/VGA Miniports: Filip says these are clean, but the actual VGA driver/framebuffers need more through auditing.

svn path=/trunk/; revision=21844
2006-05-07 19:34:23 +00:00
Magnus Olsen
021be3ef24 [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=21843
2006-05-07 19:23:37 +00:00
Alex Ionescu
8f6c4b215d [AUDIT]
- Bootvid: Uses documented/typical VGA drawing routines. Actual NT implementation is comletely incompatible and has nothing to do with real Windows, so no taint here.
- Debugout, green, diskdump: ROS-developed and non-NT drivers. Nothing they could've been tainted with, since NT doesn't have them.
- Null: Trivial/obvious implementation of a driver which does nothing.
- buslogic: Taken from VMWare source code almost entirely, minus some ROS hacks.
- Xbox Video Miniport: Cleanly developed by ros-xbox team with information from linux-xbox project.
- CSQTest: CSQ Test written by vizzini. Uses documented CSQ information and is just a test app to show how CSQ works, written by himself.

svn path=/trunk/; revision=21842
2006-05-07 19:16:11 +00:00
Alex Ionescu
a50247fb0c [AUDIT]
- HalUp is just a 3-line initialization stub.
- Include directory contains public DMA/APIC/SMP hardware data or internal prototypes.

svn path=/trunk/; revision=21841
2006-05-07 18:59:41 +00:00
Alex Ionescu
7200d0ce67 [AUDIT]
- Generic HAL is just a bunch of stubs, no actual code.
- XBOX HAL was cleanly developed by the ros-XBOX team using information from linux-xbox.

svn path=/trunk/; revision=21840
2006-05-07 18:56:52 +00:00
Magnus Olsen
f3bf535104 bug 1457: patch by w3seek : VFAT: Implement FileEaInformation for FAT32
svn path=/trunk/; revision=21839
2006-05-07 18:50:18 +00:00
Magnus Olsen
661ec874b7 [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=21838
2006-05-07 18:49:07 +00:00
Magnus Olsen
6cb336fbaa [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=21837
2006-05-07 18:42:22 +00:00
Magnus Olsen
65a46fb6e4 [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=21836
2006-05-07 18:39:18 +00:00
Magnus Olsen
b8c0b29fc9 Bug 1456 : patch from w3seek : Fix a bug in CreateDirectoryEx that makes the function attempt to create the template directory again
svn path=/trunk/; revision=21835
2006-05-07 18:17:50 +00:00
Magnus Olsen
bad04e557d [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=21834
2006-05-07 18:16:31 +00:00
Magnus Olsen
150fb4f42c [AUDIT] after looking through code no signs of reverse engineering were found.
svn path=/trunk/; revision=21833
2006-05-07 18:14:03 +00:00
Christoph von Wittich
eb3ebbddf1 -don't show SystemComponents
-added a "Show updates" checkbox 

svn path=/trunk/; revision=21832
2006-05-07 18:05:51 +00:00
Hervé Poussineau
caea3e9648 Add common cleanup block in SetupDiBuildClassInfoListExW, SetupDiClassGuidsFromNameExW, SetupDiClassNameFromGuidExW, SetupDiGetClassDescriptionExW, SETUP_CreateDevListFromEnumerator, SETUP_CreateDevList, SetupDiGetClassDevsExW, CreateClassKey, SetupDiOpenDeviceInfoW
svn path=/trunk/; revision=21831
2006-05-07 14:52:32 +00:00
Hervé Poussineau
31eb0eb314 In case of error, Reg* functions set the output handle to NULL. Don't rely on it to be INVALID_HANDLE_VALUE
This commit is related to bug 1455

svn path=/trunk/; revision=21830
2006-05-07 14:02:00 +00:00
Hervé Poussineau
12f4770a33 Replace some casts by CONTAINING_RECORD macro
Fix handle leak in SetupDiOpenClassRegKeyExW

svn path=/trunk/; revision=21829
2006-05-07 13:35:44 +00:00
Eric Kohl
367c18f5d5 Fix timeout handling.
svn path=/trunk/; revision=21828
2006-05-07 12:48:45 +00:00
Hervé Poussineau
33a839df3b Fix a broken cast (thanks w3seek)
svn path=/trunk/; revision=21827
2006-05-07 12:09:01 +00:00
Hervé Poussineau
cc1a16be75 Fix error handling in SETUP_CreateInterfaceList (memory/handles leak)
Implement DIGCF_PRESENT flag in SetupDiGetClassDevsExW
Add more error codes mapping from CR_* to ERROR_*

svn path=/trunk/; revision=21826
2006-05-07 12:00:55 +00:00
Eric Kohl
0070982394 Update Indentation (tab->4spaces).
svn path=/trunk/; revision=21825
2006-05-07 11:14:41 +00:00
Alex Ionescu
5fdf34d3c5 - Fix build.
svn path=/trunk/; revision=21824
2006-05-07 10:52:14 +00:00
Hervé Poussineau
cbb6aa83e6 Fix buffer overflow (spotted by Detlef Riekenberg in wine-devel ML)
svn path=/trunk/; revision=21823
2006-05-07 09:32:56 +00:00
Aleksey Bragin
47ec97a52e [AUDIT]
kernel32.dll
- Eric Kohl states that mailslot.c and npipe.c are clean: "They implement simple interfaces to the mailslot and named pipe file system drivers and don't contain any tainted code."

svn path=/trunk/; revision=21822
2006-05-07 09:23:22 +00:00
Magnus Olsen
234eeebea4 merges HEL_SetCooperativeLevel and HAL_SetCooperativeLevel to MAIN_SetCooperativeLevel
the new desgin allown us to use HEL as callbacks, we need change all HEL calls to the new desgin now

svn path=/trunk/; revision=21821
2006-05-07 09:12:37 +00:00
Magnus Olsen
cf6a23c944 Try again move to new redesign but now we take one step at time
svn path=/trunk/; revision=21820
2006-05-07 08:41:26 +00:00
Magnus Olsen
64f88aed89 revert last commit it bsd the ddraw in some case
svn path=/trunk/; revision=21819
2006-05-07 08:26:40 +00:00
Art Yerkes
fec1bfb78a Fix printing of adapter address. Just a silly thing for debugging.
svn path=/trunk/; revision=21818
2006-05-07 07:45:17 +00:00
Magnus Olsen
4a3cd2b217 Start remove old desgin of HEL to the new desgin, it will redues the code size, for we will use same code to call HAL in HEL, basic we need write the Dd* functions, it can be done two way, 1. Create a Hel driver in kmode or try write it in user mode. I will try write it in user mode.
svn path=/trunk/; revision=21817
2006-05-07 07:43:50 +00:00
Eric Kohl
9c0250f71c Simplified the access to FCBs and CCBs.
svn path=/trunk/; revision=21816
2006-05-07 07:33:40 +00:00
Eric Kohl
c5fa9029dc The MSFS_MAILSLOT struct is actually an FCB (File Control Block). Rename it accordingly and store pointers to it in FileObject->FsContext.
svn path=/trunk/; revision=21815
2006-05-06 20:04:30 +00:00
Eric Kohl
7b09374005 Set direct io flag of the device object.
svn path=/trunk/; revision=21814
2006-05-06 15:39:42 +00:00
Eric Kohl
0d5cf488c4 The MSFS_FCB struct is actually a CCB (Context Control Block) instead of an FCB (File Control Block). Rename it accordingly and store pointers to it in FileObject->FsContext2 instead of FileObject->FsContext.
svn path=/trunk/; revision=21813
2006-05-06 15:37:40 +00:00
Hervé Poussineau
6d2a7a72b1 Code cleanup:
- Move IRP_MJ_CREATE, IRP_MJ_CLOSE and IRP_MJ_CLEANUP to fdo.c and pdo.c
- Implement IRP_MJ_PNP / IRP_MN_QUERY_BUS_INFORMATION for PDOs
- IRP_MJ_POWER now returns STATUS_NOT_SUPPORTED instead of STATUS_SUCCESS
- Replace STDCALL by NTAPI
- Delete useless white space

=> USB keyboard and mice are working, even if they require one reboot after the installation of the USB controller

svn path=/trunk/; revision=21812
2006-05-06 14:36:52 +00:00
Johannes Anderwald
f7bfbfc5a6 * enable advanced mouse options in apply
thnx Christoph_Vw

svn path=/trunk/; revision=21811
2006-05-06 11:26:27 +00:00
Johannes Anderwald
369410a1c1 * ident code
* enable apply button when slider pos change

svn path=/trunk/; revision=21810
2006-05-06 11:10:27 +00:00
Christoph von Wittich
ea0b42a0e7 -lock the year edit control
svn path=/trunk/; revision=21809
2006-05-05 21:55:27 +00:00
Aleksey Bragin
42657b29da - SVN maintenance (set eol-style to native)
svn path=/trunk/; revision=21808
2006-05-05 18:13:26 +00:00
Aleksey Bragin
b78cdcabbd Move OBJ_NAME_PATH_SEPARATOR to ndk/obtypes.h (inspired by w3seek). Should make applying NDK patch easier.
svn path=/trunk/; revision=21807
2006-05-05 17:46:05 +00:00
Peter Ward
28731a5081 Fixed build.
- Changed strcpyW to wcscpy.

svn path=/trunk/; revision=21806
2006-05-05 17:16:05 +00:00
Aleksey Bragin
f914c470a9 [AUDIT]
drivers/network/wshtcpip

- Authors are Casper Hornstrup and Arthur Yerks
- Implemented functions are documented in OSR, MSDN and Google finds lots of links
- Result: Clean

svn path=/trunk/; revision=21805
2006-05-05 15:40:59 +00:00
Maarten Bosma
86eb7ebe10 [AUDIT]
Elf Loader
- KJK::Hyperion says it's clean
- ELF loader does not exist in Windows(R).

svn path=/trunk/; revision=21804
2006-05-05 15:36:25 +00:00
Christoph von Wittich
41c172dc42 *added year selection box
*display current time

svn path=/trunk/; revision=21803
2006-05-05 15:35:56 +00:00
Maarten Bosma
a35aed3b0d [AUDIT]
Obviously clean since it does not exist in windows and comes from freebsd.

svn path=/trunk/; revision=21802
2006-05-05 15:31:16 +00:00
Andrew Munger
e9c7c2b139 "More efficient" IsPowerOf2 from Myria (myriachan at cox dot net).
svn path=/trunk/; revision=21801
2006-05-05 15:10:59 +00:00
Aleksey Bragin
1ae51bd800 [AUDIT]
wshirda.dll

- Code is just a set of stubs
- Headers/defs/rc is definately clean

svn path=/trunk/; revision=21800
2006-05-05 15:09:57 +00:00
Aleksey Bragin
48cef97799 [AUDIT]
ntoskrnl/mm/pe.c

- KJK::Hyperion says it's clean
- There are references to original specs
- Windows PE loader is completely different

svn path=/trunk/; revision=21799
2006-05-05 14:56:16 +00:00
Aleksey Bragin
70403dc889 [AUDIT]
ws2help.dll

- Code is just a set of stubs
- Headers/defs/rc is definately clean

svn path=/trunk/; revision=21798
2006-05-05 14:10:47 +00:00
Hervé Poussineau
0d86ffc546 Legacy device objects created for USB keyboard and mouse support should be treated as FDOs, not PDOs.
svn path=/trunk/; revision=21797
2006-05-05 10:12:59 +00:00
Johannes Anderwald
c0afd25226 resources for the keyboard control panel applet
svn path=/trunk/; revision=21796
2006-05-04 20:30:22 +00:00
Johannes Anderwald
e8a4603968 fix build on linux plattforms
svn path=/trunk/; revision=21795
2006-05-04 05:31:53 +00:00
Magnus Olsen
bb9e90f468 Bug : 1452 : patch from w3seek, some xlate obj fixes for indexed palettes, should fix a hack introduced in r21292
svn path=/trunk/; revision=21794
2006-05-04 05:23:54 +00:00
Johannes Anderwald
6da2349338 implement notepad view status bar -
TODO: update caret position on arrow key/mouse scroll events


svn path=/trunk/; revision=21793
2006-05-03 16:17:12 +00:00
Johannes Anderwald
ef7ec993b7 set double click speed with latest slider pos
svn path=/trunk/; revision=21792
2006-05-03 15:06:09 +00:00
Hervé Poussineau
28ab30ea8d Don't call IoRaiseHardError at DISPATCH_LEVEL
svn path=/trunk/; revision=21791
2006-05-03 14:42:28 +00:00
Johannes Anderwald
b7f9c94930 fix compiling with gcc4
patch from w3seek

svn path=/trunk/; revision=21790
2006-05-03 14:34:01 +00:00
Hervé Poussineau
f50109cbc7 Cleanup in SetupGetInfFileListW:
- Better arguments check
- Rename pFileSpecification to pFullFileName
- Fix some possible buffer overflows spotted by w3seek

svn path=/trunk/; revision=21789
2006-05-03 14:26:43 +00:00
Johannes Anderwald
1b40c53f4c added missing constanst #define SPI_GETMOUSECLICKLOCK 0x101E
#define SPI_SETMOUSECLICKLOCK               0x101F

svn path=/trunk/; revision=21788
2006-05-03 14:09:39 +00:00
Hervé Poussineau
cdcd6ee015 Don't double free buffer in case of error
svn path=/trunk/; revision=21787
2006-05-03 13:56:12 +00:00
Johannes Anderwald
534b5a2027 halfplemented mouse control panel applet
svn path=/trunk/; revision=21786
2006-05-03 13:45:22 +00:00
Johannes Anderwald
56339e3e49 mouse control panel applet resources
svn path=/trunk/; revision=21785
2006-05-03 11:23:57 +00:00
Johannes Anderwald
7528b7fee5 small msvc compiling fix
svn path=/trunk/; revision=21784
2006-05-03 11:18:07 +00:00
Aleksey Bragin
d3f8576eb3 [AUDIT]
- w3seek says this file is derived from Wine and doesn't contain any possibly unclean code

svn path=/trunk/; revision=21783
2006-05-03 10:57:26 +00:00
Aleksey Bragin
6e170da6f7 - Bug 1447: Patch by Thomas Weidenmueller "Use SEH for some lstring functions, partly adapted from WINE"
WaxDragon tested this patch and confirmed it works fine.

svn path=/trunk/; revision=21782
2006-05-03 10:55:46 +00:00
Aleksey Bragin
549d2f7cbd - Bug 1450: Patch by Thomas Weidenmueller "Some window class fixes"
This patch makes registering the "Abiword" window class succeed. However, Abiword now crashes with a stack overflow recursively delivering the WM_NOTIFYFORMAT message to a subclassed rebar control...

svn path=/trunk/; revision=21781
2006-05-03 10:48:38 +00:00
Aleksey Bragin
fd9ff56f6d - Bug 1451: Patch by Thomas Weidenmueller:
System controls, such as comboboxes and listboxes are always unicode, even when
created with CreateWindowExA. Therefore, ansi messages need to be converted to
unicode and vice versa when sent to these windows. This patch fixes some(!) of these issues! Not all control messages are handled!

svn path=/trunk/; revision=21780
2006-05-03 10:35:11 +00:00
Andrew Munger
965305ebc8 Move callproc code into own file and reduce unneccessary system calls to dereference them.
It doesn't fix any bugs but improves performance a bit.
Patch from w3seek, bug 1445.

svn path=/trunk/; revision=21779
2006-05-03 04:17:50 +00:00
Christoph von Wittich
47e2049ea7 updated french translation patch by usurp
fixes bug 1441

svn path=/trunk/; revision=21778
2006-05-02 22:45:35 +00:00
Ged Murphy
8e006a24f2 Got carried away ;)
svn path=/trunk/; revision=21777
2006-05-02 21:11:36 +00:00
Ged Murphy
e0db930d64 - convert the screensaver to tchar and build as unicode.
- gets around the ANSI bug in the config dialog

svn path=/trunk/; revision=21776
2006-05-02 21:01:43 +00:00
Magnus Olsen
1b213c54a6 remove unsuse files after some redesign of ddraw
svn path=/trunk/; revision=21770
2006-05-02 17:53:04 +00:00
Magnus Olsen
daffac7a40 fix the build
svn path=/trunk/; revision=21769
2006-05-02 08:15:50 +00:00
Magnus Olsen
11ccea69ec implement add and release ref
svn path=/trunk/; revision=21768
2006-05-02 08:09:47 +00:00
Aleksey Bragin
3b277d1d05 - Patch by Thomas Weidenmueller: Adds a workaround for buggy installshield installers (which crash without this patch)
- Fixes e.g. ATI Catalyst 5.5 installer and some other

svn path=/trunk/; revision=21763
2006-05-01 21:33:26 +00:00
Christoph von Wittich
5f8eb7f778 updated resource files
svn path=/trunk/; revision=21761
2006-05-01 17:24:38 +00:00
Magnus Olsen
1eade84bbf Working on a redesign of whole directdraw interface
frist commit of many

svn path=/trunk/; revision=21760
2006-05-01 10:04:59 +00:00
Hervé Poussineau
ccdf6190cd Add kbdclass and mouclass as upper filter for keyboard and mouse devices.
Install i8042prt driver, even if it is not plug&play compliant at the moment

svn path=/trunk/; revision=21759
2006-04-30 19:17:32 +00:00
Eric Kohl
e1ab416a94 Improvement to the r21757 patch.
svn path=/trunk/; revision=21758
2006-04-30 12:10:31 +00:00
Eric Kohl
c2f31954b8 An attempt to read from a not-yet-connected pipe must fail. This fixes a Wine testcase.
svn path=/trunk/; revision=21757
2006-04-30 07:47:07 +00:00
Hervé Poussineau
7410babf41 Add pciide.sys/pciidex.sys to bootcd
svn path=/trunk/; revision=21756
2006-04-29 11:11:29 +00:00
Eric Kohl
1f15256d2e Set file object flag FO_NAMED_PIPE upon named pipe creation.
svn path=/trunk/; revision=21755
2006-04-29 07:39:13 +00:00
Eric Kohl
4fd7f3fb6a Set file object flag FO_MAILSLOT upon mailslot creation.
svn path=/trunk/; revision=21754
2006-04-29 07:35:41 +00:00
Hervé Poussineau
16d9aebe47 Lighter implementation of SetupGetInfFileListW
svn path=/trunk/; revision=21753
2006-04-28 21:10:49 +00:00
Ged Murphy
b474823f9a fix build
svn path=/trunk/; revision=21752
2006-04-28 15:43:45 +00:00
Christoph von Wittich
f67e8214bb added a PopupMenu with Add and Delete functions in screensaver.c
svn path=/trunk/; revision=21751
2006-04-28 15:34:58 +00:00
Christoph von Wittich
7ba6d64695 fixed a typo
svn path=/trunk/; revision=21750
2006-04-28 06:00:23 +00:00
Christoph von Wittich
cdac01f6e6 -redesigned the screensaver dialog
-removed add and delete buttons (these function should be placed in a context menu instead)

other rc files than english and german have to be updated accordingly

svn path=/trunk/; revision=21749
2006-04-28 05:46:44 +00:00
Christoph von Wittich
f7fc8841b0 transparent screen picture
svn path=/trunk/; revision=21748
2006-04-28 00:09:33 +00:00
Ged Murphy
0c30ab932a revert the my computer icon. mf's original is prefered
svn path=/trunk/; revision=21747
2006-04-27 20:40:09 +00:00
Ged Murphy
ead212bffe - allow start menu selection to loop when using the keyboard
- patch by Andreas Bjerkeholt (harteex@gmail.com)

svn path=/trunk/; revision=21745
2006-04-26 22:44:26 +00:00
Magnus Olsen
633c345cae [AUDIT] after looking through code no signs of reverse engineering were found.
BUG 1432 patch from w3seek : Get tools/cabman compile with gcc4

svn path=/trunk/; revision=21744
2006-04-26 05:06:22 +00:00
Magnus Olsen
4781665fc1 [AUDIT] after looking through code no signs of reverse engineering were found.
BUG 1437 patch from w3seek : SMSS: Fix using uninitialized variable

svn path=/trunk/; revision=21743
2006-04-26 04:59:24 +00:00
Magnus Olsen
0707606360 [AUDIT] after looking through code no signs of reverse engineering were found.
BUG 1436 patch from w3seek : SMSS: make \SystemRoot\System32 the current directory for started subsystems

svn path=/trunk/; revision=21742
2006-04-26 04:49:11 +00:00
Hervé Poussineau
fbd4530bfa Complete IRP_MJ_CREATE, IRP_MJ_CLOSE, IRP_MJ_CLEANUP
Use correct buffer when filling read request. Use SEH when needed
Correctly propagate DO_BUFFERED_IO, DO_DIRECT_IO and FILE_DEVICE_SECURE_OPEN flags

svn path=/trunk/; revision=21741
2006-04-25 22:22:22 +00:00
Ged Murphy
b110d67ed6 fix build
svn path=/trunk/; revision=21740
2006-04-25 21:47:16 +00:00
Andrew Munger
3958d172cb 21728 broke the release build, use an #ifndef instead.
svn path=/trunk/; revision=21738
2006-04-25 01:31:00 +00:00
Ged Murphy
3027bdebbd delete sneaky file
svn path=/trunk/; revision=21737
2006-04-24 21:36:08 +00:00
Ged Murphy
d99f67103e match the regedit icons to the shell32 ones.
svn path=/trunk/; revision=21736
2006-04-24 21:32:54 +00:00
Ged Murphy
16c495d2b7 match the explorer icons to the shell32 ones.
svn path=/trunk/; revision=21735
2006-04-24 21:31:41 +00:00
Ged Murphy
c1c0e85000 [AUDIT]
sysdm.cpl
Clear formatted Win32 API code fully documented on MSDN.

svn path=/trunk/; revision=21734
2006-04-24 20:26:02 +00:00
Ged Murphy
b4d255e040 - The start of a revamp of the UI. This is still not yet finished, but I'm committing anyway as it's looks much better already.
- Added a vast amount of resources for shell32. Resources now follow the Windows naming method for compatability with themes (one day).
- Removed the old Wine icons out of the .rc file and each icon is now stored in binary for easy maintenance.
- Many more icons to come for other libs (e.g. comctl32) plus separate programs, followed by the toolbars then moving onto other areas.
- I have some documentation to keep track of the Windows v ReactOS icons, including resource names, if anyone needs to work with it or is just generally nosey :)

svn path=/trunk/; revision=21733
2006-04-24 19:09:33 +00:00
Andrew Munger
0962d9ef05 Create the pagefile at the root of the drive by default. Now when you install to an alternate %systemroot%, you can still have a page file.
svn path=/trunk/; revision=21732
2006-04-24 18:32:35 +00:00
Maarten Bosma
3582ded91e Sorry did set DebugPort to COM1
svn path=/trunk/; revision=21731
2006-04-24 18:32:21 +00:00
Maarten Bosma
f45cebc073 Set Freeloader timeout to 0 for release builds.
svn path=/trunk/; revision=21728
2006-04-24 10:54:06 +00:00
Hervé Poussineau
8e197e1502 Add some defines
svn path=/trunk/; revision=21727
2006-04-24 10:51:34 +00:00
Magnus Olsen
c2698a1559 patch from w3seek : create smss with a current directory (system path), Otherwise the current directory for all early processes will be NULL. Fixes some inf installation issues reported by Herve.
svn path=/trunk/; revision=21725
2006-04-23 17:31:07 +00:00
Hervé Poussineau
c0d2baafb0 Fully implement SetupDiGetDriverInfoDetailW
svn path=/trunk/; revision=21720
2006-04-23 11:41:59 +00:00
Saveliy Tretiakov
f2aae2c5a1 [AUDIT]
\trunk\reactos\drivers\filesystems\np (Unlocked)
Eric Kohl confirmed npfs is clean.


svn path=/trunk/; revision=21717
2006-04-23 08:58:28 +00:00
Saveliy Tretiakov
096c04f529 [AUDIT]
\trunk\reactos\drivers\filesystems\ms (Unlocked)
Eric Kohl confirmed mailslot filesystem is clean.


svn path=/trunk/; revision=21716
2006-04-23 08:56:14 +00:00
Saveliy Tretiakov
a5bc761fdd [AUDIT]
\trunk\reactos\drivers\filesystems\fs_rec (audit)
Eric Kohl confirmed fs_rec is clean. Inspired by Bo Branten's file system recognizer. 


svn path=/trunk/; revision=21715
2006-04-23 08:52:45 +00:00
Hervé Poussineau
5028ed87a4 Fix little bug in mouse detection
Create unnamed FDOs
Read only registry parameters which make sense
Start to read mouse only when receiving IRP_MN_START_DEVICE
Cleanup of code

svn path=/trunk/; revision=21714
2006-04-23 08:46:25 +00:00
Hervé Poussineau
d8c61be337 [AUDIT]
\trunk\reactos\drivers\input\sermouse (Unlocked)
I (the author) confirmed sermouse is clean.

svn path=/trunk/; revision=21713
2006-04-23 08:44:06 +00:00
Hervé Poussineau
7d327991c4 Don't tell we succeeded IOCTL_KEYBOARD_QUERY_INDICATORS and IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION, as it is not true.
Fixes bug 1408

svn path=/trunk/; revision=21711
2006-04-22 18:00:47 +00:00
Saveliy Tretiakov
3c59aa8caa [AUDIT]
\trunk\reactos\drivers\filesystems\cdfs (Unlocked)
Eric Kohl confirmed cdfs is clean.  Based on vfatc code and iso-9660 documentation. 


svn path=/trunk/; revision=21710
2006-04-22 16:36:21 +00:00
Saveliy Tretiakov
93ed460d59 [AUDIT]
\trunk\reactos\dll\win32\userenv (Unlocked)
Eric Kohl (the author) confirmed he used clean methods to develop 
this dll. It was written using a lot of test code. Thomas 
Weidenmueller, another contributor, also confirmed his code is clean.


svn path=/trunk/; revision=21709
2006-04-22 16:27:31 +00:00
Hervé Poussineau
99ea202a07 Don't dereference device objects if they were not referenced
Remove one hack from kbdclass

svn path=/trunk/; revision=21708
2006-04-22 14:08:43 +00:00
Saveliy Tretiakov
d7c29a3b3f [AUDIT]
\trunk\reactos\drivers\filesystems\ntfs (Unlocked)
Eric Kohl confirmed ntfs driver is clean.


svn path=/trunk/; revision=21707
2006-04-22 14:06:53 +00:00
Saveliy Tretiakov
a4b7bd846c [AUDIT]
\trunk\reactos\drivers\base\blue (unlocked)
Eric Kohl confirmed blue is clean.


svn path=/trunk/; revision=21706
2006-04-22 14:01:25 +00:00
Saveliy Tretiakov
4dc0942610 [AUDIT]
\trunk\reactos\drivers\base\beep (Unlocked)
Eric Kohl confirmed beep is clean.


svn path=/trunk/; revision=21705
2006-04-22 13:58:53 +00:00
Saveliy Tretiakov
48c6a3665b [AUDIT]
\trunk\reactos\base\setup\usetup (Unlocked)
Eric Kohl confirmed usetup is clean.


svn path=/trunk/; revision=21704
2006-04-22 13:55:01 +00:00
Saveliy Tretiakov
4b57ceb55c [AUDIT]
\trunk\reactos\tools\mkhive (Unlocked)
Eric Kohl confirmed mkhive is clean.


svn path=/trunk/; revision=21703
2006-04-22 13:09:28 +00:00
Ged Murphy
084c375c11 Remove reg button in ReactOS. It made the toolbar a bit long, plus regedit should be used.
svn path=/trunk/; revision=21702
2006-04-22 12:39:42 +00:00
Saveliy Tretiakov
12b2c06aee Andrey Korotaev (unC0Rr@inbox.ru):
Ru.rc: Reflect latest changes. Improved elements layout.
settings.c: Sort by width, not only height.


svn path=/trunk/; revision=21701
2006-04-22 11:55:09 +00:00
Maarten Bosma
f1026bbe49 [AUDIT]
They are bitmaps and do not look like window's

svn path=/trunk/; revision=21700
2006-04-22 06:24:00 +00:00
Maarten Bosma
df98c9f40d [AUDIT]
Unlock: They are no code.

svn path=/trunk/; revision=21699
2006-04-22 06:06:11 +00:00
Saveliy Tretiakov
7e43b49d97 [AUDIT]
\trunk\reactos\drivers\bus\acpi (Unlocked)
Alex Ionescu says this code is clean: it's 99% from bsd/linux acpi driver with a single header for NT wrapper, which he thinks was done by arty and is 100% clean. It only does things like malloc->ExAllocatePool.


svn path=/trunk/; revision=21698
2006-04-22 05:55:17 +00:00
Saveliy Tretiakov
aa7b55c728 Art Yerkes said this should be deleted.
svn path=/trunk/; revision=21697
2006-04-22 05:37:07 +00:00
Saveliy Tretiakov
5f32fbc304 [AUDIT]
\trunk\reactos\lib\drivers\ip (Unlocked)
Art Yerkes confirmed this is clean.


svn path=/trunk/; revision=21696
2006-04-22 05:27:40 +00:00
Saveliy Tretiakov
d1cd839986 [AUDIT]
\trunk\reactos\drivers\network\tdi (Unlocked)
Virtually empty. Art Yerkes confirmed it's clean.


svn path=/trunk/; revision=21695
2006-04-22 05:22:34 +00:00
Saveliy Tretiakov
e7aa2f3d9b [AUDIT]
\trunk\reactos\drivers\network\tcpip (uNLOCKED)
Combination of Casper and Art Yerkes work. Mostly rewritten by Art Yerkes, he agreed it's clean.


svn path=/trunk/; revision=21694
2006-04-22 05:15:29 +00:00
Saveliy Tretiakov
65b8c1c64b [AUDIT]
reactos/drivers/network/lan (Unlocked)
Art Yerkes says this is clean. derived from tcpip/datalink/lan.c


svn path=/trunk/; revision=21693
2006-04-22 04:56:37 +00:00
Saveliy Tretiakov
8868a11fd1 Respect wine's indentation. Tabs -> spaces.
svn path=/trunk/; revision=21692
2006-04-22 04:50:37 +00:00
Ged Murphy
d9ff34c976 [AUDIT]
mmsys.cpl
Clear formatted Win32 API code fully documented on MSDN.
This code doesn't do much at present besides display a dialog

svn path=/trunk/; revision=21691
2006-04-21 23:05:18 +00:00
Ged Murphy
8a7427520d [AUDIT]
main.cpl
Clear formatted Win32 API code fully documented on MSDN.
This code doesn't do much at present besides display a dialog

svn path=/trunk/; revision=21690
2006-04-21 22:55:57 +00:00
Saveliy Tretiakov
be29b894bc [AUDIT]
\trunk\reactos\drivers\network\afd (UNLOCKED)
Art Yerkes vouch this is clean.


svn path=/trunk/; revision=21689
2006-04-21 17:45:51 +00:00
Saveliy Tretiakov
6cc78e8c8b [AUDIT]
/trunk/reactos/lib/drivers/oskittcp/oskittcp/ (unlocked)
3rd party code. Copyright (c) The Regents of the University of California.


svn path=/trunk/; revision=21688
2006-04-21 16:53:24 +00:00
Saveliy Tretiakov
630769f746 [AUDIT]
\trunk\reactos\base\applications\utils\pice (unlocked)
Port of pice.sourceforge.net


svn path=/trunk/; revision=21687
2006-04-21 16:36:34 +00:00
Saveliy Tretiakov
64df215733 Respect wine's indentation. Tabs -> spaces.
svn path=/trunk/; revision=21686
2006-04-21 16:28:25 +00:00
Peter Ward
a585852cdb [AUDIT]
reactos\base\applications\cacls (Unlocked):
- The author Thomas Weidenmueller has confirmed that this is clean.

svn path=/trunk/; revision=21685
2006-04-21 16:06:08 +00:00
Peter Ward
bc88c9c915 [AUDIT]
reactos\base\applications\gettype (Unlocked):
- The author Brandon Turner has confirmed that this is clean.

svn path=/trunk/; revision=21684
2006-04-21 15:47:50 +00:00
Peter Ward
6ef238eea3 [AUDIT]
reactos\lib\string (Unlocked):
- Clean.

svn path=/trunk/; revision=21683
2006-04-21 15:15:18 +00:00
Peter Ward
a0a28fad63 [AUDIT]
reactos\lib\libwine (Unlocked):
- Wine code.

svn path=/trunk/; revision=21682
2006-04-21 15:04:14 +00:00
Peter Ward
19e3304412 [AUDIT]
reactos\lib\kjs (Unlocked):
- 3rd Party.

svn path=/trunk/; revision=21681
2006-04-21 15:00:24 +00:00
Hervé Poussineau
4614dc266e Fix a wrong copy/paste in UNICODE version of route.exe
svn path=/trunk/; revision=21680
2006-04-21 08:03:19 +00:00
Klemens Friedl
299cf3cd06 Update german language file
svn path=/trunk/; revision=21679
2006-04-21 06:51:59 +00:00
Ged Murphy
6f15819ed2 Add the same bitmap to the settings page too.
Needs the background masking out though ...

svn path=/trunk/; revision=21678
2006-04-20 22:25:53 +00:00
Ged Murphy
fbf34c7981 Display a monitor behind the background picker on the display control panel.
Other languages needs their resources updating so it doesn't look messy. No time to do it, it's too late ;)

svn path=/trunk/; revision=21677
2006-04-20 22:18:12 +00:00
Saveliy Tretiakov
4155fe153a [AUDIT]
\trunk\reactos\lib\uuid (Unlocked)
Wine code.


svn path=/trunk/; revision=21675
2006-04-20 16:19:57 +00:00
Saveliy Tretiakov
a31a95e611 Add GDB property for debugging with gdb
svn path=/trunk/; revision=21674
2006-04-20 16:13:50 +00:00
Saveliy Tretiakov
e3dc3ea163 Update tests
svn path=/trunk/; revision=21673
2006-04-20 16:00:36 +00:00
Saveliy Tretiakov
1b9586156b Implement context handle support for servers: NdrServerContextMarshall, NdrServerContextUnmarshall, NDRSContextMarshall, NDRSContextUnmarshall.
MSDN context handle examples now work in ros. Context rundown routines don't work yet.


svn path=/trunk/; revision=21672
2006-04-20 15:45:01 +00:00
Christoph von Wittich
859360830e draw icons with the correct size
fixes the last Miranda menu issue I know of

svn path=/trunk/; revision=21671
2006-04-20 07:03:58 +00:00
Magnus Olsen
836aa765da bug 1346 : patch from w3seek : Support SE_FILE_OBJECT in GetNamedSecurityInfo
svn path=/trunk/; revision=21670
2006-04-20 04:36:18 +00:00
Magnus Olsen
f913f2a8f4 Bug 1345 : patch from w3seek Fixes for BuildTrusteeWithObjectsAndName, BuildTrusteeWithObjectsAndSid and GetTrusteeName
A test apps exits also from w3seek not commited.

svn path=/trunk/; revision=21669
2006-04-20 04:28:47 +00:00
Ged Murphy
b6900e8ae0 [AUDIT]
reporterror
This is a ReactOS application unrelated to Windows. However I've been through the code anyway and it comprises of modular code documented on MSDN.

svn path=/trunk/; revision=21668
2006-04-19 20:56:44 +00:00
Ged Murphy
e81df84a04 [AUDIT]
sc
I am the author and can verify this code is clean

svn path=/trunk/; revision=21667
2006-04-19 20:21:43 +00:00
Ged Murphy
0534fe7c0d [AUDIT]
route
currently a very basic app which uses simple iphlpapi functions.

svn path=/trunk/; revision=21666
2006-04-19 20:19:51 +00:00
Ged Murphy
4178c709bd this was missed when netstat was unlocked originally
svn path=/trunk/; revision=21665
2006-04-19 20:15:45 +00:00
Ged Murphy
aca11294e4 [AUDIT]
hostname
it only calls GetComputerName. I think it's safe to assume this is clean :)

svn path=/trunk/; revision=21664
2006-04-19 20:14:03 +00:00
Ged Murphy
20cc933b0c cleaner, revamped speaker icon.
svn path=/trunk/; revision=21662
2006-04-18 22:35:20 +00:00
Christoph von Wittich
7850d9f178 changed window caption to design proposal from #reactos channel
svn path=/trunk/; revision=21661
2006-04-18 20:06:30 +00:00
Christoph von Wittich
990019c419 UI improvement (window captions)
svn path=/trunk/; revision=21660
2006-04-18 19:29:47 +00:00
Hervé Poussineau
ffd89368ef No need to write "Serenum:" at the start of each debug string
svn path=/trunk/; revision=21659
2006-04-18 19:26:48 +00:00
Magnus Olsen
57c69510f1 wrong line break in the translations
svn path=/trunk/; revision=21658
2006-04-18 19:05:05 +00:00
Ged Murphy
a4c71b513b Reduce the size a bit.
svn path=/trunk/; revision=21657
2006-04-18 18:16:11 +00:00
Magnus Olsen
852e3f2ad4 [AUDIT] format this util is written from scratch, simple cmd command, and after looking through code no signs of reverse engineering were found
svn path=/trunk/; revision=21656
2006-04-18 17:46:46 +00:00
Magnus Olsen
fb106bc2a8 [AUDLT] Clean from wine
svn path=/trunk/; revision=21655
2006-04-18 17:45:55 +00:00
Ged Murphy
bc697aebe9 [AUDIT]
tcpsvcs
I am the author and can verify this code is clean

svn path=/trunk/; revision=21654
2006-04-18 17:24:16 +00:00
Magnus Olsen
9f3720e359 Dutch translations from the dutch translations team,
cacls, getfirefox, msconfig, sndvol32, taskmgr by  Maurus Cuelenaere,  winemine by  Maurus Cuelenaere  
winlogon by Eric Janssen  

svn path=/trunk/; revision=21653
2006-04-18 17:23:29 +00:00
Christoph von Wittich
ca3a742dba fix ownerdraw menu for miranda (patch by Brezenbak)
svn path=/trunk/; revision=21652
2006-04-18 17:17:08 +00:00
Ged Murphy
904d3ca622 - convert the floating windows to use pointers within the main structure
- allow showing and hiding of floating windows
- implement a rough version of the history interface
- temp draw a suggestion on how the color window could look.
- insert a few menu hints
- lots of half implemented of temp stuff in this commit, but committing now before the patch gets any bigger.

svn path=/trunk/; revision=21651
2006-04-18 16:42:54 +00:00
Magnus Olsen
6da6e80112 fast cleanup in dib/dib24bpp.c, Fixing a crash bug in dib32bpp.c (typo from me), xlate XO_TABLE can resive 0xffff or 0xffff or 0xffffff or 0xffffffff as color code for table, but the table is only 256 but in color&FF, That will stop firefox crash and translate the color right.
svn path=/trunk/; revision=21650
2006-04-18 15:52:48 +00:00
Christoph von Wittich
e5a4bd769c added dutch translation patch written by mcuelenaere <mcuelenaere@gmail.com>
fixes bug 1371

svn path=/trunk/; revision=21649
2006-04-18 13:32:17 +00:00
Christoph von Wittich
8898216301 fixed bug 1406
fixed a typo in german rc file

svn path=/trunk/; revision=21648
2006-04-18 13:26:40 +00:00
Christoph von Wittich
ab48d70466 set eol-style:native
fixed inconsistent newlines

svn path=/trunk/; revision=21647
2006-04-18 13:01:11 +00:00
Christoph von Wittich
8929ea7829 fixed bug 1407
svn path=/trunk/; revision=21646
2006-04-18 12:52:18 +00:00
Magnus Olsen
f29eac23ec Fix the xlate bug in 24dib correct fix more buttom showing right in firefox now
svn path=/trunk/; revision=21645
2006-04-18 09:47:51 +00:00
Magnus Olsen
f0c7bff035 fix 16 to 16 soyrce dest why the hell does th 16bitmap surface calls into this
svn path=/trunk/; revision=21644
2006-04-17 21:28:02 +00:00
Maarten Bosma
e495c66834 sort alphabetically
svn path=/trunk/; revision=21643
2006-04-17 19:12:49 +00:00
Aleksey Bragin
473cb1c0c6 - Update Wine-sync related doc
svn path=/trunk/; revision=21642
2006-04-17 18:11:17 +00:00
Maarten Bosma
c727e592a6 Open .ini and .inf with notepad
svn path=/trunk/; revision=21641
2006-04-17 17:54:45 +00:00
Ged Murphy
85800c3f71 remove a few wineisms, they are in out main header now.
svn path=/trunk/; revision=21640
2006-04-17 17:47:39 +00:00
Maarten Bosma
ac88573f07 Comment out the line which sets the default folder. Looks like our shell32 can not handle it. Now folders got a folder icon again. Thanks to EmuandCo for regression testing.
svn path=/trunk/; revision=21639
2006-04-17 17:39:11 +00:00
Ged Murphy
a6b77e1696 put cursor back into the text box if you skip too far.
This always used to catch me out when rushing an install .... alas, it shall bug me no more :)

svn path=/trunk/; revision=21638
2006-04-17 17:11:51 +00:00
Ged Murphy
ff0d599914 remove redefined values.
svn path=/trunk/; revision=21637
2006-04-17 14:07:43 +00:00
Magnus Olsen
7b4a231767 Bug 1363 : patch accpect with small change, review by me and hpoussin
svn path=/trunk/; revision=21636
2006-04-17 14:05:19 +00:00
Ged Murphy
e2ba765506 Bit of fun. Add a built-in coded message for the first time the screensaver is run.
If removed, it will not reappear.

svn path=/trunk/; revision=21635
2006-04-17 13:35:40 +00:00
Hervé Poussineau
dbcd6ec20e Fix VMware display driver installation
svn path=/trunk/; revision=21634
2006-04-17 12:18:47 +00:00
Hervé Poussineau
17ff6b4adf [AUDIT]
No suspicious code detected in vmwinst

svn path=/trunk/; revision=21633
2006-04-17 12:16:54 +00:00
Magnus Olsen
2bca0c0fcc Fix for ReactOS build system
Fixing all warings in the code it will make gcc queit
Remove pargma they should have been set in the project file not hard code it.

svn path=/trunk/; revision=21632
2006-04-17 11:26:50 +00:00
Peter Ward
8d75625cdb - Fix indentation (spaces -> TABs).
svn path=/trunk/; revision=21631
2006-04-17 11:13:48 +00:00
Magnus Olsen
659c768c6e import matrix screensaver secon try
svn path=/trunk/; revision=21629
2006-04-17 10:56:11 +00:00
Magnus Olsen
f31166fa5c delete matrix I did someting wrong with the import
svn path=/trunk/; revision=21628
2006-04-17 10:54:14 +00:00
Magnus Olsen
dc66a10877 import matrix screen saver
svn path=/trunk/; revision=21627
2006-04-17 10:50:25 +00:00
Magnus Olsen
dd384ab95e prepare for import of matrix screensavers (break the build for short while)
svn path=/trunk/; revision=21626
2006-04-17 10:47:01 +00:00
Magnus Olsen
47ff3fad63 prepare for screensaver : Adding win32scr as target it genrate a .scr file instead for a win32gui
svn path=/trunk/; revision=21624
2006-04-17 10:08:35 +00:00
Ged Murphy
8c37aa119a add some commctrl.h definitions
svn path=/trunk/; revision=21623
2006-04-17 09:21:11 +00:00
Aleksey Bragin
b59203d3a1 Sync to Wine-0_9_9:
Francois Gouget <fgouget@free.fr>
- mapi: Add some missing MAPI prototypes.
  Add some missing MAPI prototypes to mapi.h (spotted by winapi_check)
  and include it where they are implemented.
  Make mapi.h and mapix.h compatible. gcc does not like macros and
  prototypes to be redefined so this involved protecting against
  multiple definitions.
  Fix the MAPISendMail() implementation prototype.

Sync to Wine-0_9_8:
Hans Leidekker <hans@it.vu.nl>
- mapi32: Implementation for MAPISendMail.
  Implement MAPISendMail, stub MAPILogoff and make the stubs for
  MAPIInitialize, MAPILogon{,Ex} and MAPILogoff return success.
- mapi32: Prevent freeing non-allocated memory.

svn path=/trunk/; revision=21622
2006-04-17 07:45:48 +00:00
Aleksey Bragin
fb6d030c7c - Fix build (by adding needed temporary file)
svn path=/trunk/; revision=21621
2006-04-17 07:21:25 +00:00
Aleksey Bragin
83e8c1a2f3 - Comment an error-setting line since we don't have get_sock_error() function
- Something different should be used here
- This change fixes building of the component

svn path=/trunk/; revision=21620
2006-04-16 20:10:12 +00:00
Aleksey Bragin
9434974968 Please pay attention this code includes a hack by me to have inet_ntop() function implementation just for this dll.
Sync to Wine-0_9_10:
Andrбs Kovбcs <andras@csevego.net>
- wininet: Added Hungarian translation.
Robert Shearman <rob@codeweavers.com>
- wininet: Don't continue to connect to a secure server without SSL support since it won't work.
- wininet: Implement setting of send and receive timeouts.

Sync to Wine-0_9_8:
Robert Shearman <rob@codeweavers.com>
- wininet: Documentation fixes.
Petr Tesarik <hat@tesarici.cz>
- wininet: Czech language resources encoding fix.
Fatih Ac <fasici@linux-sevenler.org>
- wininet: Turkish translation.

Sync to Wine-0_9_7:
Aric Stewart <aric@codeweavers.com>
- wininet: INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT work.
  Beginning of framework to implement handling of InternetQueryOption
  for INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT.

Sync to Wine-0_9_6:
Jacek Caban <jacek@codeweavers.com>
- wininet: lpvStatusInfo in INTERNET_STATUS_NAME_RESOLVED,
  INTERNET_STATUS_CONNECTING_TO_SERVER and
  INTERNET_STATUS_CONNECTED_TO_SERVER should be strings, not
  sockaddr_in.

svn path=/trunk/; revision=21619
2006-04-16 20:07:09 +00:00
Aleksey Bragin
8b7ae92cc7 SVN Maintenance (eol-style: native)
svn path=/trunk/; revision=21618
2006-04-16 19:15:04 +00:00
Aleksey Bragin
41f90c8fd7 Sync to Wine-0_9_10:
Juan Lang <juan_lang@yahoo.com>
- crypt32: Move context properties to a separate file.
- crypt32: Move serialization functions to serialize.c.
- crypt32: Implement CertGetValidUsages.
- crypt32: Implement CertDuplicateStore.

Sync to Wine-0_9_9:
Juan Lang <juan_lang@yahoo.com>
- crypt32: implement CryptEnumOIDInfo and CryptFindOIDInfo.
- implement CryptEnumOIDInfo and CryptFindOIDInfo
- implement CertOIDToAlgId and CertAlgIdToOID using CryptFindOIDInfo
- crypt32: Move certificate store functions to their own file.
- crypt32: More encoding/decoding.
  Add support for encoding/decoding basic constraints and enhanced key
  usage, with tests.
- crypt32: Move OIDToAlgID and AlgIDToOID to oid.c.
- crypt32: Correct compile problem on gcc 2.95.
- crypt32: Partially implement CertGetNameString.
Henning Gerhardt <henning.gerhardt@web.de>
- crypt32: Add German resource file.
YunSong Hwang <hys545@dreamwiz.com>
- crypt32: Add Korean translation.
Alexander N. Sшrnes <alex@thehandofagony.com>
- Updated/new Norwegian Bokmеl resources.
Eric Pouech <eric.pouech@wanadoo.fr>
- crypt32: Don't access a blob after freeing it.
Sync to Wine-0_9_8:
Juan Lang <juan_lang@yahoo.com>
- crypt32: Fix a fixme, and remove an old comment.
- crypt32: Output string type in trace.
Alexandre Julliard <julliard@winehq.org>
- Include wine/port.h in files that use exceptions.

Sync to Wine-0_9_7:
Juan Lang <juan@codeweavers.com>
- crypt32: Implement CertRDNValueToStrA and CertNameToStrA, with tests.
- crypt32: Correct X509_NAME decoding, and more stringent tests.
- crypt32: Implement CertRDNValueToStrW and CertNameToStrW, with tests.

svn path=/trunk/; revision=21617
2006-04-16 19:12:28 +00:00
Aleksey Bragin
e4af2a5bf8 - Update wincrypt.h to correspond to Wine-0.9.10
svn path=/trunk/; revision=21616
2006-04-16 18:44:08 +00:00
Aleksey Bragin
8acabff6ea Sync to Wine-0_9_9:
Juan Lang <juan_lang@yahoo.com>
- wintrust: Add some stubs.

svn path=/trunk/; revision=21615
2006-04-16 18:24:52 +00:00
Aleksey Bragin
a592154d29 Sync to Wine-0_9_10:
Francois Gouget <fgouget@free.fr>
- Fix compatibility with native advpack dlls.

Sync to Wine-0_9_7:
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make more arrays const.

Sync to Wine-0_9_6:
Jacek Caban <jacek@codeweavers.com>
- urlmon: Pass FORMATETC to OnDataAvailable.
- urlmon: Added implementation of protocol stream.
- urlmon: Added implementation of QueryService and stub implementation
  of IHttpNegotiate2 interface.
- urlmon: Query service provider for IInternetProtocol.
- urlmon: Added GetBindInfoString implementation.
- urlmon: Reimplement CoInternetCombineUrl to use pluggable protocol.
- urlmon: Use CoInternetCombineUrl in URLMonikerImpl_Construct.
- urlmon: Fix ref counting.
Rolf Kalbermatter <rolf.kalbermatter@citeng.com>
- urlmon: Fix a LARGE_INTEGER truncation.

svn path=/trunk/; revision=21614
2006-04-16 17:34:25 +00:00
Aleksey Bragin
b54888e17e Sync to Wine-0_9_8:
Mike McCormack <mike@codeweavers.com>
- imm32: Remove FIXME messages from some implemented functions.

svn path=/trunk/; revision=21613
2006-04-16 17:04:45 +00:00
Magnus Olsen
5df0cb61bf audlt lock
svn path=/trunk/; revision=21612
2006-04-16 16:16:09 +00:00
Magnus Olsen
913bde9808 kjk_hyperion : "Breaking auditing lock for a temporary fix: allow ExEnterCriticalRegionAndAcquireFastMutexUnsafe and ExReleaseFastMutexUnsafeAndLeaveCriticalRegion to be called from any thread; fixes UserEnterShared, UserEnterExclusive and UserLeave in win32k"
svn path=/trunk/; revision=21611
2006-04-16 16:04:28 +00:00
Aleksey Bragin
2122478f7b Sync to Wine-0_9_9:
Gerold J. Wucherpfennig <gjwucherpfennig@gmx.net>
- cabinet: Set proper error information on failures.

Sync to Wine-0_9_6:
James Hawkins <truiken@gmail.com>
- cabinet: Implement Extract on top of FDI.
- cabinet: Clean up the documentation for Extract.
- cabinet: Fix the second parameter name of Extract.
- cabinet: Add documentation for FDITruncateCabinet.
- cabinet: Store the cab file handle before extracting files so we can
  close the cab file even if no files are extracted.
- cabinet: Move the remaining cabextract.c functions to fdi.c.
- cabinet: Add initial tests for Extract.
- cabinet: Add the two flags used by Extract to cabinet.h.
- cabinet: Define the flags member of the EXTRACTdest structure.

svn path=/trunk/; revision=21610
2006-04-16 15:49:02 +00:00
Magnus Olsen
1888104b32 Implement screensaver setting and preiw of screen setting working in windows not tested in reactos
svn path=/trunk/; revision=21609
2006-04-16 13:56:57 +00:00
Aleksey Bragin
11c44d0243 [AUDIT]
dll/win32/advapi32/sec

- Very small functions are clean
- Functions doing basic initialization stuff are clean (their name suggests the actions the function performs)
- Functions publically documented in google
- Stubs / unimplemented functions
- Wine's code is clean too

svn path=/trunk/; revision=21608
2006-04-16 12:49:19 +00:00
Ged Murphy
b93335e12d [AUDIT]
finger
BSD derived code

svn path=/trunk/; revision=21607
2006-04-16 12:30:40 +00:00
Ged Murphy
d84ea94c72 [AUDIT]
whois
BSD derived code

svn path=/trunk/; revision=21606
2006-04-16 12:28:10 +00:00
Ged Murphy
93ec8b0b82 [AUDIT]
ping
modular code and obviously clean.

svn path=/trunk/; revision=21605
2006-04-16 12:25:54 +00:00
Magnus Olsen
200298ace6 [AUDIT]
clean from http://www.catch22.net shall not this be in vendoer drop ??

svn path=/trunk/; revision=21604
2006-04-16 10:40:43 +00:00
Magnus Olsen
1341cc0a8a [AUDIT]
clean : winemine icon/bmp from wine. 

svn path=/trunk/; revision=21603
2006-04-16 10:33:54 +00:00
Maarten Bosma
429ccf839a Flat toolbar buttons for ibrowser
svn path=/trunk/; revision=21602
2006-04-16 10:24:11 +00:00
Ged Murphy
125ddcb3bf [AUDIT]
ibrowser
obviously clean, this is not a derivative of an MS product.

svn path=/trunk/; revision=21601
2006-04-16 10:23:20 +00:00
Ged Murphy
010ef3a277 [AUDIT]
Network tools
Unlock code I am the author of. Code was produced using clean methods

svn path=/trunk/; revision=21600
2006-04-16 10:18:54 +00:00
Hervé Poussineau
31dc05f5f1 kbdclass and mouclass:
- Better synchronization of code between kbdclass and mouclass
- Better cleanup in ClassAddDevice in case of error
- Better support of legacy devices
kbdclass only:
- Send IOCTLs to lower device

svn path=/trunk/; revision=21599
2006-04-16 07:17:34 +00:00
Hervé Poussineau
286a4f2f82 [AUDIT]
No suspicious code detected in kbdclass and mouclass.
The code is quite understandable and have comments for harder parts + they share most of their code

svn path=/trunk/; revision=21598
2006-04-16 07:11:56 +00:00
Magnus Olsen
299c670648 Bug 1393 : Patch from w3seek Fix moving class objects between desktop heaps and the shared heaps
svn path=/trunk/; revision=21596
2006-04-15 10:41:58 +00:00
Andrew Munger
88699130d7 Send in the list of DHCP options we would like to get back, some servers are not as forthcoming as others.
This allows those of you running Windows Server 2003 as your DHCP server to get a domainname and default route.
This commit is dedicated to Jaix Bly.

svn path=/trunk/; revision=21595
2006-04-15 01:25:55 +00:00
Magnus Olsen
88a9cc78ba Bug 1390 : patch from W3seek : Don't use BOOL for 1 bit members in bitfields
svn path=/trunk/; revision=21594
2006-04-14 18:28:15 +00:00
Magnus Olsen
f7f19a1a69 Bug 1391 : Commit w3seek patch for Some Ansi vs. Unicode fixes for window classes
svn path=/trunk/; revision=21593
2006-04-14 18:23:11 +00:00
Saveliy Tretiakov
a9161f0913 EngCreateBitmap may return null. Add return value checks
svn path=/trunk/; revision=21589
2006-04-14 16:31:06 +00:00
Magnus Olsen
477fabfce2 Remove this doc, w3seek told me they are too outdate
svn path=/trunk/; revision=21588
2006-04-14 11:32:55 +00:00
Magnus Olsen
c74793a96d Windows API standard from ECMA, http://www.ecma-international.org/publications/standards/Ecma-234.htm
svn path=/trunk/; revision=21587
2006-04-14 10:48:46 +00:00
Hervé Poussineau
be451e4de7 Add some network-related GUIDs
svn path=/trunk/; revision=21586
2006-04-14 10:03:58 +00:00
Saveliy Tretiakov
9241bf5b08 [AUDIT]
\trunk\reactos\dll\cpl\ncpa (Unlocked)
I reviewed code and found no signs of reverse engeneering.
All api functions used are documented in msdn. DhcpNotifyConfigChange
is not documented by msdn, but there is a lot information about it on 
the net. google returns many results.


svn path=/trunk/; revision=21584
2006-04-13 15:44:18 +00:00
Andrew Munger
b3acf144a3 INF fix committed for hpoussin. Fixes networking (for everyone but encoded).
svn path=/trunk/; revision=21583
2006-04-13 15:44:08 +00:00
Saveliy Tretiakov
21e7db1fe7 Add more stubs
svn path=/trunk/; revision=21582
2006-04-13 15:23:34 +00:00
Magnus Olsen
19517659cb Fixing some bugs in create overlay. it works now to create a overlay but it does not show it yet
svn path=/trunk/; revision=21581
2006-04-13 14:12:20 +00:00
Hervé Poussineau
c20e86702b Replace ReactOS implementation of SetupGetInfInformationW by Wine one (much more complete)
Merge from Wine (Patches by James Hawkins (<truiken@gmail.com>))
- Store the full name to the INF file in the inf_file structure
- Implement SetupGetInfInformationA 
- Implement SetupQueryInfFileInformationA/W (James Hawkins <truiken@gmail.com>)

svn path=/trunk/; revision=21580
2006-04-13 12:16:50 +00:00
Hervé Poussineau
69734f5025 Fix 2nd stage setup. Patch by w3seek
svn path=/trunk/; revision=21579
2006-04-13 11:39:25 +00:00
Magnus Olsen
3bd173b1f2 one more redisg adding a member that tells whih destions it is. it work pretty well.
svn path=/trunk/; revision=21578
2006-04-13 11:03:19 +00:00
Hervé Poussineau
e0b74935a5 Merge from Wine:
- Add Esperanto translation by Antonio Codazzi
- Add Turkish translation by Fatih Aþýcý

svn path=/trunk/; revision=21577
2006-04-13 09:22:58 +00:00
Magnus Olsen
21c7829634 This commit is redesign off ddraw primare surface, we need reach primare surface from every where. We have now a expriment code that show how to create overlay with this new design but we do not set it up right yet.
svn path=/trunk/; revision=21576
2006-04-13 09:14:32 +00:00
Hervé Poussineau
bbd318bd04 Conform better to Wine standards
svn path=/trunk/; revision=21575
2006-04-13 08:06:45 +00:00
Magnus Olsen
e55cbd36de Bugfix : hal lock surface so it does not crash any longer
svn path=/trunk/; revision=21574
2006-04-13 06:38:52 +00:00
Magnus Olsen
becc8a8d30 Implement surface unlock
svn path=/trunk/; revision=21573
2006-04-13 06:29:01 +00:00
Magnus Olsen
de552379c5 make ddraw not crashing in ros. close my debug marco for windows.
svn path=/trunk/; revision=21570
2006-04-12 20:10:20 +00:00
Magnus Olsen
d5c6b8650c Implement DX HAL Lock it works now. we getting back user mode pointer of kernel mode memode pointer. it is mapen now. it did make next test apps working with our ddraw.dll in windows. lest 4 dx draw apps I got is working.
svn path=/trunk/; revision=21569
2006-04-12 20:09:09 +00:00
Saveliy Tretiakov
3131b8a4bf Oops, forget to add these.
svn path=/trunk/; revision=21568
2006-04-12 19:18:22 +00:00
Saveliy Tretiakov
bf22683420 Move all context handle stuff to ndr_contexth.c
svn path=/trunk/; revision=21567
2006-04-12 19:17:30 +00:00
Hervé Poussineau
e38c527480 SetupDiInstallClassExW;
- Use the provided FileQueue (if any)
- Start to implement device interface installation
SetupDiInstallDevice:
- Set FAILEDINSTALL flag in registry if asked to

svn path=/trunk/; revision=21565
2006-04-12 15:16:07 +00:00
Hervé Poussineau
1f910b512d Add missing OPTIONAL information in prototypes
Check for NULL parameters

svn path=/trunk/; revision=21564
2006-04-12 13:41:11 +00:00
Saveliy Tretiakov
533a08bc88 Fix BSOD when executing gdi32_winetest bitmap
svn path=/trunk/; revision=21563
2006-04-12 13:22:57 +00:00
Magnus Olsen
7af383349e from w3seek: make the tree compile with gcc4 again
svn path=/trunk/; revision=21562
2006-04-12 12:18:30 +00:00
Magnus Olsen
53a30e2f31 commiting file desktop.x from bug 252 , the patch is from j_anderw it make our win32k lile more stable
svn path=/trunk/; revision=21561
2006-04-12 10:15:46 +00:00
Hervé Poussineau
f80351fa44 When listing devices by connection, list PCI devices only.
It only works on ReactOS (as Windows doesn't use the same instance ID for the PCI bus), but it prevents a crash

svn path=/trunk/; revision=21560
2006-04-11 22:20:28 +00:00
Hervé Poussineau
c452ae96ed [AUDIT] Unlock devmgr
Michael Fritsch and I are the only authors of this code, and no unclean method has been used to create it

svn path=/trunk/; revision=21559
2006-04-11 22:18:08 +00:00
Hervé Poussineau
f6bed5d651 Delete useless utils:
patchnv4: Tries to patch the nVidia NT4 driver, which doesn't work anymore (we now report Windows 2000)
dumprecbin: Dumps the contents of the recycle bin. Has been replaced by a recycle bin library at revision 21553

svn path=/trunk/; revision=21558
2006-04-11 22:10:41 +00:00
Ged Murphy
35c4f8024e add correct comments for buttons
svn path=/trunk/; revision=21557
2006-04-11 22:04:32 +00:00
Hervé Poussineau
bbecbeb865 First step to automatically generate registry entries for network protocols (TcpIp...)
Registry settings are moved to media/inf/nettcpip.inf, which is installed for each netcard detected.

svn path=/trunk/; revision=21556
2006-04-11 22:01:08 +00:00
Hervé Poussineau
2829db96fb [AUDIT] Unlock netcfgx
I'm the only author of the code, and no unclean method has been used to create it

svn path=/trunk/; revision=21555
2006-04-11 21:56:00 +00:00
Hervé Poussineau
f1a554d740 [AUDIT] Unlock packages list
No reason to let it locked, it is only a list of files

svn path=/trunk/; revision=21554
2006-04-11 21:47:29 +00:00
Hervé Poussineau
878040a922 Add library to deal with recycle bin.
It is aimed to be compatible with Windows 2000/XP/2003 (at least) on FAT or NTFS volumes.

svn path=/trunk/; revision=21553
2006-04-11 19:51:55 +00:00
Ged Murphy
66eb03305d Add buttons to the floating tool window. They don't do anything yet apart from look pretty.
Give some order to the resource.h file tool.

svn path=/trunk/; revision=21552
2006-04-11 19:47:04 +00:00
Ged Murphy
16a71b7305 add Thomas' rebar fix back. I need this fix for imagesoft.
svn path=/trunk/; revision=21551
2006-04-11 19:09:26 +00:00
Ged Murphy
9f79520edf revert comctl32 Wine sync. There are some issues with it and I don't have time to fix it at the moment.
svn path=/trunk/; revision=21550
2006-04-11 19:03:09 +00:00
Magnus Olsen
d1d6bc3879 First HEL support that is working for one dx apps I got in windows
svn path=/trunk/; revision=21549
2006-04-11 15:06:54 +00:00
Saveliy Tretiakov
a56dbb42b5 Added winemine.
svn path=/trunk/; revision=21547
2006-04-11 11:14:06 +00:00
Magnus Olsen
813527fe56 more redesign of ddraw. move hal and hel detection of cancreatesurface and createsurface HEL and HAL and use HAL if it found, if HAL not found use HEL
svn path=/trunk/; revision=21546
2006-04-11 07:43:29 +00:00
Magnus Olsen
ee9c7a73ff Start redesgin ddraw. so we can resue code betwin HEL and HAL interface. Todo so we create HEL Callbacks
in HEL Callbacks shall the software version of the api be implement.

svn path=/trunk/; revision=21545
2006-04-11 06:24:29 +00:00
Magnus Olsen
200c8334d3 see fireball last commit msg about this file, patch from w3seek : Use RtlComputeCrc32 instead of yet another inline implementation for calculating
a CRC32 checksum. The attached patch fixes this.
bug : 1342

svn path=/trunk/; revision=21544
2006-04-10 19:57:47 +00:00
Magnus Olsen
a7213db5b4 Bug 1376, patch from SuperTrax at gmx dot de
if a Window was showed normaly, 
GetWindowPlacement never returned a showCmd.


svn path=/trunk/; revision=21543
2006-04-10 19:21:22 +00:00
Saveliy Tretiakov
45fca8f1a3 Make windows button open start menu. Fixes buf 1356. Patch by SuperTrax@gmx.de
svn path=/trunk/; revision=21542
2006-04-10 17:58:47 +00:00
Magnus Olsen
a87b34d546 RtlIntegerToUnicodeString
incress the interal buffer size to 33bytes 
as wine does 

RtlInt64ToUnicodeString
incress the interal buffer size to 65bytes 
as wine does 

This will take care of some intToChar Bugs
I have been locking of it for sometimes now
thanks to crashfourit network patch and we talk I did found it. 

svn path=/trunk/; revision=21541
2006-04-10 17:21:46 +00:00
Saveliy Tretiakov
35e0a27de4 Add gradient tests. Patch by Timo Kreuzer <timo.kreuzer@web.de>
svn path=/trunk/; revision=21540
2006-04-10 17:16:37 +00:00
Saveliy Tretiakov
ebb3e933d4 Build rosperf and ps
svn path=/trunk/; revision=21539
2006-04-10 16:42:55 +00:00
Saveliy Tretiakov
a27d7dd600 [AUDIT]
\trunk\reactos\base\applications\utils\rosperf (unlock)
GvG (the author) confirmed it is clean.


svn path=/trunk/; revision=21538
2006-04-10 16:13:17 +00:00
Magnus Olsen
a7013502aa fixing a typcast do it compile on gcc 4.0 thx w3seek
svn path=/trunk/; revision=21536
2006-04-09 18:28:53 +00:00
Magnus Olsen
6cc73a301f Fixing a bug fill in a struct it return zero info but we need that info later
svn path=/trunk/; revision=21535
2006-04-09 18:08:18 +00:00
Peter Ward
cf23410594 Changed DbgPrint to DPRINT.
svn path=/trunk/; revision=21534
2006-04-09 17:58:43 +00:00
Magnus Olsen
a477c01d94 Implement GetSurfaceDesc
svn path=/trunk/; revision=21533
2006-04-09 17:05:57 +00:00
Magnus Olsen
6f2a74079c Thanks billycash to explain for me how ref counter works in ddraw. Now we free the COM when it need it (no more memory leak)
svn path=/trunk/; revision=21532
2006-04-09 15:07:43 +00:00
Christoph von Wittich
62556472e1 display all timezones (buffer was too small)
svn path=/trunk/; revision=21531
2006-04-09 14:55:58 +00:00
Christoph von Wittich
9be3d80da2 fix setup in VGA mode
svn path=/trunk/; revision=21530
2006-04-09 14:15:21 +00:00
Magnus Olsen
737aa06355 Fixing a crash bug But ddraw can leak memmory now. But it is werid that u can not total release the whole dx COM for some program will crash then
svn path=/trunk/; revision=21529
2006-04-09 14:12:42 +00:00
Christoph von Wittich
7d8e2e4ab1 change display modes from 640x680 to 640x480
svn path=/trunk/; revision=21528
2006-04-09 12:49:52 +00:00
Christoph von Wittich
f848ea7382 added proper headers
svn path=/trunk/; revision=21527
2006-04-09 12:15:43 +00:00
Magnus Olsen
2fa447fa3e Sorry forget this file
svn path=/trunk/; revision=21526
2006-04-09 11:54:57 +00:00
Magnus Olsen
a93dd3afa9 Implement frist HEL Callback
HelDdCanCreateSurface

Fix minors bugs 
there and there

svn path=/trunk/; revision=21525
2006-04-09 11:53:23 +00:00
Aleksey Bragin
80e1facc71 - Bugzilla Bug 1340: fix of an incorrect RtlCompareMemory call in ntoskrnl (by w3seek)
svn path=/trunk/; revision=21524
2006-04-09 11:47:30 +00:00
Aleksey Bragin
062d01efe2 [AUDIT]
ntoskrnl/io/efi.c:

- Contains only function prototypes which are clean apriori

svn path=/trunk/; revision=21523
2006-04-09 11:42:34 +00:00
Aleksey Bragin
6e116a1ce9 [AUDIT]
ntoskrnl/io/pnpmgr.c:

- Unlock the file, since auditing documentation has been commited and only parts of the file might be considered dirty
- Auditing of this file is in progress, however it's changed to per-function mode
- No function 100% confirmed to be dirty in this file!

svn path=/trunk/; revision=21522
2006-04-09 11:39:39 +00:00
Magnus Olsen
47409766bf parly implement surface_Lock it does not work yet but here is the code almost complete for HAL
svn path=/trunk/; revision=21520
2006-04-08 23:01:04 +00:00
Magnus Olsen
7fde42e8fd Adding Hel_DDrawSurface and Hal_DDrawSurface stub
so it being more easy to implement some api

svn path=/trunk/; revision=21519
2006-04-08 21:05:49 +00:00
Magnus Olsen
4c2d5ebbbe DirectDraw_EnumDisplayModes
base on wine implenetins taking wine code and rewrite some part. it is not complete but it does the work.

DirectDraw_SetDisplayMode
remove the freq flag we ignore it for now. for EnumDisplayModes report modes that are being support for the graphic card. but the monitor does not support it 

svn path=/trunk/; revision=21518
2006-04-08 15:03:35 +00:00
Magnus Olsen
8c7d161f2a ReImplement Surface_GetDC
Implement Surface_ReleaseDC

svn path=/trunk/; revision=21517
2006-04-08 09:38:26 +00:00
Magnus Olsen
988d7a9c98 Implement Surface_GetDC
svn path=/trunk/; revision=21516
2006-04-08 09:04:42 +00:00
Ged Murphy
d574bdb7c7 - allow container windows on the docking toolbars
- hide comboboxes if toolbar is vertical
- patch from Thomas

svn path=/trunk/; revision=21515
2006-04-07 23:21:12 +00:00
Magnus Olsen
2e69e8f9d1 1. Implement Surface_GetCaps
2. Implement AddAttachedSurface not tested 

svn path=/trunk/; revision=21514
2006-04-07 22:18:17 +00:00
Ged Murphy
ece46b942f [AUDIT]
Confirmation from Eric Kohl that this is clean.
depends.exe was used to get the names of the exported functions
Also adding WordPad to the start menu with this commit

svn path=/trunk/; revision=21513
2006-04-07 20:26:44 +00:00
Ged Murphy
1e96d6b24f add wordpad to build
svn path=/trunk/; revision=21512
2006-04-07 18:17:47 +00:00
Magnus Olsen
6b48220742 sorry did commit wrong version for Dx dhal blt here is it. can blt a surface (not tested).
svn path=/trunk/; revision=21511
2006-04-07 18:08:45 +00:00
Magnus Olsen
407b2b297d 1. Implement almost full dx hal DdBlt into ddraw
we only need adding clipper or not set it to 
   true or false. Then ddraw dx hal blt is complete
 
2. Split complete each surface getting own memory 

3. Remove create for overlay for now the code need be 
   more tested


svn path=/trunk/; revision=21510
2006-04-07 18:03:21 +00:00
Magnus Olsen
ef869b1127 first part to change the arch of Surface time move surface into it own struct. so we can easy create a new one. no surface should be store global in ddraw.dll
svn path=/trunk/; revision=21508
2006-04-07 16:16:34 +00:00
Saveliy Tretiakov
617afc2f76 [AUDIT]
\trunk\reactos\drivers\bus\serenum (Unlocked)
Herve Poussineau (the author) said parts he wrote are clean.
There were no actual code from other contributors (only warning fixes etc.)


svn path=/trunk/; revision=21507
2006-04-07 15:34:51 +00:00
Saveliy Tretiakov
edcb6770cf control.exe is not a control panel applet. Moved to applications.
svn path=/trunk/; revision=21506
2006-04-07 15:07:50 +00:00
Saveliy Tretiakov
9dc1d6aa18 Thomas Weidenmueller is not author of this control panel applet. From svn log I found that former author was Johannes Anderwald (j_anderw@sbox.tugraz.at). Updated headers.
svn path=/trunk/; revision=21505
2006-04-07 13:03:59 +00:00
Saveliy Tretiakov
f5e188a9ed [AUDIT]
\trunk\reactos\dll\cpl\access (unlocked)
This code seems clean, it does nothing useful.
Thomas Weidenmueller agreed it's clean too.


svn path=/trunk/; revision=21504
2006-04-07 12:24:00 +00:00
Saveliy Tretiakov
6ca96eb653 [AUDIT]
\trunk\reactos\dll\cpl\liccpa (Unlocked)
Clean. Stewen Edwards quote: "This application does almost nothing and its really good at it."


svn path=/trunk/; revision=21502
2006-04-07 10:23:05 +00:00
Saveliy Tretiakov
ea60d7b932 [AUDIT]
\trunk\reactos\dll\cpl\intl (Unlocked)
I reviewed the code and it seems clean to me. 
This control panel applet is very incomplete.


svn path=/trunk/; revision=21501
2006-04-07 10:21:29 +00:00
Saveliy Tretiakov
fb8a1d0c0d [AUDIT]
\trunk\reactos\dll\cpl\desk (Unlocked)
I reviewed the code and it seems clean to me.


svn path=/trunk/; revision=21500
2006-04-07 10:20:39 +00:00
Saveliy Tretiakov
f90fe86539 [AUDIT]
\trunk\reactos\base\services\dhcpd (Unlocked)
3rd party code. Has nothing to do with reverse engeneering.
Authors:
Carlos Duclos Vergara, <carlos at embedded dot cl>
Pablo Bleyer Kocik, <pbleyer at embedded dot cl>
Manuel Jander, <mjander at embedded dot cl>


svn path=/trunk/; revision=21499
2006-04-07 10:16:12 +00:00
Saveliy Tretiakov
4966cdd356 [AUDIT]
\trunk\reactos\drivers\base\parallel (Unlocked)
Clean. This driver does nothing useful. 


svn path=/trunk/; revision=21498
2006-04-07 10:15:34 +00:00
Magnus Olsen
3a5d1fead4 This is frist directdraw version than can run reactos ddraw demo in windows with our own ddraw.dll
1. Implement DdBlt in ddraw it is not a complete implement it does not blt from a source surface to destination surface. for we do not create other types that primary surface for now. and it is always primary is the destination. Rember it does not working in fullscreen that is a bug.  

svn path=/trunk/; revision=21497
2006-04-07 10:15:21 +00:00
Saveliy Tretiakov
d970a3887e [AUDIT]
\trunk\reactos\drivers\base\test (Unlocked)
Obviously clean.


svn path=/trunk/; revision=21496
2006-04-07 10:14:29 +00:00
Saveliy Tretiakov
03756d4c40 [AUDIT]
\trunk\reactos\subsystems\ntvdm (Unlocked)
I reviewed the code and it seems clean to me. It is _very_ incomplete.


svn path=/trunk/; revision=21495
2006-04-07 10:13:12 +00:00
Saveliy Tretiakov
1a6e0a87ed [AUDIT]
\trunk\reactos\base\applications\utils\stats (Unlocked)
Obviously clean. Has nothing to do with reverse engeneering.  


svn path=/trunk/; revision=21494
2006-04-07 10:12:38 +00:00
Saveliy Tretiakov
1b86f271f6 [AUDIT]
\trunk\reactos\base\applications\testsets\loadlib (unlocked)
Tests are clean. 


svn path=/trunk/; revision=21493
2006-04-07 10:11:50 +00:00
Saveliy Tretiakov
5b3dd2f737 [AUDIT]
\trunk\reactos\base\applications\testsets\msvcrt\fileio (unlocked)
Tests are clean.


svn path=/trunk/; revision=21492
2006-04-07 10:11:18 +00:00
Saveliy Tretiakov
37b96fac6d [AUDIT]
\trunk\reactos\base\applications\network\roshttpd (unlocked)
Obviously clean. Has nothing to do with reverse engeneering. Written by Casper.


svn path=/trunk/; revision=21491
2006-04-07 10:10:34 +00:00
Saveliy Tretiakov
16c24cfb22 [AUDIT]
\trunk\reactos\base\applications\network\ftp (Unlocked)
3rd party code.  Copyright (c) 1985 Regents of the University of California.


svn path=/trunk/; revision=21490
2006-04-07 10:09:49 +00:00
Saveliy Tretiakov
4526711212 [AUDIT]
\trunk\reactos\base\applications\games\winemine (Unlocked)
Wine code.


svn path=/trunk/; revision=21489
2006-04-07 10:08:52 +00:00
Saveliy Tretiakov
d7c34c65f9 [AUDIT]
\trunk\reactos\base\applications\calc (Unlocked)
Wine code.


svn path=/trunk/; revision=21488
2006-04-07 10:08:14 +00:00
Saveliy Tretiakov
2dfb0b7a00 [AUDIT]
\trunk\reactos\base\applications\games\solitaire (Unlocked)
Obviously clean.  Has nothing to do with reverse engeneering.  
3rd party code. Copyright J Brown 2001.


svn path=/trunk/; revision=21487
2006-04-07 10:07:27 +00:00
Magnus Olsen
e9a89c2844 patch from w3seek : compile with gcc4.1 again
svn path=/trunk/; revision=21486
2006-04-07 08:56:12 +00:00
Magnus Olsen
a8c093ce5a 1. Clean up Hal_DirectDraw_CreateSurface
2. Start implemenr createsurface overlay base on Steffen Schulze code. 


svn path=/trunk/; revision=21485
2006-04-07 08:12:13 +00:00
Magnus Olsen
fea7d8e806 setup almost all Createsurface for primar right
it is very few thin left todo

svn path=/trunk/; revision=21484
2006-04-07 06:45:25 +00:00
Hervé Poussineau
2a702fe63c Implement UpdateDriverForPlugAndPlayDevicesW
svn path=/trunk/; revision=21483
2006-04-06 19:28:01 +00:00
Ged Murphy
c404cc04e1 fix resource leak
svn path=/trunk/; revision=21482
2006-04-06 17:37:46 +00:00
Ged Murphy
0574d19c65 store license on heap and add some error checking
svn path=/trunk/; revision=21481
2006-04-06 16:23:35 +00:00
Ged Murphy
0b431b1a96 get the names the right way round this time.
svn path=/trunk/; revision=21480
2006-04-06 16:07:07 +00:00
Ged Murphy
f0fdc76ced revert this. It got caught up in the action ;)
svn path=/trunk/; revision=21479
2006-04-06 16:04:03 +00:00
Ged Murphy
6cae95fd74 Swap these 2 icons around. They are more fitting to the app this way.
svn path=/trunk/; revision=21478
2006-04-06 16:01:28 +00:00
Ged Murphy
cd3d342b0b Start a rewrite of an MDI WordPad.
svn path=/trunk/; revision=21477
2006-04-06 15:54:59 +00:00
Ged Murphy
b52e1d7ac7 remove Wine's wordpad.
svn path=/trunk/; revision=21476
2006-04-06 15:37:38 +00:00
Andrew Munger
8de1633b66 Changed the ParameterType in NdisReadConfiguration to Hex.
Since 21002, we actually check this in ndis, before we just assumed Hex regardless of what was sent in.  This fixes networking under qemu.

svn path=/trunk/; revision=21475
2006-04-05 17:36:28 +00:00
Andrew Munger
cf11a035b5 DHCP Client fixes and enhancements
Set the correct hardware type flag. Fixes bug 651.
Send option 12 on discovery, allows some DHCP servers to dynamically update DNS.
Send option 61 for good measure. We use the MAC address as some other OSes do.

svn path=/trunk/; revision=21474
2006-04-05 16:38:03 +00:00
Saveliy Tretiakov
fb71b64d63 [AUDIT]
\trunk\reactos\drivers\network\dd\ne2000 (unlocked)
Written by Casper. Fireball and WaxDragon agreed it is clean.


svn path=/trunk/; revision=21473
2006-04-05 16:35:30 +00:00
Saveliy Tretiakov
54139a96b7 [AUDIT]
unlock \trunk\reactos\base\services\dhcp
Clean. Mostly OpenBSD and ISC code, with some arty and tinus rosglue.


svn path=/trunk/; revision=21472
2006-04-05 16:31:32 +00:00
Saveliy Tretiakov
d85a18b29c [AUDIT]
trunk\reactos\dll\win32\serialui (unlocked)
I used clean methods to develop this dll. Function prototypes are from wine. Only drvCommConfigDialog is implemented. MSDN says: "The CommConfigDialog function requires a dynamic-link library (DLL) provided by the communications hardware vendor." 


svn path=/trunk/; revision=21471
2006-04-05 14:17:22 +00:00
Saveliy Tretiakov
89fe1a9f05 [AUDIT]
\trunk\reactos\dll\cpl\hdwwiz (unlocked)
Herve Poussineau says it is clean.


svn path=/trunk/; revision=21470
2006-04-05 13:53:43 +00:00
Saveliy Tretiakov
77e2971f94 [AUDIT]
trunk\reactos\dll\cpl\appwiz (unlocked)
I examined the code and it seems clean to me.


svn path=/trunk/; revision=21469
2006-04-05 13:32:05 +00:00
Saveliy Tretiakov
3009b10475 [AUDIT]
trunk\reactos\dll\cpl\control (unlocked)
I examined the code and it seems clean to me.


svn path=/trunk/; revision=21468
2006-04-05 13:20:43 +00:00
Hervé Poussineau
1239653f28 Fix formatting which was screwed in 19254.
Code changes will follow later

svn path=/trunk/; revision=21467
2006-04-05 12:08:50 +00:00
Aleksey Bragin
74c858ab1b [AUDIT]
dll/win32/newdev:
- hpoussin and Christoph_vW assures this is a clean implementation, no disassembly of windows code happened during the development of it, and all code is obvious

svn path=/trunk/; revision=21466
2006-04-05 12:05:53 +00:00
Magnus Olsen
3b0a2bacd3 [AUDLT] The code are from wine with my own written dxroslayer it is not revers at all
svn path=/trunk/; revision=21465
2006-04-05 12:04:59 +00:00
Hervé Poussineau
f3766d0a53 Implement SetupCopyOEMInfA (not tested)
svn path=/trunk/; revision=21464
2006-04-05 11:13:47 +00:00
Magnus Olsen
1b1cb77535 revers my last commit it was misunderstanding from my side
svn path=/trunk/; revision=21463
2006-04-05 10:46:00 +00:00
Magnus Olsen
2c38ab132d patch from w3seek fixing windows handles
svn path=/trunk/; revision=21462
2006-04-05 10:33:55 +00:00
Magnus Olsen
57c64e6317 fix a memmory leak in create surface
svn path=/trunk/; revision=21461
2006-04-05 10:16:11 +00:00
Peter Ward
ea5261fe10 Applied patch by: Thomas Weidenmueller
- win32k window class rewrite.
- http://www.reactos.org/bugzilla/show_bug.cgi?id=1366

svn path=/trunk/; revision=21460
2006-04-05 08:05:55 +00:00
Peter Ward
9607791183 [AUDIT]
reactos\tools\nci (Unlocked):
- No reason for this to be locked (obviously clean).

svn path=/trunk/; revision=21459
2006-04-05 07:45:46 +00:00
Saveliy Tretiakov
72ab05fa56 Implement RpcSmDestroyClientContext and RpcSsDestroyClientContext
svn path=/trunk/; revision=21458
2006-04-05 07:00:28 +00:00
Magnus Olsen
36e69f31ea Start implement HAL Createsurface The code are from my test apps and base on Steffen Schulze, it need more modifaction before it is complete. for now it create primare and overlay with rgb and most graphic card does not support that thx again Steffen Schulze for the info
svn path=/trunk/; revision=21457
2006-04-05 05:43:18 +00:00
James Tabor
636fd975d6 svn propset svn:eol-style native
svn path=/trunk/; revision=21456
2006-04-05 02:40:09 +00:00
James Tabor
3806af8f1a Update Wine User32 test to Apr 4 2006 cvs.
svn path=/trunk/; revision=21455
2006-04-05 02:34:10 +00:00
Saveliy Tretiakov
c38cbb1566 Improved code a bit. Added ContextHandleNdr structure
svn path=/trunk/; revision=21454
2006-04-04 12:56:32 +00:00
Magnus Olsen
070c1cbd9a Start Implement HEL
1. Start implement HEL Inisate 
2. Start implement HEL GetAvailMem 


svn path=/trunk/; revision=21453
2006-04-04 11:49:55 +00:00
Christoph von Wittich
ff41aa0284 fix some warnings when compiling with msvc
svn path=/trunk/; revision=21452
2006-04-03 18:26:52 +00:00
Ged Murphy
0c4bf2fb4b clean up format. I'm not bored, honest....
svn path=/trunk/; revision=21451
2006-04-03 16:50:42 +00:00
Christoph von Wittich
2fc2d85d97 fix warning
svn path=/trunk/; revision=21450
2006-04-02 21:17:14 +00:00
Magnus Olsen
1838fb3a55 Fix Bug 1185 patch from j_anderw(j_anderw@sbox.tugraz.at)
Frik85, DrFred and I talk if we shall commit this small hack to getting open office being install in ReactOS or not

svn path=/trunk/; revision=21449
2006-04-02 20:37:53 +00:00
Magnus Olsen
3bddf87568 Fix regress in GetCaps Thx Christoph_vW seding me the test apps left todo implement Hel Getmemoryavil then we will getting a opengl drv for diablo2 working
svn path=/trunk/; revision=21447
2006-04-02 19:08:31 +00:00
Magnus Olsen
c301311ab1 at last no more crash in create surface but it is not finish
svn path=/trunk/; revision=21445
2006-04-02 16:12:25 +00:00
Magnus Olsen
01b0726ca7 Remove Hal_DDrawSurface_Initialize, Hel_DDrawSurface_Initialize and make sure DDrawSurface_Initialize act as windows ddraw.dll and wine ddraw.dll
Under devlopin with small changes in 
Main_DirectDraw_CreateSurface this interface shall split now into one hel and one hal part



svn path=/trunk/; revision=21444
2006-04-02 15:04:09 +00:00
James Tabor
ed6d1ed52f Patch by Alexandre Julliard, Allow creating windows of the desktop class.
svn path=/trunk/; revision=21443
2006-04-02 05:10:26 +00:00
Aleksey Bragin
84c8c2f8d9 [AUDIT]
lib/rtl/i386:
- Unlock as they are clean (explanations in the corresponding audit.txt doc)

svn path=/trunk/; revision=21441
2006-04-01 21:02:55 +00:00
Magnus Olsen
81d1d1386b Implement Restore mode in DDraw interface
svn path=/trunk/; revision=21440
2006-04-01 20:48:54 +00:00
Magnus Olsen
d94a59a5e2 [AUDIT] the code is from wine no rectos/windows specify changes
svn path=/trunk/; revision=21438
2006-04-01 19:30:29 +00:00
Magnus Olsen
b083b31064 This file is simple warper to gdi32 as windows xp/2k3 d3dthk.dll is and it is not revers no source code exists here. only redirect the api call to gdi32.dll
it is not windows 2k/nt4 compatible. and this file is 100% complete

svn path=/trunk/; revision=21437
2006-04-01 19:26:13 +00:00
Magnus Olsen
d4e64e6697 This files is emty and do not contain any real code on a dummy interface to prepare the implement of d3d9.dll
svn path=/trunk/; revision=21436
2006-04-01 19:23:26 +00:00
Magnus Olsen
7e5a9e9080 This files is emty and do not contain any real code on a dummy interface to prepare the implement of d3d8.dll
svn path=/trunk/; revision=21435
2006-04-01 19:21:01 +00:00
Magnus Olsen
e04f8d9c80 Unlock all file no of these file have been revers.
Correct The HAL startup process thanks to Steffen Schulze to solv it He is working with close software 
He have wrote complete MoComp to us but  am waiting with to commit that interface. Rember all code he have done is being use in close source apps and thuse apps will stay close source. In his source code overlay surface is working fine. This is frist step to correct HAL. Now we need fix the CreateSurface process. 

 

svn path=/trunk/; revision=21434
2006-04-01 19:12:56 +00:00
Ged Murphy
b5c963889c - change the GDI code a bit so it's able to handle multiple tables (e.g. separate Dd table)
- patch by Thomas Weidenmueller

svn path=/trunk/; revision=21433
2006-04-01 15:25:40 +00:00
KJK::Hyperion
018539280c - deleted temporary files, generated files, binaries
- migrated project files to Visual C++ 2005 Express - the latest, the best, for free
 - converted to an Unicode application

svn path=/trunk/; revision=21432
2006-04-01 15:02:38 +00:00
Saveliy Tretiakov
7908ce58a8 [AUDIT] aclui is clean.
svn path=/trunk/; revision=21431
2006-03-31 17:49:23 +00:00
Saveliy Tretiakov
cbf1a50105 [AUDIT] acledit is clean.
svn path=/trunk/; revision=21430
2006-03-31 17:48:35 +00:00
Saveliy Tretiakov
03c6eb4692 [AUDIT] msgina is clean.
svn path=/trunk/; revision=21429
2006-03-31 17:47:52 +00:00
Saveliy Tretiakov
7bc239d610 Add Maarten Bosma and Nathan Woods
svn path=/trunk/; revision=21428
2006-03-31 13:42:22 +00:00
Saveliy Tretiakov
db4d20e4ce Implement NdrClientContextUnmarshall()
svn path=/trunk/; revision=21427
2006-03-31 13:31:36 +00:00
Eric Kohl
a73bbf338a Fix a typo
svn path=/trunk/; revision=21426
2006-03-31 11:08:59 +00:00
Ged Murphy
3ef529150a update wine doc.
svn path=/trunk/; revision=21425
2006-03-31 09:53:38 +00:00
Ged Murphy
a55b0b326d re-sync comctl32 to 20060328.
svn path=/trunk/; revision=21424
2006-03-31 00:41:37 +00:00
Aleksey Bragin
a27ea9fe0a - Translation of userinit to Russian language by Anton Belitsky.
- Proofread by me

svn path=/trunk/; revision=21423
2006-03-30 21:09:03 +00:00
Aleksey Bragin
87797248ff - Translation of getfirefox and servman to Russian language by Lentin (lentind at yandex dot ru).
- Proofread/edited by me

svn path=/trunk/; revision=21422
2006-03-30 21:02:12 +00:00
Aleksey Bragin
12dec39687 - Translation of cpl/intl, liccpa, sysdm to Russian language by Lentin (lentind at yandex dot ru).
- Proofread/edited by me

svn path=/trunk/; revision=21421
2006-03-30 20:50:27 +00:00
Aleksey Bragin
2eb96004ed - Translation of expand and regsvr32 to Russian language by Lentin.
- Proofread/edited by me

svn path=/trunk/; revision=21420
2006-03-30 20:39:33 +00:00
Saveliy Tretiakov
e69f650944 Implement NDRCContextUnmarshall()
svn path=/trunk/; revision=21419
2006-03-30 19:07:08 +00:00
Saveliy Tretiakov
151663dfeb Implement NdrClinentContextMarshall()
svn path=/trunk/; revision=21418
2006-03-30 17:28:06 +00:00
Saveliy Tretiakov
ae889d6508 NDRCContextBinding should raise an exception when NULL pointer is passed
svn path=/trunk/; revision=21417
2006-03-30 16:58:12 +00:00
Saveliy Tretiakov
d6de71713e More tests
svn path=/trunk/; revision=21416
2006-03-30 16:43:32 +00:00
Ged Murphy
97a6c27695 remove the svn:needs-lock prop. These have already been unlocked but were missed.
svn path=/trunk/; revision=21414
2006-03-30 10:10:31 +00:00
Ged Murphy
09265028ce update Wine sync doc
svn path=/trunk/; revision=21413
2006-03-30 09:37:33 +00:00
Ged Murphy
da76a6a267 revamp the recent docs icon
svn path=/trunk/; revision=21412
2006-03-30 09:26:48 +00:00
Ged Murphy
9e30dec486 dropping this defragger in here for safe keeping. It's pretty hard to come by on the net now.
svn path=/trunk/; revision=21411
2006-03-30 00:09:09 +00:00
Saveliy Tretiakov
6634193239 Forget to update rpcrt4.spec
svn path=/trunk/; revision=21410
2006-03-29 19:15:29 +00:00
Saveliy Tretiakov
858feb20c2 Implement NdrCContextMarshall()
svn path=/trunk/; revision=21409
2006-03-29 19:09:43 +00:00
Saveliy Tretiakov
3fdda32084 Implement NDRCContextBinding()
svn path=/trunk/; revision=21408
2006-03-29 18:11:19 +00:00
Saveliy Tretiakov
50602379e8 Test application for demonstration of how undocumented context handle function work.
svn path=/trunk/; revision=21407
2006-03-29 17:42:29 +00:00
Ged Murphy
4f915f4ae1 remove Wine makefile
svn path=/trunk/; revision=21406
2006-03-29 15:04:50 +00:00
Ged Murphy
3da0dd2989 - [AUDIT] unlocked notepad. Much of the code is from Wine, ReactOS code builds on this.
- Implement find next and add some German resources - patch by timo.kreuzer@web.de
- fixes bugs 1351 & 1352

svn path=/trunk/; revision=21405
2006-03-29 14:51:37 +00:00
Ged Murphy
6fe727f643 Import a very basic version of wordpad from Wine.
svn path=/trunk/; revision=21404
2006-03-28 21:15:04 +00:00
Ged Murphy
1cd2317a7f sync to wine-20060328
*listview.c
- Mike McCormack <mike@codeweavers.com>
comctl32: Get rid of some incorrect casts.

- Peter ┼strand <astrand@cendio.se>
comctl32: LISTVIEW_InsertItemT should accept iItem < 0, when using sorted lists.

- Mike McCormack <mike@codeweavers.com>
comctl32: Fix some gcc 4.1 warnings caused by windowsx.h macros.

- Maarten Lankhorst <m.b.lankhorst@gmail.com>
comctl32: Restore listview font on CDRF_NEWFONT.

- Dmitry Timoshkov <dmitry@codeweavers.com>
comctl32: Make listview use standard wine_dbg_sprintf and wine_dbgstr_xxx.

- Vitaliy Margolen <wine-patch@kievinfo.com>
comctl32: Listview - allow selection toggle with ctrl+space.


*comctl32undoc.c
- Mike McCormack <mike@codeweavers.com>
comctl32: Having an MRU list without a compare function works in Windows.

- Thomas Weidenmueller <wine-patches@reactsoft.com>
comctrl32: ReAlloc should be able to move memory blocks if necessary.


*rebar.c
- Thomas Weidenmueller <wine-patches@reactsoft.com>
comctl32: Rebar size fix.

Rebars without any bands should have a height/width of 0.

- Phil Krylov <phil@newstar.rinet.ru>
comctl32: Fix rebar autosize behaviour.
Allow autoresizing rebar by PostMessage(hwndRebar, WM_SIZE, 0, 0) like
native does, taking as few rows as possible and using the parent
window client area size for the other dimension (width for horizontal
rebars or height for vertical ones).


*tab.c
- James Hawkins <truiken@gmail.com>
comctl32: A couple fixes for tab icon offsets.

Shift selected icons up and non-selected icons down.
Add the top or left draw rect to the vertical offset, because it may
not be zero.

- Tobias Loew <tobi@die-loews.de>
comctl32: Fix tab-control flickering.


*tooltips.c
- Rein Klazes <wijn@wanadoo.nl>
comctl32: Do not free LPSTR_TEXTCALLBACK tooltip texts.

svn path=/trunk/; revision=21403
2006-03-28 15:01:59 +00:00
Aleksey Bragin
184d7fdb71 - Sync oleaut32.dll to Wine-0.9.10
- Change related header files

svn path=/trunk/; revision=21399
2006-03-27 16:44:53 +00:00
Aleksey Bragin
b40a53ddf9 - Fix incorrect RPCRTAPI definition
- Add more languages to winnt.h (needed for further oleaut32 wine sync)
- Moved some languages out of wine/winnt.h and changing their value to those in windows headers

svn path=/trunk/; revision=21398
2006-03-27 13:30:37 +00:00
Peter Ward
81a4845c26 [AUDIT]
reactos\drivers\storage\disk (Unlocked):
- I've read over each function and there is nothing in here
  which is reversed, besides it's not even compatible with
  the windows counter-part.
- I state that this is clean.

svn path=/trunk/; revision=21397
2006-03-27 07:38:43 +00:00
Peter Ward
088d9ac735 Fixed a few spelling mistakes and change http://www.reactos.com to http://www.reactos.org/.
svn path=/trunk/; revision=21396
2006-03-26 19:57:49 +00:00
Aleksey Bragin
5e7a909713 - Update rpc-related headers to Wine 0.9.10 (rpcndr.h is merged with the new changes, not replaced completely)
- dll/rpcrt4 - if NdrSendReceive fails, don't produce um exception, but just print a warning - as it was before the Wine 0.9.10 merge (fixes TaskMgr regression, and probably other related things)

svn path=/trunk/; revision=21395
2006-03-26 19:38:03 +00:00
Aleksey Bragin
008f6d9b8f - Sync rpcfc.h to Wine-0.9.10
svn path=/trunk/; revision=21394
2006-03-26 16:04:49 +00:00
Aleksey Bragin
6a46c71a1a - Fix DbgPrint -> DPRINT1, commented out DbgPrint -> DPRINT
- Fix a pair of places where failure results in no debug message
- Formatting is still UGLY. To be fixed later.

svn path=/trunk/; revision=21392
2006-03-25 21:04:40 +00:00
Peter Ward
43afc66e5c [AUDIT]
reactos\base\system\expand (Unlocked):
- Clean.

svn path=/trunk/; revision=21391
2006-03-25 20:39:54 +00:00
Peter Ward
b64c0214fc [AUDIT]
reactos\base\system\autochk (Unlocked):
- Clean.

svn path=/trunk/; revision=21390
2006-03-25 20:36:54 +00:00
Aleksey Bragin
4002f3cd8b [AUDIT]
winlogon:
- One half of functions is UNIMPLEMENTED - thus clean
- The other functions are fully reactos-specific and not compatible with windows kernel at all - thus there was no need to reverse engineer.
- Changed one typo in comments in wlx.c

svn path=/trunk/; revision=21389
2006-03-25 20:16:27 +00:00
Christoph von Wittich
fd2f898ef9 fix drawing of GROUPBOX controls
svn path=/trunk/; revision=21388
2006-03-25 15:53:14 +00:00
Peter Ward
3c33d41806 [AUDIT]
reactos\base\shell\cmd (Unlocked):
- Clean.
- Derived from FreeCOM.

svn path=/trunk/; revision=21387
2006-03-25 15:53:01 +00:00
Christoph von Wittich
17147e2c6d fix toolbar icons
svn path=/trunk/; revision=21386
2006-03-25 11:27:48 +00:00
Peter Ward
3a483c43db [AUDIT]
reactos\drivers\filesystems\mup (Unlocked):
- Clean.

svn path=/trunk/; revision=21385
2006-03-25 01:39:22 +00:00
Peter Ward
77a002b25d [AUDIT]
reactos\drivers\filesystems\template (Unlocked):
- No reason for this to be locked (obviously clean).

svn path=/trunk/; revision=21384
2006-03-25 01:34:07 +00:00
Peter Ward
c748e0018f [AUDIT]
reactos\drivers\filesystems\minix (Unlocked):
- No reason for this to be locked (obviously clean).

svn path=/trunk/; revision=21383
2006-03-25 01:31:39 +00:00
Peter Ward
a19635a267 [AUDIT]
reactos\drivers\filesystems\ext2 (Unlocked):
- No reason for this to be locked (obviously clean).

svn path=/trunk/; revision=21382
2006-03-25 01:28:11 +00:00
Peter Ward
e92c90a8d8 [AUDIT]
reactos\lib\tgetopt (Unlocked):
- No reason for this to be locked (obviously clean).

svn path=/trunk/; revision=21381
2006-03-25 00:46:39 +00:00
Peter Ward
c795b788a0 [AUDIT]
reactos\dll\keyboard (Unlocked):
- No reason for this to be locked (obviously clean).

svn path=/trunk/; revision=21380
2006-03-25 00:38:20 +00:00
Maarten Bosma
d95410ab89 Removed on kjk's request
svn path=/trunk/; revision=21379
2006-03-25 00:18:44 +00:00
Ged Murphy
60abc829a8 - cleannup code
- an excuse to commit to make encoded happy  :)

svn path=/trunk/; revision=21378
2006-03-25 00:04:29 +00:00
Ged Murphy
a6e679a8b3 docking toolbar fixes from Thomas. 1st attempt at always active floating toolbars
svn path=/trunk/; revision=21377
2006-03-24 20:59:38 +00:00
Ged Murphy
e3342f0b3e - Fix drawing onto loaded bitmaps.
- Don't call CreateCompatibleDC for each paint
- Make the floating windows translucent unless the cursor is over them
- Put in some temp code for basic sketches. (this functionality needs incorporating into separate tool functions)
- change the internal name 'floating toolbars' to 'floating windows' to avoid confusion.

svn path=/trunk/; revision=21376
2006-03-24 19:39:07 +00:00
Peter Ward
5e4fc1d4c3 [AUDIT]
reactos\tools\wine2ros (Unlocked):
- No reason for these to be locked (obviously clean).

svn path=/trunk/; revision=21375
2006-03-24 18:43:52 +00:00
Saveliy Tretiakov
e60bf30f95 Implement RpcBindingCopy()
svn path=/trunk/; revision=21374
2006-03-24 14:14:34 +00:00
Ged Murphy
b7c89c9fe6 Add the floating windows and anchor them the the main window if moved
svn path=/trunk/; revision=21373
2006-03-23 19:27:38 +00:00
Christoph von Wittich
4902277f8c restore the bitmap in hDCMem before deleting the DC
svn path=/trunk/; revision=21372
2006-03-22 22:22:33 +00:00
Peter Ward
2df957f4a3 [AUDIT]
reactos\tools\regtests2xml (Unlocked):
reactos\tools\rgenstat     (Unlocked):
- No reason for these to be locked (obviously clean).

svn path=/trunk/; revision=21371
2006-03-22 21:57:25 +00:00
Peter Ward
e38ab38ac8 [AUDIT]
reactos\tools\pipetools (Unlocked):
- No reason for pipetools to be locked (obviously clean).

svn path=/trunk/; revision=21370
2006-03-22 21:41:11 +00:00
Peter Ward
7758c91e79 Alphabetized the name list in the CREDITS file.
svn path=/trunk/; revision=21369
2006-03-22 21:19:25 +00:00
Ged Murphy
e7cd66298d add a reminder note to fix the check.
svn path=/trunk/; revision=21368
2006-03-22 21:16:54 +00:00
Ged Murphy
05ddf03004 - temp fix opening of bitmaps
- link manifest

svn path=/trunk/; revision=21366
2006-03-22 21:13:06 +00:00
Ged Murphy
6f45035366 - start to implement conversion factors for new image properties
- implement opening and displaying of bitmaps
- add new icons for the standard toolbar

svn path=/trunk/; revision=21365
2006-03-22 19:51:51 +00:00
Aleksey Bragin
b9c92e97f2 - Translation of base/applications/sm into Russian language by Lentin
- Edited by me

svn path=/trunk/; revision=21364
2006-03-22 10:45:25 +00:00
Alex Ionescu
1a35a96fa2 - Add these two missing headers.
svn path=/trunk/; revision=21363
2006-03-21 22:48:26 +00:00
Aleksey Bragin
43a02bfa45 Sync to Wine-0_9_10:
Robert Shearman <rob@codeweavers.com>
- ndrtypes.h added into reactos/include
- too many changes to paste here. Look at the url below, checking all changes done after Wine-0_9_5 tag (including Wine-0_9_10 as the last one)
- http://cvs.winehq.com/cvsweb/wine/dlls/rpcrt4/?cvsroot=home/wine

svn path=/trunk/; revision=21362
2006-03-20 21:52:24 +00:00
Aleksey Bragin
1e8013cf73 - Reflect recent changes in the SVN server / ViewVC path in the WINE-importing guide
svn path=/trunk/; revision=21359
2006-03-20 09:36:03 +00:00
Saveliy Tretiakov
3eb5ed134d [AUDIT] Unlock security.dll (no code, redirects to secur32.dll)
svn path=/trunk/; revision=21358
2006-03-20 09:16:10 +00:00
Saveliy Tretiakov
cb29b4cd9b [AUDIT] Unlock wsock32.dll (no code, obviously clean)
svn path=/trunk/; revision=21357
2006-03-20 08:58:22 +00:00
Saveliy Tretiakov
c8e8162638 [AUDIT] Unlock winfax (no code, obviously clean)
svn path=/trunk/; revision=21356
2006-03-20 08:49:38 +00:00
Peter Ward
822bbce3cc [AUDIT]
reactos\tools\gendib (Unlocked):
reactos\tools\ms2ps  (Unlocked):
- No reason for these to be locked (obviously clean).

svn path=/trunk/; revision=21355
2006-03-20 00:22:46 +00:00
Peter Ward
f2c011d4cb [AUDIT]
reactos\tools\create_nls (Unlocked):
- No reason for this to be locked (obviously clean).
- Also sources of information are cited in the source file.

svn path=/trunk/; revision=21353
2006-03-19 18:32:58 +00:00
Peter Ward
c631f8ef8e [AUDIT]
reactos\tools\cdmake (Unlocked):
- No reason for this to be locked (obviously clean).

svn path=/trunk/; revision=21352
2006-03-19 18:18:15 +00:00
Peter Ward
5218d99616 [AUDIT]
reactos\tools\buildno (Unlocked):
- No reason for this to be locked (obviously clean).

svn path=/trunk/; revision=21351
2006-03-19 18:09:20 +00:00
Peter Ward
c92a669e73 [AUDIT]
reactos\base\applications\msconfig (Unlocked):
- The author Christoph von Wittich has verified that msconfig is clean
  and no reverse engineered code is used within it.

svn path=/trunk/; revision=21350
2006-03-19 17:28:59 +00:00
Aleksey Bragin
c4d7f39e50 - Translation of dll/cpl/desk to Russian language by Anton Belitsky (bmoof).
- Proofread/edited by #reactos-ru channel

svn path=/trunk/; revision=21349
2006-03-19 14:53:35 +00:00
Aleksey Bragin
ad539883ba - Translation of dll/cpl/access to Russian language by Dmitriy Chapushev (Lentin). Thanks to Anton Belitsky (bmoof) for converting this to a patch
- Proofread/edited by me

svn path=/trunk/; revision=21348
2006-03-19 13:30:40 +00:00
Ged Murphy
f51074e25c fix combo box view
svn path=/trunk/; revision=21341
2006-03-19 01:53:34 +00:00
Ged Murphy
0c48bae3e0 unlock the service manager. I am the only author and can verify it's clean
svn path=/trunk/; revision=21340
2006-03-19 01:25:14 +00:00
Peter Ward
f3216ee6b8 [AUDIT]
reactos\boot\freeldr (Unlocked):
- The issue with freeldr has been cleared up. It was stated by the author
  Brian Palmer that no reverse engineered code is used within it, Several
  other developers I've spoken with on IRC agree.

svn path=/trunk/; revision=21339
2006-03-18 22:09:16 +00:00
Peter Ward
d167d38729 [AUDIT]
reactos\lib\3rdparty\libxml2 (Unlocked):
- 3rd party code.

svn path=/trunk/; revision=21338
2006-03-18 19:24:41 +00:00
Peter Ward
ecc599c66f [AUDIT]
reactos\lib\3rdparty\expat (Unlocked):
- 3rd party code.

svn path=/trunk/; revision=21337
2006-03-18 18:55:21 +00:00
Saveliy Tretiakov
9cb1067fb0 [AUDIT] Unlock bootdata
svn path=/trunk/; revision=21336
2006-03-18 18:52:45 +00:00
Peter Ward
e0c7eda7d9 [AUDIT]
reactos\lib\3rdparty\bzip2 (Unlocked):
- 3rd party code.

svn path=/trunk/; revision=21335
2006-03-18 18:37:46 +00:00
Peter Ward
1bf5c80c7d [AUDIT]
reactos\lib\3rdparty\adns (Unlocked):
- 3rd party code.

svn path=/trunk/; revision=21334
2006-03-18 18:25:48 +00:00
Peter Ward
686773f335 [AUDIT]
All .rbuild files in the repository (Unlocked):
- No reason for .rbuild files to be locked.

svn path=/trunk/; revision=21333
2006-03-18 16:50:09 +00:00
Maarten Bosma
829417df54 Unlock ddraw dll. Maguns and I were the only authors and neither of us used unclean methods to implement it.
svn path=/trunk/; revision=21332
2006-03-18 15:25:54 +00:00
Aleksey Bragin
dc72c9afb4 [AUDIT]
ntoskrnl:
- pnpnotify.c: hpoussin and filip are authors, hpoussin states his work as clean. I checked through this file, everything seems quite logic to me, and no rules violation exists
- pnpreport.c: Only 2 functions are really implemented, and their implementation is trivial and relatively small. I count them as clean. Others are just unimplemented
- wmi.c: This file consists of stubs and is obviously clean

svn path=/trunk/; revision=21331
2006-03-18 13:36:21 +00:00
Aleksey Bragin
1bac946192 [AUDIT]
ntoskrnl:
- Unlocked obviously clean stuff

svn path=/trunk/; revision=21330
2006-03-18 13:25:31 +00:00
Aleksey Bragin
9c4fa921e9 - Translation of winlogon app to Russian language by Anton Belitsky (bmoof)
- Proofread/edited by me

svn path=/trunk/; revision=21329
2006-03-18 10:06:29 +00:00
Aleksey Bragin
1a00216208 [AUDIT]
reactos/base/system/winlogon:
- Unlocked .rc files
- Unlocked .h files (they contain only prototypes and a pair of simple macros)
- Unlocked .rbuild for winlogon and for system directories

svn path=/trunk/; revision=21328
2006-03-18 08:56:11 +00:00
Peter Ward
ec30df03c7 [AUDIT]
reactos/tools/*.* (Unlocked):
- There is no reason for these files to be locked
  they can't possibly be dirty.

svn path=/trunk/; revision=21327
2006-03-18 04:21:38 +00:00
Aleksey Bragin
04a6e13e6f - Translation of welcome app by Anton Belitsky (bmoof)
- Proofread by me

svn path=/trunk/; revision=21326
2006-03-17 22:38:59 +00:00
Aleksey Bragin
968641d490 [AUDIT]
reactos/base/setup/welcome:
- Every functions in the source file looks fine, no signs of reverse engineering (also no need in reverse engineering) and every function is typical for such application
- I state that this application's code is clean
- Artwork is original

svn path=/trunk/; revision=21325
2006-03-17 22:07:04 +00:00
Aleksey Bragin
6d10b54c43 - Patch by Anton Belitsky: Translation of base/applications/reporteror to Russian language.
- Edited and proofread by me.

svn path=/trunk/; revision=21324
2006-03-17 21:38:17 +00:00
Aleksey Bragin
ab7af7de0e [AUDIT]
reactos/base/applications:
- Unlock text resources, .rbuild files
- Unlock obviously clean stuff (e.g. taken from Wine, or not written by ReactOS developers, or smaller than 5 lines funcs)

svn path=/trunk/; revision=21323
2006-03-17 15:43:34 +00:00
Saveliy Tretiakov
e770e2ea98 Fix compiling with midl. According to msdn documentation, this could be done with /app_config key, but it doesn't work for me.
svn path=/trunk/; revision=21322
2006-03-17 15:00:09 +00:00
Aleksey Bragin
0b5769a857 - One more change to fix compile
svn path=/trunk/; revision=21321
2006-03-17 14:08:13 +00:00
Aleksey Bragin
b008c608ad - Fix RtlOemStringToUnicodeString() prototype according to the new WDK
- Trunk is buildable again

svn path=/trunk/; revision=21320
2006-03-17 10:51:45 +00:00
Saveliy Tretiakov
ff19f85f57 Temporary disable rpc in eventlog to avoid build breakage.
(will be automatically enabled when compiling with midl and msvc)
Make eventlogrpc.idl compatible with windows. Reuse names from
http://www.hsc.fr/ressources/articles/win_net_srv/ch04s07s06.html


svn path=/trunk/; revision=21319
2006-03-16 18:41:32 +00:00
Alex Ionescu
0b57564353 - Some more IFS/DDK compatibility fixes.
svn path=/trunk/; revision=21318
2006-03-16 17:10:05 +00:00
Aleksey Bragin
4be03b9e4c [AUDIT]
- Clean according to the author (w3seek)

svn path=/trunk/; revision=21317
2006-03-16 10:20:33 +00:00
Alex Ionescu
412d581272 - Added sdkddkver.h for WDK/PSDK-compatible versionning, also needed for the next NDK.
svn path=/trunk/; revision=21316
2006-03-16 02:31:11 +00:00
Alex Ionescu
0d1d896662 - Add a bunch of missing types to the W32API DDK/IFS.
svn path=/trunk/; revision=21315
2006-03-16 00:14:10 +00:00
Alex Ionescu
a143130ef9 - Add rosldr.h for ReactOS-only loader types (not to conflict with actual NT types). Currently unused.
svn path=/trunk/; revision=21314
2006-03-16 00:13:07 +00:00
Aleksey Bragin
98f4ba1e9e - TranslationsPatch by Anton Belitsky: Translation to Russian language of CPLs: hdwwiz, main, mmsys, ncpa, timedate.
- Proofread and edited by me.


svn path=/trunk/; revision=21313
2006-03-15 19:26:56 +00:00
Aleksey Bragin
d62c4c164c Unlock main .rc files.
svn path=/trunk/; revision=21312
2006-03-15 16:37:25 +00:00
Aleksey Bragin
7ae343ea05 Unlock translations, .rbuild, .def and .dsp/.dsw files as not falling under auditing process.
svn path=/trunk/; revision=21311
2006-03-15 14:12:36 +00:00
Art Yerkes
4963698099 ShadowFlare asserts that these are clean, and are partly based on WINE sources,
and application of some test cases.

svn path=/trunk/; revision=21310
2006-03-13 20:51:29 +00:00
Maarten Bosma
0e185c2a0c buiteldk (sb009428(at)tiscali(dot)nl): Prevent unrecognized escape-sequence warnings in comdlg32 resources (Bug 1322)
svn path=/trunk/; revision=21309
2006-03-13 20:02:57 +00:00
Aleksey Bragin
b4e4463890 Patch by Anton Belitsky: Translation to Russian language.
Proofread by me.

svn path=/trunk/; revision=21308
2006-03-12 21:16:05 +00:00
Aleksey Bragin
6f1a6f4f25 - Removing locks from resources, translations and .rbuild file
- The actual source code (rundll32.c) to be audited later

svn path=/trunk/; revision=21307
2006-03-12 21:13:35 +00:00
Aleksey Bragin
0dce1ec2f6 Patch by Anton Belitsky: Translation of ReactOS CD Setup application.
Proofread by me.

svn path=/trunk/; revision=21306
2006-03-12 21:07:33 +00:00
Aleksey Bragin
3329692e81 Removing lock, this module is obviously clean
svn path=/trunk/; revision=21305
2006-03-12 21:04:42 +00:00
James Tabor
995fa669e2 Removed locks.
svn path=/trunk/; revision=21304
2006-03-12 00:49:19 +00:00
James Tabor
d3ffae6b9e Removed locks.
svn path=/trunk/; revision=21303
2006-03-12 00:41:06 +00:00
James Tabor
4b68f56c5b Removed locks.
svn path=/trunk/; revision=21302
2006-03-12 00:38:59 +00:00
James Tabor
546c560ce3 Removed locks.
svn path=/trunk/; revision=21301
2006-03-12 00:30:40 +00:00
James Tabor
ac8e88d2fa Removed locks.
svn path=/trunk/; revision=21300
2006-03-12 00:11:46 +00:00
James Tabor
16f02ad718 Removed locks. This will soon be merge with wine source.
svn path=/trunk/; revision=21299
2006-03-12 00:10:10 +00:00
James Tabor
01d4052e17 Removed locks.
svn path=/trunk/; revision=21298
2006-03-12 00:08:41 +00:00
James Tabor
68741291e2 Removed locks.
svn path=/trunk/; revision=21297
2006-03-12 00:07:02 +00:00
James Tabor
38f28b93c3 Removed locks.
svn path=/trunk/; revision=21296
2006-03-12 00:02:53 +00:00
James Tabor
91e1493e3a Removed locks.
svn path=/trunk/; revision=21295
2006-03-12 00:01:12 +00:00
James Tabor
8feb11ab91 Removed locks.
svn path=/trunk/; revision=21294
2006-03-11 23:59:13 +00:00
James Tabor
0e73bdcf6e Removed locks. Did this one last night for crashfourit.
svn path=/trunk/; revision=21293
2006-03-11 23:55:37 +00:00
James Tabor
fe1973bf00 Removed locks. I help in writing most of this, and checked and dub-checked the cvs & svn logs. Allot of it is based on wine and ugly hax.
svn path=/trunk/; revision=21292
2006-03-11 23:50:04 +00:00
The ReactOS Code Auditors
e1aa26c0fc Lock the unclean dll. (To be audited later). Previously it was unlocked by mistake.
svn path=/trunk/; revision=21291
2006-03-11 11:39:20 +00:00
Aleksey Bragin
0487a3e113 Unlock Regedit as clean (Wine sharing)
svn path=/trunk/; revision=21290
2006-03-11 11:24:55 +00:00
Aleksey Bragin
47f068b384 Patch by Anton Belitsky, Regedit russian translation. Proofread by me.
svn path=/trunk/; revision=21289
2006-03-11 10:59:55 +00:00
Aleksey Bragin
d0f52d57a8 Removing svn lock from translations and resource files, they are clean.
svn path=/trunk/; revision=21288
2006-03-11 10:54:11 +00:00
James Tabor
caaede0c2f Removed locks.
svn path=/trunk/; revision=21287
2006-03-10 23:47:23 +00:00
James Tabor
7ced4f775a Removed locks.
svn path=/trunk/; revision=21286
2006-03-10 23:32:46 +00:00
James Tabor
90f7dc6f6c Removed locks.
svn path=/trunk/; revision=21285
2006-03-10 23:22:58 +00:00
Saveliy Tretiakov
91d1a0e350 Unlock wine dlls
svn path=/trunk/; revision=21284
2006-03-10 16:55:37 +00:00
Saveliy Tretiakov
dac22e3a01 Unlock cabinet (wine dll)
svn path=/trunk/; revision=21283
2006-03-10 07:54:45 +00:00
Saveliy Tretiakov
4a1f8b698f Unlock avifil32 (wine dll)
svn path=/trunk/; revision=21282
2006-03-10 07:52:05 +00:00
Saveliy Tretiakov
66ef37e925 Update directories
svn path=/trunk/; revision=21281
2006-03-10 07:19:29 +00:00
Saveliy Tretiakov
ce10ce2d64 Unlock wine tools
svn path=/trunk/; revision=21280
2006-03-10 06:42:47 +00:00
Saveliy Tretiakov
61df7df1e4 Unlock rpcss
svn path=/trunk/; revision=21279
2006-03-10 06:09:58 +00:00
Saveliy Tretiakov
a26897d155 Unlock EventLog
svn path=/trunk/; revision=21278
2006-03-10 06:06:14 +00:00
Art Yerkes
b56a3a6f45 Removed lock.
svn path=/trunk/; revision=21277
2006-03-10 02:57:45 +00:00
Ged Murphy
dba8cd9525 unlock some RTL files and commit the patch from bug 1341, by Thomas
svn path=/trunk/; revision=21276
2006-03-09 21:43:58 +00:00
Ged Murphy
f4f32b380c update ntmarta patch
svn path=/trunk/; revision=21274
2006-03-09 20:44:27 +00:00
Ged Murphy
d82d596186 - unlock ntmatra
- Implementation of GetExplicitEntriesFromAcl
- fixes bug 1339
- by Thomas Weidenmueller

svn path=/trunk/; revision=21273
2006-03-09 20:15:11 +00:00
Aleksey Bragin
7b42ee2289 - Unlock (these files are clean)
- Fix an obvious bug with RtlCompareMemory (thanks to w3seek for spotting this bug)

svn path=/trunk/; revision=21272
2006-03-09 16:27:20 +00:00
Saveliy Tretiakov
a367ae5948 Delete useless empty directory
svn path=/trunk/; revision=21271
2006-03-09 14:51:24 +00:00
Klemens Friedl
50b961dc88 Code Auditing:
file is okay/clean

svn path=/trunk/; revision=21270
2006-03-09 09:01:04 +00:00
Ged Murphy
8f4ebecb24 remove lock / svn:needs-lock
svn path=/trunk/; revision=21269
2006-03-09 00:27:19 +00:00
Ged Murphy
b916beeda8 remove lock / svn:needs-lock
svn path=/trunk/; revision=21268
2006-03-09 00:15:58 +00:00
The ReactOS Code Auditors
0ce95c7ae8 Lock all code in the repository.
svn path=/trunk/; revision=21267
2006-03-08 23:37:58 +00:00
The ReactOS Code Auditors
8ee1796a5b Lock all code in the repository.
svn path=/trunk/; revision=21266
2006-03-08 23:36:48 +00:00
The ReactOS Code Auditors
b96950107b Lock all code in the repository.
svn path=/trunk/; revision=21265
2006-03-08 23:35:33 +00:00
The ReactOS Code Auditors
288a40d21b Lock all code in the repository.
svn path=/trunk/; revision=21264
2006-03-08 23:34:58 +00:00
The ReactOS Code Auditors
8b31193508 Lock all code in the repository.
svn path=/trunk/; revision=21263
2006-03-08 23:32:01 +00:00
The ReactOS Code Auditors
c8c61f0c12 Lock all code in the repository.
svn path=/trunk/; revision=21262
2006-03-08 23:27:16 +00:00
The ReactOS Code Auditors
790f022a43 Lock all code in the repository.
svn path=/trunk/; revision=21261
2006-03-08 23:26:25 +00:00
The ReactOS Code Auditors
f477a05932 Lock all code in the repository.
svn path=/trunk/; revision=21260
2006-03-08 23:23:57 +00:00
The ReactOS Code Auditors
5903324f97 Lock all code in the repository.
svn path=/trunk/; revision=21259
2006-03-08 23:18:27 +00:00
The ReactOS Code Auditors
7c24ee5fae Lock all code in the repository.
svn path=/trunk/; revision=21258
2006-03-08 23:12:35 +00:00
The ReactOS Code Auditors
510eb4e221 Lock all code in the repository.
svn path=/trunk/; revision=21257
2006-03-08 23:07:09 +00:00
Ged Murphy
4ed1d51551 break/remove the lock
svn path=/trunk/; revision=21256
2006-03-08 22:07:29 +00:00
The ReactOS Code Auditors
e6fe794a8b test lock
svn path=/trunk/; revision=21255
2006-03-08 22:01:58 +00:00
The ReactOS Code Auditors
98bc571f52 lock kernel correctly this time.
svn path=/trunk/; revision=21254
2006-03-08 21:39:57 +00:00
The ReactOS Code Auditors
f0cfb95b4c lock kernel32
svn path=/trunk/; revision=21253
2006-03-08 21:33:04 +00:00
The ReactOS Code Auditors
a3e80fdaa3 lock the kernel for the audit.
svn path=/trunk/; revision=21252
2006-03-08 20:03:59 +00:00
The ReactOS Code Auditors
519828d8eb - first attempt at locking code for the audit
- contains the svn property svn:needs-lock

svn path=/trunk/; revision=21251
2006-03-08 19:39:25 +00:00
Ged Murphy
9a2722b58b - Allow more customizations in the monthcal
- fixes bug 1338
- by Thomas Weidenmueller


svn path=/trunk/; revision=21250
2006-03-08 19:31:03 +00:00
Ged Murphy
7dfc2dfebb - Enable SE_SYSTEMTIME_NAME privilege for timedate.cpl
- fixes bug 1337
- by Thomas Weidenmueller


svn path=/trunk/; revision=21249
2006-03-08 19:28:44 +00:00
Ged Murphy
daa4402f55 - Implement some security functions regedit relies on
- fixes bug 1336
- by Thomas Weidenmueller


svn path=/trunk/; revision=21248
2006-03-08 19:24:46 +00:00
Aleksey Bragin
66ef58378d - Improvement of the security interfaces implementation in regedit.
- Fix winetests/advapi32
- Patch by Thomas Weidenmueller (w3seek)

svn path=/trunk/; revision=21247
2006-03-08 12:57:21 +00:00
Ged Murphy
95558d0f30 - fix UI state handling
- by Thomas Weidenmueller

svn path=/trunk/; revision=21246
2006-03-07 23:33:19 +00:00
Ged Murphy
5316bc7eef - New and improved calender control for the time and date control panel
- by Thomas Weidenmueller

svn path=/trunk/; revision=21245
2006-03-07 20:59:11 +00:00
Ged Murphy
0cfabeb042 Allow naming of image and provisional setting of DIB bitcount, width, height and resolution.
svn path=/trunk/; revision=21244
2006-03-07 17:34:18 +00:00
Eric Kohl
6754e0b5af Pass session pointer to CreateWindowEx.
svn path=/trunk/; revision=21243
2006-03-06 23:13:34 +00:00
Ged Murphy
794b5e6044 reactosify the definitions
svn path=/trunk/; revision=21242
2006-03-06 23:04:28 +00:00
Ged Murphy
9404c07d2c add the following definitions : USER_TIMER_MAXIMUM, USER_TIMER_MINIMUM, SM_CXFOCUSBORDER, SM_CYFOCUSBORDER, WM_CHANGEUISTATE, WM_UPDATEUISTATE, UIS_*, UISF_*
svn path=/trunk/; revision=21241
2006-03-06 22:29:49 +00:00
Ged Murphy
2dab6641ce better dialog
svn path=/trunk/; revision=21240
2006-03-06 21:11:05 +00:00
Ged Murphy
1a6f0536e2 fix build
svn path=/trunk/; revision=21239
2006-03-06 19:59:18 +00:00
Ged Murphy
18eb7814bf basic dialog for setting canvas properties.
svn path=/trunk/; revision=21238
2006-03-06 19:16:04 +00:00
Ged Murphy
15e1ae419b Fix resource leaks
svn path=/trunk/; revision=21237
2006-03-06 00:41:05 +00:00
Hervé Poussineau
e8d6081de4 Don't claim IDE channels if they are already claimed
svn path=/trunk/; revision=21236
2006-03-05 19:47:22 +00:00
Klemens Friedl
23644dfc06 remove the following sentences from the resource files:
"Icon borrowed from Notepad2 - http://www.flos-freeware.ch/notepad2.html"

svn path=/trunk/; revision=21235
2006-03-05 16:01:05 +00:00
Ged Murphy
ef9384e7c2 update notepad icon
svn path=/trunk/; revision=21234
2006-03-05 15:13:16 +00:00
Ged Murphy
94bd4ba57e replace many of the cpl icons with clearer rendered ones
svn path=/trunk/; revision=21233
2006-03-05 15:08:26 +00:00
Ged Murphy
ac4da722a2 fix leaks.
svn path=/trunk/; revision=21232
2006-03-05 14:41:09 +00:00
Ged Murphy
3f2c076c48 fixed. includes 16x16 - 48x48
svn path=/trunk/; revision=21231
2006-03-05 14:30:46 +00:00
Klemens Friedl
d149b546b0 Update the solitaire icon, the icon file is from the http://tango-project.org icon-set
(note: the 32x32 version is based on the 22x22 version, I will fix this as soon as possible)

svn path=/trunk/; revision=21230
2006-03-05 14:27:17 +00:00
Klemens Friedl
0bb5b736d8 add & altered some text files (update information)
svn path=/trunk/; revision=21229
2006-03-05 13:57:35 +00:00
Klemens Friedl
b1b2069c28 replaced notepad icon (tango icon), the old one looks too similar to the WinXP one
(note: currently the 32x32 based on the 22x22, my gimp doesn't work and so i had not chance to convert the svg to png, will do that later)

svn path=/trunk/; revision=21228
2006-03-05 09:58:59 +00:00
Saveliy Tretiakov
46b4802cc1 Add Alex, Herve, Ged, mf, and myself to CREDITS.
Move references from CREDITS to media\doc\books.txt (better place imo)

svn path=/trunk/; revision=21227
2006-03-04 17:56:20 +00:00
Ged Murphy
162138b099 - Make ROS buildable with GCC 4.1
- Patch by Thomas Weidenmueller

svn path=/trunk/; revision=21226
2006-03-04 17:27:40 +00:00
Saveliy Tretiakov
9b819dfe32 Update eventlogrpc.idl
svn path=/trunk/; revision=21225
2006-03-04 17:11:16 +00:00
Saveliy Tretiakov
3f4ded7db8 Don't create files when booting from CD
Implement EventLogOpenA (wrapper over unimplemented EventLogOpenW)

svn path=/trunk/; revision=21224
2006-03-04 17:04:42 +00:00
Saveliy Tretiakov
8f1b7df719 Make mkhive support also symbolic flag names (like TYPE_DWORD) instead of only numeric.
svn path=/trunk/; revision=21223
2006-03-04 15:43:52 +00:00
Ged Murphy
2ce816dbb7 - Removed the overkill reliance on SetWindow/ViewportExtEx and scale correctly to the window.
- More of a chance of it working in ROS now (although I've not tried it) tried and tested in Windows.

svn path=/trunk/; revision=21222
2006-03-03 15:22:42 +00:00
Klemens Friedl
d9df994b8d Update german (austrian) language file:
corrected "Februar" to "Feber" which is the default word in austria

svn path=/trunk/; revision=21221
2006-03-02 20:44:00 +00:00
Ged Murphy
2b1e3e0d2b move clock window down a bit. It was obscuring the group text
svn path=/trunk/; revision=21220
2006-03-01 23:50:30 +00:00
Ged Murphy
ef1aa9aeda mod all resources inline with En.rc
svn path=/trunk/; revision=21219
2006-03-01 23:35:54 +00:00
Ged Murphy
c280bc696c - Add an analog clock to the timedate cpl.
- Add more code towards setting system time via NTP

svn path=/trunk/; revision=21218
2006-03-01 21:44:17 +00:00
Aleksey Bragin
7dac3e7a17 Fix devenum.dll in reactos.dff. Thanks to lkjasa for spotting this.
svn path=/trunk/; revision=21217
2006-02-28 13:14:29 +00:00
Art Yerkes
a5cc1bbe38 Added 'world' and 'universe' targets (suggested by oiaohm)
svn path=/trunk/; revision=21216
2006-02-28 05:39:05 +00:00
Aleksey Bragin
920ce79aed RegOpenCurrentUser() prototype added
svn path=/trunk/; revision=21215
2006-02-27 20:30:08 +00:00
Eric Kohl
ff7aef148c Dereference type declarations properly.
svn path=/trunk/; revision=21214
2006-02-27 18:11:25 +00:00
Eric Kohl
dbba4749db - Move proc string offset calculation to a separate function.
- Replace all __FUNCTION__ by __FILE__.

svn path=/trunk/; revision=21213
2006-02-27 12:23:56 +00:00
Ged Murphy
cff26aaf48 Add a check to stop a possible bug.
svn path=/trunk/; revision=21212
2006-02-26 23:18:36 +00:00
Ged Murphy
018e66e64d according to Windows, time server value names must be stored by number
svn path=/trunk/; revision=21211
2006-02-26 23:10:14 +00:00
Ged Murphy
e46b77cf04 display default timeserver
svn path=/trunk/; revision=21210
2006-02-26 22:58:15 +00:00
Martin Fuchs
02bade720c fix XML parsing with GCC
svn path=/trunk/; revision=21208
2006-02-26 22:27:30 +00:00
Magnus Olsen
3e4dcb12f3 start implement D3DParseUnknownCommand this is the ground
svn path=/trunk/; revision=21206
2006-02-26 20:23:25 +00:00
Magnus Olsen
ba881ff69d update d3dhal.h it need be rewriten it does not contain all info we need.
svn path=/trunk/; revision=21205
2006-02-26 20:10:39 +00:00
Ged Murphy
b481ad6435 Add time server registry entries
svn path=/trunk/; revision=21204
2006-02-26 16:59:11 +00:00
Ged Murphy
951814f162 start writing the propsheet for syncing system time with internet time servers
svn path=/trunk/; revision=21203
2006-02-26 16:57:59 +00:00
Ged Murphy
08310193ce fix build
svn path=/trunk/; revision=21202
2006-02-26 16:42:23 +00:00
Ged Murphy
16e3082c3d - Complete overhaul of imagesoft from Thomas Weidenmueller
- Includes the addition of docking toolbars using the Win32 API

svn path=/trunk/; revision=21201
2006-02-26 16:26:03 +00:00
Magnus Olsen
fc1413e478 Complete the move of devenum to dll/directx
svn path=/trunk/; revision=21198
2006-02-26 15:16:35 +00:00
Magnus Olsen
29037468c8 svn path=/trunk/; revision=21197 2006-02-26 14:51:52 +00:00
Hervé Poussineau
a40d0cc620 Disable some more code that may crash. I'll look at it later
svn path=/trunk/; revision=21196
2006-02-26 12:22:40 +00:00
Hervé Poussineau
49da356967 Revert simplification of SearchForLegacyDrivers done in r21188, because it breaks bootcd
svn path=/trunk/; revision=21195
2006-02-26 12:14:48 +00:00
Ged Murphy
d5975704d6 change icon to include reference to photos
svn path=/trunk/; revision=21191
2006-02-25 13:32:21 +00:00
Steven Edwards
6f1eb68015 add a simple icmp.dll regression test
svn path=/trunk/; revision=21190
2006-02-24 20:54:55 +00:00
Hervé Poussineau
31ecea004c Don't try to send the IRP to lower device when we are a PDO
svn path=/trunk/; revision=21189
2006-02-24 13:41:20 +00:00
Hervé Poussineau
2c5b094ca5 Send IOCTL_* to the port device objects. Keyboard LEDs should now work
Simplify code in SearchForLegacyDrivers

svn path=/trunk/; revision=21188
2006-02-24 13:38:14 +00:00
Martin Fuchs
5b247bc560 Explorer: fix refresh
svn path=/trunk/; revision=21187
2006-02-23 22:50:03 +00:00
Ged Murphy
851a06cae5 add the basis for a floating toolbar
svn path=/trunk/; revision=21186
2006-02-23 21:28:05 +00:00
Martin Fuchs
1fb621f227 set svn:eol-style to native for *.rbuild
svn path=/trunk/; revision=21184
2006-02-23 00:01:01 +00:00
Martin Fuchs
8592be6a8d rbuild: merge changes of audited repository
------------------------------------------------------------------------
r28 | mf | 2006-01-29 11:41:48 +0100 (So, 29 Jan 2006) | 3 lines

rbuild: correct MSVC project file generation:
- don't define _DEBUG and NDEBUG at the same time
- fix compiler flags for VC7/8
------------------------------------------------------------------------
r27 | mf | 2006-01-29 11:39:19 +0100 (So, 29 Jan 2006) | 1 line

rbuild: rename msvc workspace files to "..._auto.dsw/sln"
------------------------------------------------------------------------
r26 | mf | 2006-01-29 11:38:42 +0100 (So, 29 Jan 2006) | 1 line

rbuild: replace .xml with .rbuild

svn path=/trunk/; revision=21181
2006-02-21 22:14:35 +00:00
Martin Fuchs
b657e49ec3 add makefile with precompiled header support
svn path=/trunk/; revision=21179
2006-02-21 21:15:45 +00:00
Martin Fuchs
d96ff76bd5 explorer: merge changes of audited repository
------------------------------------------------------------------------
r115 | martinf | 2006-02-15 20:35:08 +0100 (Mi, 15 Feb 2006) | 1 line

explorer: beginnings of bengali translation (not yet integrated into the compile process)
------------------------------------------------------------------------
r107 | martinf | 2006-02-12 11:35:41 +0100 (So, 12 Feb 2006) | 1 line

XMLStorage update to prepare for rbuild integration
------------------------------------------------------------------------
r72 | martinf | 2006-02-02 21:20:51 +0100 (Do, 02 Feb 2006) | 1 line

convert *.rbuild files into valid XML files by inserting XML headers and a <rbuild> root nodes
------------------------------------------------------------------------
r56 | martinf | 2006-01-30 22:37:09 +0100 (Mo, 30 Jan 2006) | 1 line

Explorer: eliminate compiler warning
------------------------------------------------------------------------
r36 | martinf | 2006-01-29 16:59:25 +0100 (So, 29 Jan 2006) | 1 line

Explorer: fix Rebar resizing
------------------------------------------------------------------------
r35 | martinf | 2006-01-29 16:28:15 +0100 (So, 29 Jan 2006) | 1 line

explorer: add icon cache mapped by shell paths (PIDLs) to fix GDI handle leaks

svn path=/trunk/; revision=21178
2006-02-21 20:55:41 +00:00
Ged Murphy
3f9e9357c2 sort applications in order
svn path=/trunk/; revision=21177
2006-02-21 20:45:43 +00:00
Martin Fuchs
b604e49335 winefile: don't compile Wine specific functions
svn path=/trunk/; revision=21176
2006-02-21 20:39:23 +00:00
Ged Murphy
0c8984093b fix reporterror
svn path=/trunk/; revision=21175
2006-02-21 00:15:27 +00:00
Ged Murphy
75c1d11298 clean up reactos.dff and fix a few build files.
svn path=/trunk/; revision=21174
2006-02-21 00:04:24 +00:00
Aleksey Bragin
c6235c7be3 - Fix all remaining issues in reactos.dff
- ReactOS now installs and boots as it was before the restructure

svn path=/trunk/; revision=21173
2006-02-20 22:35:21 +00:00
Aleksey Bragin
202d66e3c3 - Fix explorer.exe (and others from its team) location (base/applications -> base/shell) in reactos.dff, so now it's being copied correctly
- Bootcd still crashes with session 4 initialize failed

svn path=/trunk/; revision=21172
2006-02-20 21:08:27 +00:00
Martin Fuchs
b334350e4e zoomin: merge changes of audited repository
svn path=/trunk/; revision=21171
2006-02-19 23:22:32 +00:00
Martin Fuchs
52ed64bb5e ibrowser: merge changes from audited repository
------------------------------------------------------------------------
r72 | martinf | 2006-02-02 21:20:51 +0100 (Do, 02 Feb 2006) | 1 line

convert *.rbuild files into valid XML files by inserting XML headers and a <rbuild> root nodes
------------------------------------------------------------------------
r34 | martinf | 2006-01-29 16:15:23 +0100 (So, 29 Jan 2006) | 1 line

import ibrowser into the new repository
------------------------------------------------------------------------

- rename Makefiles and Expat license file to better conforming names

svn path=/trunk/; revision=21170
2006-02-19 23:13:19 +00:00
Martin Fuchs
3fa7cc252d winefile: merge changes from audited repository
------------------------------------------------------------------------
r108 | martinf | 2006-02-12 17:59:54 +0100 (So, 12 Feb 2006) | 1 line

winefile: don't compile Wine specific functions
------------------------------------------------------------------------
r84 | martinf | 2006-02-04 11:04:41 +0100 (Sa, 04 Feb 2006) | 8 lines

winefile-Sync to Wine:
Aric Stewart <aric@codeweavers.com>
winefile: Highlight the file specified on the command line instead of
filtering based on it. To be integrated with explorer to allow for
that functionality.
Mike McCormack <mike@codeweavers.com>
winefile: Move the license and warranty text into the resources.

------------------------------------------------------------------------
r82 | martinf | 2006-02-04 10:02:15 +0100 (Sa, 04 Feb 2006) | 1 line

winefile: set output directory
------------------------------------------------------------------------
r72 | martinf | 2006-02-02 21:20:51 +0100 (Do, 02 Feb 2006) | 1 line

convert *.rbuild files into valid XML files by inserting XML headers and a <rbuild> root nodes
------------------------------------------------------------------------
r59 | martinf | 2006-01-30 23:41:28 +0100 (Mo, 30 Jan 2006) | 1 line

set properties and ros:history and ros:doc
------------------------------------------------------------------------
r37 | martinf | 2006-01-29 20:03:05 +0100 (So, 29 Jan 2006) | 1 line

set svn:eolstyle in *.rbuild files
------------------------------------------------------------------------
r31 | martinf | 2006-01-29 16:10:34 +0100 (So, 29 Jan 2006) | 2 lines

import Winefile into the new repository
(now including a VC8 project file)
------------------------------------------------------------------------

svn path=/trunk/; revision=21169
2006-02-19 22:20:41 +00:00
Maarten Bosma
c0b40ffed2 Jerome Signouret (ggcom(at)tele2(dot)fr>): Package Manager Translations
svn path=/trunk/; revision=21168
2006-02-19 20:50:19 +00:00
Maarten Bosma
171e1e739a rename directory.xml to directory.rbuild to make rosapps build.
svn path=/trunk/; revision=21167
2006-02-19 20:48:30 +00:00
Art Yerkes
984d36e562 Changed name for us unix guys.
svn path=/trunk/; revision=21166
2006-02-19 20:22:17 +00:00
Hervé Poussineau
c8a90f769b Major update of Green driver:
- Add PnP support (stack over the serial port, and enumerate 2 attached devices: a screen and a keyboard)
- Read some parameters from registry (buffer size is still not configurable)

svn path=/trunk/; revision=21165
2006-02-19 18:05:01 +00:00
Ged Murphy
11c3ca9f05 add image editing software started in audited repo
svn path=/trunk/; revision=21164
2006-02-19 17:13:10 +00:00
Ged Murphy
db000e5299 Merge tcpsvcs changes from audited repositry
Revision: 73
Author: gedmurphy
Date: 17:36:44, 03 February 2006
Message:
fixed security issues - fixes bug 1307
fixed unicode over network issues
----
Modified : /trunk/reactos/base/services/tcpsvcs/chargen.c
Modified : /trunk/reactos/base/services/tcpsvcs/daytime.c
Modified : /trunk/reactos/base/services/tcpsvcs/discard.c
Modified : /trunk/reactos/base/services/tcpsvcs/echo.c
Modified : /trunk/reactos/base/services/tcpsvcs/qotd.c
Modified : /trunk/reactos/base/services/tcpsvcs/skelserver.c
Modified : /trunk/reactos/base/services/tcpsvcs/tcpsvcs.c
Modified : /trunk/reactos/base/services/tcpsvcs/tcpsvcs.h



svn path=/trunk/; revision=21163
2006-02-19 16:33:14 +00:00
Ged Murphy
fb1a32ea73 lets get it right this time ;)
svn path=/trunk/; revision=21162
2006-02-19 16:31:19 +00:00
Ged Murphy
298483c29f fix rbuild file
svn path=/trunk/; revision=21161
2006-02-19 16:28:33 +00:00
Ged Murphy
abf21fe688 rename net to network
svn path=/trunk/; revision=21160
2006-02-19 16:26:34 +00:00
Ged Murphy
5c285b6fae Merge Service Manager from audited repositry
Revision: 98
Author: gedmurphy
Date: 20:32:56, 06 February 2006
Message:
- fix some buffer checks
- remove item from listview when deleted
----
Modified : /trunk/reactos/base/applications/servman/En.rc
Modified : /trunk/reactos/base/applications/servman/about.c
Modified : /trunk/reactos/base/applications/servman/create.c
Modified : /trunk/reactos/base/applications/servman/delete.c
Modified : /trunk/reactos/base/applications/servman/geterror.c
Modified : /trunk/reactos/base/applications/servman/query.c
Modified : /trunk/reactos/base/applications/servman/resource.h
Modified : /trunk/reactos/base/applications/servman/servman.c


Revision: 97
Author: gedmurphy
Date: 20:18:58, 05 February 2006
Message:
ensure required fields are filled.
----
Modified : /trunk/reactos/base/applications/servman/En.rc
Modified : /trunk/reactos/base/applications/servman/create.c


Revision: 96
Author: gedmurphy
Date: 20:09:42, 05 February 2006
Message:
use a modeless dialog
----
Modified : /trunk/reactos/base/applications/servman/create.c


Revision: 88
Author: gedmurphy
Date: 13:25:46, 04 February 2006
Message:
these were in the wrong place according to the new tree structure
http://www.reactos.org/wiki/index.php/New_Tree_Structure
----
Modified : /trunk/reactos/base/applications/applications.rbuild
Added : /trunk/reactos/base/applications/msconfig(Copy From Path: /trunk/reactos/base/system/msconfig, Revision, 84
Added : /trunk/reactos/base/applications/sc(Copy From Path: /trunk/reactos/base/system/sc, Revision, 84
Added : /trunk/reactos/base/applications/servman(Copy From Path: /trunk/reactos/base/system/servman, Revision, 84
Deleted : /trunk/reactos/base/system/msconfig
Deleted : /trunk/reactos/base/system/sc
Deleted : /trunk/reactos/base/system/servman
Modified : /trunk/reactos/base/system/system.rbuild


Revision: 77
Author: gedmurphy
Date: 20:38:07, 03 February 2006
Message:
fix setting of the description when creating services
----
Modified : /trunk/reactos/base/system/servman/create.c
Modified : /trunk/reactos/base/system/servman/query.c
Modified : /trunk/reactos/base/system/servman/servman.h


Revision: 76
Author: gedmurphy
Date: 20:03:48, 03 February 2006
Message:
group registry gathering data together
----
Modified : /trunk/reactos/base/system/servman/propsheet.c
Modified : /trunk/reactos/base/system/servman/query.c
Modified : /trunk/reactos/base/system/servman/servman.h


Revision: 75
Author: gedmurphy
Date: 19:18:17, 03 February 2006
Message:
fix displaying of large icons. Thanks to Christoph for pointing this out.
----
Modified : /trunk/reactos/base/system/servman/query.c


Revision: 74
Author: gedmurphy
Date: 18:19:53, 03 February 2006
Message:
- add functionality to delete current services
- allow setting of a description when creating services
- turn off toolbar buttons and menu items when not usable
- fix the toolbar icons so they don't look weird when greyed out
- a few other random bugfixes and alterations.
----
Modified : /trunk/reactos/base/system/servman/En.rc
Modified : /trunk/reactos/base/system/servman/create.c
Added : /trunk/reactos/base/system/servman/delete.c
Modified : /trunk/reactos/base/system/servman/propsheet.c
Modified : /trunk/reactos/base/system/servman/query.c
Modified : /trunk/reactos/base/system/servman/res/toolbar.bmp
Modified : /trunk/reactos/base/system/servman/resource.h
Modified : /trunk/reactos/base/system/servman/servman.c
Modified : /trunk/reactos/base/system/servman/servman.h
Modified : /trunk/reactos/base/system/servman/servman.rbuild


Revision: 72
Author: martinf
Date: 20:20:51, 02 February 2006
Message:
convert *.rbuild files into valid XML files by inserting XML headers and a <rbuild> root nodes
----
Modified : /trunk/reactos/ReactOS-ppc.rbuild
Modified : /trunk/reactos/ReactOS.rbuild
Modified : /trunk/reactos/base/applications/applications.rbuild
Modified : /trunk/reactos/base/applications/ibrowser/ibrowser.rbuild
Modified : /trunk/reactos/base/applications/network/arp/arp.rbuild
Modified : /trunk/reactos/base/applications/network/ipconfig/ipconfig.rbuild
Modified : /trunk/reactos/base/applications/network/netstat/netstat.rbuild
Modified : /trunk/reactos/base/applications/network/tracert/tracert.rbuild
Modified : /trunk/reactos/base/applications/winefile/winefile.rbuild
Modified : /trunk/reactos/base/base.rbuild
Modified : /trunk/reactos/base/services/tcpsvcs/tcpsvcs.rbuild
Modified : /trunk/reactos/base/shell/explorer/explorer.rbuild
Modified : /trunk/reactos/base/shell/explorer/notifyhook/notifyhook.rbuild
Modified : /trunk/reactos/base/shell/shell.rbuild
Modified : /trunk/reactos/base/system/msconfig/msconfig.rbuild
Modified : /trunk/reactos/base/system/sc/sc.rbuild
Modified : /trunk/reactos/base/system/servman/servman.rbuild
Modified : /trunk/reactos/base/system/system.rbuild
Modified : /trunk/reactos/baseaddress.rbuild
Modified : /trunk/reactos/boot/boot.rbuild
Modified : /trunk/reactos/boot/bootcd/bootcd.rbuild
Modified : /trunk/reactos/boot/freeldr/bootsect/bootsect.rbuild
Modified : /trunk/reactos/boot/freeldr/freeldr.rbuild
Modified : /trunk/reactos/config.template.rbuild
Modified : /trunk/reactos/drivers/base/null/null.rbuild
Modified : /trunk/reactos/lib/directory.rbuild
Modified : /trunk/reactos/lib/inflib/inflib.rbuild
Modified : /trunk/reactos/lib/rossym
Modified : /trunk/reactos/lib/rossym/rossym.rbuild
Modified : /trunk/reactos/subsystems/subsystems.rbuild


Revision: 71
Author: gedmurphy
Date: 22:07:06, 01 February 2006
Message:
fix writing to file
----
Modified : /trunk/reactos/base/system/servman/export.c


Revision: 70
Author: gedmurphy
Date: 19:41:17, 01 February 2006
Message:
- set the button states according to the service
- Set the main and popup menus according to the current environment or service
- allow viewing in list or icon mode too
----
Modified : /trunk/reactos/base/system/servman/En.rc
Modified : /trunk/reactos/base/system/servman/export.c
Modified : /trunk/reactos/base/system/servman/propsheet.c
Modified : /trunk/reactos/base/system/servman/query.c
Modified : /trunk/reactos/base/system/servman/resource.h
Modified : /trunk/reactos/base/system/servman/servman.c


Revision: 69
Author: gedmurphy
Date: 22:41:45, 31 January 2006
Message:
add missing library
----
Modified : /trunk/reactos/base/system/servman/servman.rbuild


Revision: 68
Author: gedmurphy
Date: 20:43:06, 31 January 2006
Message:
- write services to file
- added a roadmap for fun
----
Modified : /trunk/reactos/base/system/servman/export.c
Added : /trunk/reactos/base/system/servman/roadmap.txt


Revision: 61
Author: gedmurphy
Date: 22:50:50, 30 January 2006
Message:
revert the progress dialog change until I write a better solution.
----
Modified : /trunk/reactos/base/system/servman/servman.c


Revision: 46
Author: gedmurphy
Date: 18:55:32, 30 January 2006
Message:
Forgot the rbuild file. 
----
Modified : /trunk/reactos/base/system/servman/servman.rbuild


Revision: 45
Author: gedmurphy
Date: 18:48:10, 30 January 2006
Message:
- Add basic support for creating services
- Start to put in functionality for exporting all services to a file
- Don't open the progress dialog if the action fails
----
Modified : /trunk/reactos/base/system/servman/En.rc
Modified : /trunk/reactos/base/system/servman/about.c
Modified : /trunk/reactos/base/system/servman/control.c
Added : /trunk/reactos/base/system/servman/create.c
Added : /trunk/reactos/base/system/servman/export.c
Modified : /trunk/reactos/base/system/servman/geterror.c
Modified : /trunk/reactos/base/system/servman/propsheet.c
Modified : /trunk/reactos/base/system/servman/query.c
Modified : /trunk/reactos/base/system/servman/resource.h
Modified : /trunk/reactos/base/system/servman/servman.c
Modified : /trunk/reactos/base/system/servman/servman.h
Modified : /trunk/reactos/base/system/servman/start.c



svn path=/trunk/; revision=21159
2006-02-19 16:22:59 +00:00
Art Yerkes
5b7ff2c1dc The script got this .xml too, even though it's not a reference to a build file.
svn path=/trunk/; revision=21158
2006-02-19 11:06:59 +00:00
Art Yerkes
56b518d933 Last one. Remove redundant (and empty) struct and make some asm constraints
more correct.

svn path=/trunk/; revision=21157
2006-02-19 10:02:38 +00:00
Art Yerkes
16e3d0db53 Remove 4 clause BSD code in favor of similar startup code from the linux
kernel.

svn path=/trunk/; revision=21156
2006-02-19 09:51:18 +00:00
Art Yerkes
a8e2165ac9 Template for PPC, updated definitions.
svn path=/trunk/; revision=21155
2006-02-19 09:41:12 +00:00
Art Yerkes
f3e7f742a9 Some moving around:
- move loader.c to arch/i386 since it's arch specific
- added of.h
- freeldr.h / debug.h (languishing changes)
- arch/powerpc/* updated definitions

svn path=/trunk/; revision=21154
2006-02-19 09:39:30 +00:00
Art Yerkes
13bef77734 pcdisk.c: corrected printf type (suppresses warning in some gcc versions)
Added powerpc arch variant in freeldr

svn path=/trunk/; revision=21153
2006-02-19 06:59:12 +00:00
Art Yerkes
dd1ba06289 Corrected my off-by-one error. Only visible if you have two ifs right in a
row.

svn path=/trunk/; revision=21152
2006-02-19 06:57:38 +00:00
Art Yerkes
cfd223c953 It seems we don't have ansidecl.h
svn path=/trunk/; revision=21151
2006-02-18 19:50:57 +00:00
Art Yerkes
c12c533bf7 Small path fixen.
svn path=/trunk/; revision=21150
2006-02-18 19:48:09 +00:00
Art Yerkes
f93d1ff278 Got one that wasn't meant.
svn path=/trunk/; revision=21149
2006-02-18 19:26:02 +00:00
Art Yerkes
cc3049b817 Single stray .xml.
svn path=/trunk/; revision=21148
2006-02-18 19:21:45 +00:00
Art Yerkes
a93d77a47f Change remaining .xml build files to .rbuild and fixup links.
svn path=/trunk/; revision=21147
2006-02-18 19:21:01 +00:00
Art Yerkes
8c9eded125 More moving.
svn path=/trunk/; revision=21146
2006-02-18 19:01:25 +00:00
Maarten Bosma
342d55833d drivers/lib => lib/drivers
svn path=/trunk/; revision=21145
2006-02-18 17:48:18 +00:00
Maarten Bosma
7b94a7419b Put sound into multimedia and rename it to audio because it is "MoreCorrect©"
svn path=/trunk/; revision=21144
2006-02-18 17:34:40 +00:00
Maarten Bosma
5e8c46eeaa Fix compile (sorry, did not test a clean build)
svn path=/trunk/; revision=21143
2006-02-18 14:55:49 +00:00
Maarten Bosma
d421d2e295 fix hardcoded path in rbuild
svn path=/trunk/; revision=21142
2006-02-18 14:35:45 +00:00
Maarten Bosma
04cd106118 forgot to create base/setup makefiles
svn path=/trunk/; revision=21141
2006-02-18 13:50:15 +00:00
Maarten Bosma
ccadf3b1b5 fix the build
svn path=/trunk/; revision=21140
2006-02-18 13:19:40 +00:00
Maarten Bosma
dcfa662fec A few fixes
svn path=/trunk/; revision=21139
2006-02-18 09:44:12 +00:00
Ged Murphy
48f20151a4 rearrange and add a few things
svn path=/trunk/; revision=21138
2006-02-18 00:57:47 +00:00
Ged Murphy
33560ee7fd rename build files
svn path=/trunk/; revision=21137
2006-02-18 00:09:21 +00:00
Maarten Bosma
cb1bbd6e66 forgot to change the makefiles.
svn path=/trunk/; revision=21136
2006-02-18 00:04:01 +00:00
Maarten Bosma
4ba8713ae5 Moved samsrv and cfgmgr32 in win32
svn path=/trunk/; revision=21135
2006-02-17 23:57:14 +00:00
Ged Murphy
d73a60f67e remove /subsys
svn path=/trunk/; revision=21134
2006-02-17 23:57:13 +00:00
Ged Murphy
7fc00dd0ac move smss
svn path=/trunk/; revision=21133
2006-02-17 23:53:00 +00:00
Maarten Bosma
85ad2b5c9b Adjust build files
svn path=/trunk/; revision=21132
2006-02-17 23:35:43 +00:00
Ged Murphy
6ad52d63c9 remove w32api folder
svn path=/trunk/; revision=21131
2006-02-17 23:30:30 +00:00
Ged Murphy
57a37f7568 finish header restructuring
svn path=/trunk/; revision=21130
2006-02-17 23:27:37 +00:00
Ged Murphy
cb4308061a move crt, ddk and GL includes
svn path=/trunk/; revision=21129
2006-02-17 23:20:14 +00:00
Ged Murphy
ab976102e1 start moving includes
svn path=/trunk/; revision=21128
2006-02-17 23:18:12 +00:00
Art Yerkes
255f0a2628 Header move.
svn path=/trunk/; revision=21127
2006-02-17 23:16:50 +00:00
Art Yerkes
7feb1a855c Last tool builds from restructure.
svn path=/trunk/; revision=21126
2006-02-17 23:11:23 +00:00
Art Yerkes
f5b2cf51b9 Fallout from dir restructure.
svn path=/trunk/; revision=21125
2006-02-17 23:08:39 +00:00
Art Yerkes
19208f00eb Rbuild changes for include structure change.
svn path=/trunk/; revision=21124
2006-02-17 22:59:15 +00:00
Maarten Bosma
7dfedba9e1 fixes for make bootcd
svn path=/trunk/; revision=21123
2006-02-17 22:51:46 +00:00
Maarten Bosma
eae79b5737 Really fix the build, but make bootcd does not work yet.
svn path=/trunk/; revision=21122
2006-02-17 22:19:17 +00:00
Ged Murphy
5b79d19503 clear out /subsys/system
svn path=/trunk/; revision=21121
2006-02-17 21:58:36 +00:00
Ged Murphy
18e1f14095 forgot the build file mod
svn path=/trunk/; revision=21120
2006-02-17 21:50:25 +00:00
Ged Murphy
6d44ade74a this doesn't need to be in here as it's now in /reactos
svn path=/trunk/; revision=21119
2006-02-17 21:49:47 +00:00
Ged Murphy
d1091c9d5c add ncpa build file
svn path=/trunk/; revision=21118
2006-02-17 21:29:02 +00:00
Maarten Bosma
812aefa8d9 really fix the build
svn path=/trunk/; revision=21117
2006-02-17 21:16:15 +00:00
Maarten Bosma
086418ec9c Fix the build
svn path=/trunk/; revision=21116
2006-02-17 21:07:53 +00:00
Ged Murphy
c093464b4e xml -> rbuild
svn path=/trunk/; revision=21115
2006-02-17 20:53:58 +00:00
Maarten Bosma
859a5bb3e2 rename hal.rbuild
svn path=/trunk/; revision=21114
2006-02-17 20:49:05 +00:00
Maarten Bosma
d6f77683dc Fix drivers
svn path=/trunk/; revision=21113
2006-02-17 20:48:03 +00:00
Ged Murphy
44a09f5186 fix all control panel build files
svn path=/trunk/; revision=21112
2006-02-17 20:37:46 +00:00
Maarten Bosma
c98d4d6b04 Added all missing rbuild files for reactos/dll
svn path=/trunk/; revision=21111
2006-02-17 20:13:33 +00:00
Maarten Bosma
17616970e7 Created and renamed rbuild files
svn path=/trunk/; revision=21110
2006-02-17 19:26:04 +00:00
Maarten Bosma
587699d1e6 Move stuff into win32
svn path=/trunk/; revision=21109
2006-02-17 18:53:49 +00:00
Ged Murphy
eea301c1f7 delete the old apps folder
svn path=/trunk/; revision=21108
2006-02-17 18:43:24 +00:00
Ged Murphy
7700cdaa42 move utils and testsets into base/applications
svn path=/trunk/; revision=21107
2006-02-17 18:40:38 +00:00
Maarten Bosma
d714edd22a Moved in win32
svn path=/trunk/; revision=21106
2006-02-17 18:33:04 +00:00
Maarten Bosma
edfbeaf95c Moved in win32
svn path=/trunk/; revision=21105
2006-02-17 18:32:36 +00:00
Maarten Bosma
cd0c20dbd8 Moved in win32
svn path=/trunk/; revision=21104
2006-02-17 18:32:18 +00:00
Maarten Bosma
a3b691908d Moved in win32
svn path=/trunk/; revision=21103
2006-02-17 18:30:59 +00:00
Maarten Bosma
637655cc4b Moved in win32
svn path=/trunk/; revision=21102
2006-02-17 18:30:24 +00:00
Maarten Bosma
5eb4119613 Moved in win32
svn path=/trunk/; revision=21101
2006-02-17 18:30:03 +00:00
Maarten Bosma
38359d0e8d Moved in win32
svn path=/trunk/; revision=21100
2006-02-17 18:29:36 +00:00
Maarten Bosma
b0f6f7c83b Moved in win32
svn path=/trunk/; revision=21099
2006-02-17 18:29:06 +00:00
Maarten Bosma
2594dbd5c4 Moved in win32
svn path=/trunk/; revision=21098
2006-02-17 18:28:48 +00:00
Maarten Bosma
4d46d3aa0d Moved in win32
svn path=/trunk/; revision=21097
2006-02-17 18:28:17 +00:00
Maarten Bosma
722cec0737 Moved in win32
svn path=/trunk/; revision=21096
2006-02-17 18:27:12 +00:00
Maarten Bosma
31292cfeff Moved avifil32 in win32
svn path=/trunk/; revision=21095
2006-02-17 18:26:44 +00:00
Maarten Bosma
f2ded273f3 Moved authz in win32
svn path=/trunk/; revision=21094
2006-02-17 18:26:11 +00:00
Maarten Bosma
a1b01c56d1 Moved advpack in win32
svn path=/trunk/; revision=21093
2006-02-17 18:25:39 +00:00
Maarten Bosma
da6cb5833e Moved dxdiagn into directx
svn path=/trunk/; revision=21092
2006-02-17 18:15:37 +00:00
Maarten Bosma
8c9b509392 update makefiles
svn path=/trunk/; revision=21091
2006-02-17 17:41:36 +00:00
Maarten Bosma
1e9a5cc7f5 Moved winsta
svn path=/trunk/; revision=21090
2006-02-17 17:34:51 +00:00
Maarten Bosma
bff30fd445 Moved winscard
svn path=/trunk/; revision=21089
2006-02-17 17:33:50 +00:00
Maarten Bosma
00e6773bf4 Moved winfax
svn path=/trunk/; revision=21088
2006-02-17 17:31:47 +00:00
Maarten Bosma
a24c386611 Moved smdll
svn path=/trunk/; revision=21087
2006-02-17 17:28:28 +00:00
Maarten Bosma
2c73292746 Moved packet32
svn path=/trunk/; revision=21086
2006-02-17 17:26:15 +00:00
Maarten Bosma
c20080f75a Include media and ntoskrnl
svn path=/trunk/; revision=21085
2006-02-17 17:14:11 +00:00
James Tabor
b4cb5304cd Update to audited driver.
svn path=/trunk/; revision=21084
2006-02-17 16:59:20 +00:00
Maarten Bosma
ad740a9613 move bootdata into boot
svn path=/trunk/; revision=21083
2006-02-17 14:47:43 +00:00
Maarten Bosma
24092de24f 3.) Move services into base
svn path=/trunk/; revision=21082
2006-02-17 14:24:04 +00:00
Maarten Bosma
7dcc6f48c1 2.) remove base services
svn path=/trunk/; revision=21081
2006-02-17 14:23:20 +00:00
Maarten Bosma
249c6fdf68 1.) Move tcpsvcs into reactos/services
svn path=/trunk/; revision=21080
2006-02-17 14:22:15 +00:00
Maarten Bosma
dc9d9d2859 Moved msiexec to base/system
svn path=/trunk/; revision=21079
2006-02-17 14:16:30 +00:00
Maarten Bosma
a9b6a373d1 Moved winver
svn path=/trunk/; revision=21078
2006-02-17 14:14:51 +00:00
Maarten Bosma
971ade9a57 Moved vmwinst
svn path=/trunk/; revision=21077
2006-02-17 14:12:16 +00:00
Maarten Bosma
40b9227280 Moved usetup
svn path=/trunk/; revision=21076
2006-02-17 14:11:13 +00:00
Maarten Bosma
f78eefb2d9 fixed base rbuild makefiles
svn path=/trunk/; revision=21075
2006-02-17 14:09:38 +00:00
Maarten Bosma
1a23a760d7 Moved welcome into setup
svn path=/trunk/; revision=21074
2006-02-17 14:07:30 +00:00
Maarten Bosma
daf565ab21 Fix some build files
svn path=/trunk/; revision=21073
2006-02-17 13:44:13 +00:00
Maarten Bosma
8ba858d966 Moved dd/sound into sound/sound
svn path=/trunk/; revision=21072
2006-02-17 12:36:29 +00:00
Maarten Bosma
4748516b9a Moved mpu401 into sound
svn path=/trunk/; revision=21071
2006-02-17 12:35:24 +00:00
Maarten Bosma
3d5d2e0d6a Moved sndblst in sound
svn path=/trunk/; revision=21070
2006-02-17 12:33:37 +00:00
Maarten Bosma
b566d67379 create sound folder
svn path=/trunk/; revision=21069
2006-02-17 12:33:01 +00:00
Maarten Bosma
baaae11e54 Rename dd to base
svn path=/trunk/; revision=21068
2006-02-17 12:31:58 +00:00
Maarten Bosma
d1c43ae00b rename net to network
svn path=/trunk/; revision=21067
2006-02-17 12:30:29 +00:00
Maarten Bosma
3c1bd00d5d Rename fs into filesystems
svn path=/trunk/; revision=21066
2006-02-17 12:29:35 +00:00
Maarten Bosma
3b262b2b94 Moved ntvdm
svn path=/trunk/; revision=21065
2006-02-17 12:24:29 +00:00
Maarten Bosma
5492371d90 Moved csrss
svn path=/trunk/; revision=21064
2006-02-17 12:23:40 +00:00
Maarten Bosma
e1f7c6d561 Moved win32k
svn path=/trunk/; revision=21063
2006-02-17 12:22:36 +00:00
Maarten Bosma
e38cfa52af Created win32 folder
svn path=/trunk/; revision=21062
2006-02-17 12:21:06 +00:00
Maarten Bosma
fc5ec98caa Created subsystems folder
svn path=/trunk/; revision=21061
2006-02-17 12:17:33 +00:00
Maarten Bosma
31959d6412 Moved regedit
svn path=/trunk/; revision=21060
2006-02-17 12:15:30 +00:00
Maarten Bosma
e21bc03c9c Moved welcome app
svn path=/trunk/; revision=21059
2006-02-17 12:15:00 +00:00
Maarten Bosma
66ff4f7cec Moved taskmgr
svn path=/trunk/; revision=21058
2006-02-17 12:14:28 +00:00
Maarten Bosma
f3a0a9748d Moved notepad
svn path=/trunk/; revision=21057
2006-02-17 12:14:02 +00:00
Maarten Bosma
834fce233f Moved calc
svn path=/trunk/; revision=21056
2006-02-17 12:12:51 +00:00
Maarten Bosma
f76cdb4765 Move odbc32
svn path=/trunk/; revision=21055
2006-02-17 12:08:10 +00:00
Maarten Bosma
1cb073b6b2 Move lsasrv
svn path=/trunk/; revision=21054
2006-02-17 12:06:00 +00:00
Maarten Bosma
f9e632a096 Remove empty folder
svn path=/trunk/; revision=21053
2006-02-17 12:00:40 +00:00
Maarten Bosma
205899a7df Move libxml
svn path=/trunk/; revision=21052
2006-02-17 11:59:15 +00:00
Maarten Bosma
e3c191663a Removed empty folder
svn path=/trunk/; revision=21051
2006-02-17 11:50:57 +00:00
Maarten Bosma
fd76dee090 Move adns
svn path=/trunk/; revision=21050
2006-02-17 11:50:32 +00:00
Maarten Bosma
c7dfdfd957 Move bzip2
svn path=/trunk/; revision=21049
2006-02-17 11:44:49 +00:00
Maarten Bosma
c74bd5a07f Move zlib into right place
svn path=/trunk/; revision=21048
2006-02-17 11:41:30 +00:00
Maarten Bosma
ef96090c41 Forgot that expat is static
svn path=/trunk/; revision=21047
2006-02-17 11:34:46 +00:00
Maarten Bosma
232f3bc12e Created lib/3rdparty
svn path=/trunk/; revision=21046
2006-02-17 11:34:01 +00:00
Maarten Bosma
76eff86165 Move expat
svn path=/trunk/; revision=21045
2006-02-17 11:27:49 +00:00
Maarten Bosma
88dc8a4c04 Put mesa32 into 3rdparty
svn path=/trunk/; revision=21044
2006-02-17 11:24:27 +00:00
Maarten Bosma
d0efeb564f Move freetype
svn path=/trunk/; revision=21043
2006-02-17 11:20:43 +00:00
Art Yerkes
b46fe9cfdb xml -> rbuild moves in base/system
svn path=/trunk/; revision=21042
2006-02-17 06:47:34 +00:00
Art Yerkes
74ba68af8d Hauled subsys/system items into base/system
Changed xml to rbuild in applications
Will do system next (you can't move a file twice)

svn path=/trunk/; revision=21041
2006-02-17 06:45:39 +00:00
Art Yerkes
8a8e125367 Move some xml around and back off one change in ReactOS.rbuild for now.
It'll be put in later when we move subsys.

svn path=/trunk/; revision=21040
2006-02-17 06:22:25 +00:00
Art Yerkes
8c1e6ba7cd Move moving around
svn path=/trunk/; revision=21039
2006-02-17 06:19:14 +00:00
Art Yerkes
fcbb23fc5e The death of lib/lib.mak was premature.
- rbuild builds again

svn path=/trunk/; revision=21038
2006-02-17 05:35:01 +00:00
Art Yerkes
1cfe3f65e9 Changed ReactOS.xml to ReactOS.rbuild
svn path=/trunk/; revision=21037
2006-02-17 05:07:22 +00:00
Art Yerkes
c388aea472 kernel32 moved to dll/win32
lib/lib.mak remove

svn path=/trunk/; revision=21036
2006-02-17 05:05:54 +00:00
Ged Murphy
b9620a1018 reshuffling of dlls
svn path=/trunk/; revision=21035
2006-02-17 00:52:06 +00:00
Ged Murphy
e727d08823 reshuffling of dlls
svn path=/trunk/; revision=21034
2006-02-17 00:45:38 +00:00
Ged Murphy
d22f0829eb reshuffling of dlls
svn path=/trunk/; revision=21033
2006-02-17 00:40:44 +00:00
Ged Murphy
96e23403ef move more dlls
svn path=/trunk/; revision=21032
2006-02-17 00:26:25 +00:00
Ged Murphy
c7a52696e6 move more dlls
svn path=/trunk/; revision=21031
2006-02-17 00:23:40 +00:00
Ged Murphy
88bd03dee8 move more dlls
svn path=/trunk/; revision=21030
2006-02-17 00:20:18 +00:00
Ged Murphy
32303859c4 move more dlls
svn path=/trunk/; revision=21029
2006-02-17 00:13:37 +00:00
Ged Murphy
02d9076fd7 move mesa32 over to new dir
svn path=/trunk/; revision=21028
2006-02-17 00:10:28 +00:00
Ged Murphy
b5f5dce9e1 recover mesa32. tortoise killed it.
svn path=/trunk/; revision=21027
2006-02-17 00:09:22 +00:00
Ged Murphy
85a9eb08a3 forgot to delete old ones
svn path=/trunk/; revision=21026
2006-02-17 00:04:52 +00:00
Ged Murphy
0443356e34 move more dlls
svn path=/trunk/; revision=21025
2006-02-17 00:04:10 +00:00
Ged Murphy
d3d484148f move dlls
svn path=/trunk/; revision=21024
2006-02-16 23:48:07 +00:00
Ged Murphy
dfc0103fab move more dlls
svn path=/trunk/; revision=21023
2006-02-16 23:44:17 +00:00
Ged Murphy
96f493e325 move some dlls
svn path=/trunk/; revision=21022
2006-02-16 23:40:19 +00:00
Ged Murphy
5bde3198b0 add the base .rbuild files
svn path=/trunk/; revision=21021
2006-02-16 23:32:18 +00:00
Ged Murphy
c64c0eda5f move network tools
svn path=/trunk/; revision=21020
2006-02-16 23:25:46 +00:00
Ged Murphy
a5c746a592 move explorer and cmd. Add a few .rbuild files
svn path=/trunk/; revision=21019
2006-02-16 23:23:37 +00:00
Ged Murphy
a54e551b70 move some files into base/applications
svn path=/trunk/; revision=21018
2006-02-16 23:18:11 +00:00
Ged Murphy
2ae57249c0 The tree is going to be restructured as per the proposed wiki model
This is a note to let everyone know :)

svn path=/trunk/; revision=21017
2006-02-16 23:13:44 +00:00
Maarten Bosma
08c486a009 Fix build for me
svn path=/trunk/; revision=21016
2006-02-16 23:12:35 +00:00
James Tabor
317de5eb11 Implement NtGdiGetTextCharsetInfo, it tested good.
svn path=/trunk/; revision=21015
2006-01-25 07:39:46 +00:00
James Tabor
aeffcda51e SelectObject with a NULL DC returns 0 and sets ERROR_INVALID_HANDLE.
svn path=/trunk/; revision=21014
2006-01-25 01:46:46 +00:00
Martin Fuchs
d81a4d5c75 explorer: fix small memory leak
svn path=/trunk/; revision=21012
2006-01-24 20:27:05 +00:00
Martin Fuchs
f1418c491d Work around for ROS to display the Explorer Rebar control
svn path=/trunk/; revision=21011
2006-01-24 20:05:50 +00:00
James Tabor
9aa40d6a75 GetCurrentObject does not SetLastError() on a null object.
svn path=/trunk/; revision=21010
2006-01-24 06:02:32 +00:00
James Tabor
035f762b73 DeleteObject does not SetLastError on a null object.
svn path=/trunk/; revision=21009
2006-01-24 06:01:58 +00:00
James Tabor
f5dca93577 I noticed GetObjectW in Wine is the same when a null object is used. It does not SetLastError.
svn path=/trunk/; revision=21008
2006-01-24 05:39:17 +00:00
James Tabor
78a1fa7053 Correct error returns for GetObject and GetObjectType based on Wine tests.
svn path=/trunk/; revision=21007
2006-01-24 05:23:52 +00:00
James Tabor
f125cf5904 UnrealizeObject does not SetLastError on a null object.
svn path=/trunk/; revision=21006
2006-01-24 05:03:00 +00:00
Maarten Bosma
61397ddb80 iluminatus(pedrom(dot)maia(at)gmail(dot)com): Portuguese (Portugal) keyboard layout.
svn path=/trunk/; revision=21005
2006-01-23 19:39:20 +00:00
Martin Fuchs
d49ce0be9d fix flickering in toolbar when resizing the explorer window
svn path=/trunk/; revision=21004
2006-01-23 19:36:59 +00:00
Martin Fuchs
d615a12c31 revert the last change - it's not correct since the GDI handles were not allocated before.
svn path=/trunk/; revision=21003
2006-01-23 18:46:45 +00:00
Christoph von Wittich
96249aac20 check NDIS ParameterType (fix by Crashfourit)
svn path=/trunk/; revision=21002
2006-01-23 18:15:00 +00:00
Christoph von Wittich
b8265505ae fixed some resource leaks
svn path=/trunk/; revision=21001
2006-01-23 12:59:30 +00:00
Christoph von Wittich
732b734362 forgot to commit the DrawEdge stuff
svn path=/trunk/; revision=21000
2006-01-23 12:39:35 +00:00
Brandon Turner
156e036330 Check to make sure GetComputerName failed, caught by Thomas.
svn path=/trunk/; revision=20999
2006-01-23 00:35:52 +00:00
Brandon Turner
2044f3f0a4 Show the computer name when loaded.
svn path=/trunk/; revision=20998
2006-01-23 00:24:59 +00:00
Christoph von Wittich
9d153967c7 use DrawEdge to draw the splitter
added WS_EX_CLIENTEDGE to MDI ChildWindow

svn path=/trunk/; revision=20997
2006-01-23 00:13:14 +00:00
Ged Murphy
7109a359ec remove unneeded loop check
svn path=/trunk/; revision=20996
2006-01-22 23:42:45 +00:00
Ged Murphy
088390e90c - Improve start / stop control
- Use GetSelectedService exclusively

svn path=/trunk/; revision=20995
2006-01-22 23:35:43 +00:00
Brandon Turner
56499760a8 Added some error checking after allocations. Part of bug #1110.
svn path=/trunk/; revision=20994
2006-01-22 23:29:53 +00:00
Thomas Bluemel
656641522e validate the ACLs and SIDs after capturing them in SeCaptureSecurityDescriptor()
svn path=/trunk/; revision=20993
2006-01-22 23:28:05 +00:00
Christoph von Wittich
a4cb208231 set TBSTYLE_FLAT
fixed ToolBar size
fixed Rebar (does not work on ROS yet)

svn path=/trunk/; revision=20992
2006-01-22 23:17:50 +00:00
Thomas Bluemel
f501786607 return the result in NtPrivilegeCheck
svn path=/trunk/; revision=20988
2006-01-22 22:49:49 +00:00
Mindflyer
ab30f7f06a Correct icons. If your treeview code isn't picky about what size icon it will display, at least edit the icon so that the icon only includes the display size (16x16). Previous commit (mbosma, 20982) caused computer.ico to be sampled at a too large size and then resized to 16x16 (which is bad, bad, and ugly).
svn path=/trunk/; revision=20987
2006-01-22 22:49:04 +00:00
Thomas Bluemel
cdf8bdd8d5 - secure access to buffers in NtPrivilegeCheck()
- fixed SeCaptureLuidAndAttributesArray() and SeReleaseLuidAndAttributesArray() to securely capture the buffers

svn path=/trunk/; revision=20986
2006-01-22 22:46:23 +00:00
Ged Murphy
92804170a5 - Added a progress bar showing the status of the action on the service
- Better control over stopping, pausing and resuming
- Get pointer to services via separate function

svn path=/trunk/; revision=20985
2006-01-22 22:33:22 +00:00
Thomas Bluemel
8833666d3e add SEH to NtW32Call and directly use KeUserModeCallback in win32k instead
svn path=/trunk/; revision=20984
2006-01-22 20:34:47 +00:00
Thomas Bluemel
6075158a14 set a last error code in case translating the path failed in InternalFindFirstFile()
svn path=/trunk/; revision=20983
2006-01-22 15:55:14 +00:00
Maarten Bosma
e1d2b36974 Add high resolution of computer.ico and replace regedit.ico with the tango config one. (was just a generic application icon)
svn path=/trunk/; revision=20982
2006-01-22 15:40:43 +00:00
Ged Murphy
d9920a6073 I have no excuse. It's not even early or late ....
svn path=/trunk/; revision=20981
2006-01-22 15:14:43 +00:00
Ged Murphy
2717426fd4 put brain into gear ....
svn path=/trunk/; revision=20980
2006-01-22 15:05:43 +00:00
Ged Murphy
c986b7a2b9 add some descriptions for listed services
svn path=/trunk/; revision=20979
2006-01-22 14:57:33 +00:00
Eric Kohl
746d400729 Forward CM_Create_DevNode[_Ex]A/W to umpnpmgr.
svn path=/trunk/; revision=20978
2006-01-22 14:33:04 +00:00
Maarten Bosma
833f60112b DJ_Smith (dj_smith_reactos(at)online(dot)de): Updated and added german translations.
svn path=/trunk/; revision=20977
2006-01-22 14:08:06 +00:00
Thomas Bluemel
5d1053c60e - fixed a possible endless loop in GetSecurityInfo()
- implemented the SE_REGISTRY_KEY, SE_FILE_OBJECT, SE_KERNEL_OBJECT, SE_SERVICE and SE_WINDOW_OBJECT object types for SetSecurityInfo()

svn path=/trunk/; revision=20976
2006-01-22 14:03:12 +00:00
Thomas Bluemel
5302f6c169 don't free the string allocated by RtlDosPathNameToNtPathName_U using RtlFreeUnicodeString because the string isn't allocated with the USTR tag
svn path=/trunk/; revision=20975
2006-01-22 13:41:39 +00:00
Thomas Bluemel
b0a1eba149 don't free the string allocated by RtlDosPathNameToNtPathName_U using RtlFreeUnicodeString because the string isn't allocated with the USTR tag
svn path=/trunk/; revision=20974
2006-01-22 13:06:23 +00:00
Thomas Bluemel
cb96a25169 translate the \\?\ prefix to \??\ in RtlDosPathNameToNtPathName_U
svn path=/trunk/; revision=20973
2006-01-22 12:29:40 +00:00
Thomas Bluemel
955b4987a2 fixed compiling
svn path=/trunk/; revision=20972
2006-01-22 11:08:35 +00:00
Thomas Bluemel
d8c8151df3 try to get the user from the token and fall back to reading the owner from the process when needed
svn path=/trunk/; revision=20971
2006-01-22 04:20:30 +00:00
Thomas Bluemel
465156f383 fixed allocating the memory for the security descriptor
svn path=/trunk/; revision=20970
2006-01-22 03:53:02 +00:00
Thomas Bluemel
c93b3bf869 return the pointers of the owner, group, dacl and sacl in the security descriptor returned by GetSecurityInfo()
svn path=/trunk/; revision=20969
2006-01-22 03:50:36 +00:00
Thomas Bluemel
68c3c9cf63 implement the object types SE_REGISTRY_KEY, SE_FILE_OBJECT, SE_SERVICE and SE_WINDOW_OBJECT for GetSecurityInfo()
svn path=/trunk/; revision=20968
2006-01-22 03:27:21 +00:00
Thomas Bluemel
0b0554b8ee implement the object type SE_KERNEL_OBJECT for GetSecurityInfo()
svn path=/trunk/; revision=20967
2006-01-22 03:07:21 +00:00
Thomas Bluemel
18b351a47b - fixed getting the process owner
- build as unicode by default

svn path=/trunk/; revision=20966
2006-01-22 02:43:36 +00:00
James Tabor
1c601418a5 Revert GetCharWidth32A change.
svn path=/trunk/; revision=20965
2006-01-21 23:00:16 +00:00
Thomas Bluemel
155e603f19 rename a variable to avoid conflicts with an existing information class constant
svn path=/trunk/; revision=20964
2006-01-21 22:36:37 +00:00
Maarten Bosma
837b237d7f fix icon loading
replace help icon with tango one
use dot.ico from explorer as default icon

svn path=/trunk/; revision=20963
2006-01-21 17:37:04 +00:00
Thomas Bluemel
02b4ce4fcd don't read the image file name from the Peb in NtQueryInformationProcess (class ProcessImageFileName), use the section object instead
svn path=/trunk/; revision=20962
2006-01-21 17:36:05 +00:00
Ged Murphy
30d575ef49 - Fix displaying the full executable path, plus arguments
- start converting rc file from ResEd output to human readable

svn path=/trunk/; revision=20961
2006-01-21 15:36:11 +00:00
Magnus Olsen
b80eb0ba67 corret a member name in DD_SURFACECALLBACKS so it is same as ddk
svn path=/trunk/; revision=20960
2006-01-21 14:22:17 +00:00
James Tabor
333af5295d Fixes typeo.
svn path=/trunk/; revision=20959
2006-01-21 02:19:27 +00:00
James Tabor
c8fb29311e Port Wine GetCharWidth32A.
svn path=/trunk/; revision=20958
2006-01-21 00:52:08 +00:00
James Tabor
21e636d088 Implement the gdi function GetTextCharsetInfo.
svn path=/trunk/; revision=20957
2006-01-21 00:05:59 +00:00
James Tabor
4006543f96 Add notes for NtGdiGetTextCharset.
svn path=/trunk/; revision=20956
2006-01-21 00:04:14 +00:00
Hervé Poussineau
b83e987873 Add stubs for keyboard and mouse class installers
svn path=/trunk/; revision=20955
2006-01-20 17:50:27 +00:00
Hervé Poussineau
d5fbbf9cd4 Activate serial device interface only at the very end of IRP_MN_START_DEVICE
svn path=/trunk/; revision=20954
2006-01-20 17:41:59 +00:00
Ged Murphy
43744d9581 - Resource added for creating a service
- Allow the prop sheet to control services
- Add exe path to prop sheet
- Only update the listview item itself when changing a service state

svn path=/trunk/; revision=20953
2006-01-20 17:29:50 +00:00
Brandon Turner
42b0618579 Rename NtGdiGetTextExtentPoint to NtGdiGetTextExtent and correct the declaration.
svn path=/trunk/; revision=20950
2006-01-20 01:54:56 +00:00
James Tabor
6d1c5612cc Move GetTextCharset & Info to text.c. This part of a Wine port.
svn path=/trunk/; revision=20949
2006-01-20 00:52:35 +00:00
Ged Murphy
d74beaf81f - Add some more info to the properties dialog
- Preliminary starting and stopping of services
- Other jiggling about of the code ;)
- still untested (I should get really round to this sometime :) )

svn path=/trunk/; revision=20948
2006-01-20 00:24:34 +00:00
Christoph von Wittich
73d6a54d0e display first tab at startup
fixed a typo in german rc file
resized some controls

svn path=/trunk/; revision=20947
2006-01-19 18:19:44 +00:00
James Tabor
74bf31b2b2 Patch by Sebastiaan Roodenburg. Fixes problem in NtGdiStrechBlt.
svn path=/trunk/; revision=20946
2006-01-19 03:25:51 +00:00
James Tabor
ff0bdc14d4 Start Wine port for most Gdi functions. GetCharWidthA should be redirected to GetCharWidth32A in the def file. Just taking one step at a time ATM.
svn path=/trunk/; revision=20945
2006-01-18 22:02:44 +00:00
Hartmut Birr
070ca32109 Removed my name from the hall of fame. Since it seems, that parts of ReactOS are implemented by ripping code from Windows, it isn't longer honourable to find my name inside the sources of ReactOS.
svn path=/trunk/; revision=20944
2006-01-17 23:14:51 +00:00
Hartmut Birr
de586fbd31 Removed my name from the hall of fame. Since it seems, that parts of ReactOS are implemented by ripping code from Windows, it isn't longer honourable to find my name inside the sources of ReactOS.
svn path=/trunk/; revision=20943
2006-01-17 23:11:13 +00:00
Alex Ionescu
12d35a7b84 - Use MmUserProbeAddress in the system call handler to verify the parametes we got from user-mode are valid and return STATUS_ACCESS_VIOLATION if the check fails.
- Handle failure after PsConvertToGuiThread and return STATUS_INVALID_SYSTEM_SERVICE and/or FALSE and/or -1 on failure.
- Made MCE/XMMI interrupts unexpected on-boot.
- Removed KiTrapUnknown and used KiTrap0F (15) instead, which is the generic unexpected handler.

svn path=/trunk/; revision=20942
2006-01-17 22:41:39 +00:00
Alex Ionescu
419e7bb9d5 * Implement 3 out of 4 486-compatible ExInterlocked functions which use spinlock instead of cmpxhcg8. Code not yet tested and this code path is not made hot (enabled) yet.
svn path=/trunk/; revision=20941
2006-01-17 22:34:20 +00:00
Ged Murphy
2bce2ab662 A bit of work towards populating the properties dialog. (untested)
svn path=/trunk/; revision=20940
2006-01-17 20:12:18 +00:00
Alex Ionescu
1baa697ddf - Delete deprecated file.
svn path=/trunk/; revision=20939
2006-01-17 17:29:23 +00:00
Alex Ionescu
d8582ed67b - Use static IDT entries generated through a macro, instead of dynamically allocating them each boot. Note that we do not store them in an i386 compatible format, but much like NT, swap the bits so that our macro can more clearly define each entry.
svn path=/trunk/; revision=20938
2006-01-17 17:28:41 +00:00
Ged Murphy
bc2e6ca915 program files should use a separate a resource from directories.
svn path=/trunk/; revision=20937
2006-01-17 16:39:50 +00:00
Alex Ionescu
f2414f3c2c - Move some assembly functions around in better suited locations.
- Merge syscall.S and trap.S into trap.S, and nicely document the software interrupt table that we service, as well as special cases.

svn path=/trunk/; revision=20936
2006-01-17 06:36:35 +00:00
Alex Ionescu
93c504407b - Implement SYSCALL_PROLOG for the main handler and the three fast-system calls (ints 2b, 2c, 2d) which are not yet implemented.
- Document the macros.

svn path=/trunk/; revision=20935
2006-01-17 05:54:35 +00:00
Alex Ionescu
087083224f - Implement first version of trap exit macro. Currently missing documentation, and the parameters could probably be simplified.
svn path=/trunk/; revision=20934
2006-01-17 05:22:00 +00:00
Alex Ionescu
95968a8292 * Add more documented flags from ks386.inc to asm.h
* Isolate and clean-up the VMWare hack; the shared trap exit macro can now be implemented.

svn path=/trunk/; revision=20933
2006-01-17 05:05:35 +00:00
Thomas Bluemel
3a3a12d3be don't release the pipe list lock twice in case of a canceled read operation
svn path=/trunk/; revision=20932
2006-01-17 03:28:33 +00:00
Thomas Bluemel
2d01a7cf65 some fixes in NtReadFile and NtWrite file for (a)synchronous pipe handling and parameter checks
svn path=/trunk/; revision=20931
2006-01-17 03:25:55 +00:00
Alex Ionescu
5b6264cf13 * Add more PSDK defintions to asm.h
* Use these new definitions instead of constants in syscall.S
* Document the macros using doxygen-compatible format, and convert SET_TF_DEBUG_HEADER to as macro instead of CPP macro.
* Use SET_TF_DEBUG_HEADER in system call handlers instead of duplicating the code.

svn path=/trunk/; revision=20930
2006-01-17 03:00:21 +00:00
Alex Ionescu
3ad6f05446 * Use macro for APC-delivery.
* Mark function start/endings for the compiler.

svn path=/trunk/; revision=20929
2006-01-17 01:22:21 +00:00
Ged Murphy
f697d968ef make arrow available in 24x24
svn path=/trunk/; revision=20928
2006-01-17 00:13:11 +00:00
Christoph von Wittich
87df19f3e9 fixed a bug in IntSetMenuItemInfo
svn path=/trunk/; revision=20927
2006-01-16 23:26:41 +00:00
Ged Murphy
fef4764e1f new recent docs icon
svn path=/trunk/; revision=20926
2006-01-16 23:26:26 +00:00
Christoph von Wittich
0e05e0efb3 fix text align when using HBMMENU_CALLBACK (patch by Brezenbak)
svn path=/trunk/; revision=20925
2006-01-16 23:20:11 +00:00
Martin Fuchs
116372101a display icons of size 24x24 per default in the start menu root
svn path=/trunk/; revision=20924
2006-01-16 23:00:38 +00:00
Alex Ionescu
f5e9486425 - Fix a build issue.
- Added more DBG checks for trap exits:
  * Detect if exiting with incorrect IF state.
  * Detect if exiting with broken stack.
  * Detect if exiting with a broken trap frame (note: Disabled in Kei386EoiHelper beause this raises the assertion. The trap frame is valid, it's just that some old code is using DbgArgMark for other purposes. Will fix.)
  * Detect if exiting with invalid FS.
  * Detect if exiting with invalid Exception List.
  * Detect if exiting with incorrect exception list and/or incorrect previmous mode on the stack (to detect macro/calling type mismatch).
The trap exit code is now complete and shareable across all 3 trap exit types, except for one broken assertion left to fix.

svn path=/trunk/; revision=20923
2006-01-16 22:07:38 +00:00
Alex Ionescu
b311311796 * Increase total system call count in KPCR for performance counter.
* Increase per-systemcall call count in the KiServiceTable if it was specified, for performance counters.
* Add sanity checks to system call handler to detect:
  - User-mode system calls at > PASSIVE
  - User-mode system call return at > PASSIVE
  - Return to user-mode with Kernel APCs disabled.
* These features are on DBG only.

svn path=/trunk/; revision=20922
2006-01-16 21:41:19 +00:00
Alex Ionescu
a784e36891 - Write the first of 3 shared trap prolog macros. Does not fully support V86 entry and DR saving yet. Used by all KiTraps (except double-fault for now) and KiDebugService.
- Update asm.h with more stuff from ks386.inc.
- Use only documented constants in syscall.S through asm.h.

svn path=/trunk/; revision=20921
2006-01-16 21:14:32 +00:00
Gé van Geldorp
3e42157fa5 Fix build for binutils 2.15.90
svn path=/trunk/; revision=20920
2006-01-16 21:12:13 +00:00
Alex Ionescu
58964b9893 - Fix another V86 Mode exit bug which could cause non-volatiles to be incorrectly restored.
- Make traps use the shared EOI (End Of Interrupt) helper instead of their own custom trap exit code.

svn path=/trunk/; revision=20919
2006-01-16 19:59:32 +00:00
Alex Ionescu
4334f8a57f - Fix a bad bug in the system call handler and interrupt/trap exit code which was causing a jump to the incorrect epilogue if V86 mode was detected.
- Replaced most of the trap prolog code by the KiDebugService entry trap code from syscall.S. Eventually, after remaining bugs are fixed, the code will be shared across all traps and not duplicated anymore. (For documnetation's sake, changing the prolog has the following effects: DR registers are not saved anymore (they will be later), DS/ES are set to RPL3 DATA, not RPL0 DATA, GS is not touched (it shoudl be 0, not RPL0_DATA). PreviousMode is not touched at all, the Debug Trap Frame header is properly setup).

svn path=/trunk/; revision=20918
2006-01-16 19:32:55 +00:00
Alex Ionescu
707ff20f85 - Update asm.h with more definitions.
svn path=/trunk/; revision=20917
2006-01-16 17:17:49 +00:00
Alex Ionescu
2c7e1a713e - Merge breakpoint.S and tblfush.S into cpu.S
svn path=/trunk/; revision=20916
2006-01-16 17:17:16 +00:00
Alex Ionescu
3a99d30e3e Do set ESP0, but after we save the old value for the V86 hack.
svn path=/trunk/; revision=20915
2006-01-16 17:07:45 +00:00
Alex Ionescu
68d8925879 Disable correct usage of ESP0 since it seems the V86 code is still not ready to handle that. This should fix the V86 exceptions some people have been having.
svn path=/trunk/; revision=20914
2006-01-16 17:05:50 +00:00
Christoph von Wittich
7d5b2bb49d implemented HBMMENU_CALLBACK (now some of the Miranda icons are displayed)
svn path=/trunk/; revision=20913
2006-01-16 16:45:27 +00:00
Thomas Bluemel
a66e25af32 fixed difference in signedness warnings and a uninitialized variable warning
svn path=/trunk/; revision=20912
2006-01-16 16:29:02 +00:00
Alex Ionescu
da4ac0b789 - Fix some nasty context switch bugs:
* We did not update the KPCR's stacklimit/initialstack with the new thread's stacklimit/initialstack.
  * We always assumed V86 frame bias in KeInitializeThreadContext.
  * We did not properly update ESP0 during context switch, to make space for the NPX frame and V86 bias.
  * We did not update fs:18h to point to the new TEB.
  * We did not clear out GS when switching processes, nor update the TSS's cr3.
  * If a new LDT was being updated, we over-wrote EBP (which was supposed to point to the TSS) by the GDT pointer.
  * We used a push/pop esp0 hack which hid the fact we never updated esp0.

svn path=/trunk/; revision=20911
2006-01-16 02:21:22 +00:00
Gé van Geldorp
9c9b29ed6e New wininet vendor import
svn path=/trunk/; revision=20909
2006-01-15 22:25:16 +00:00
Gé van Geldorp
6a168b6bb3 Drop old wininet in preparation for new vendor import
svn path=/trunk/; revision=20908
2006-01-15 22:22:02 +00:00
Gé van Geldorp
4b714cc7f4 wintrust vendor import
svn path=/trunk/; revision=20905
2006-01-15 21:58:59 +00:00
Gé van Geldorp
aa886b4606 Delete old (unused) wintrust version
svn path=/trunk/; revision=20904
2006-01-15 21:54:47 +00:00
Alex Ionescu
ee329f30db - Don't bother with clearing the DRs in the CONTEXT, just clear DR7 in the trap frame after the conversion.
svn path=/trunk/; revision=20901
2006-01-15 20:26:53 +00:00
Magnus Olsen
1a6b709e32 Implement XMillimeter and YMillimeter calculation, it not 100% correct for I assume the monitor DPI is always 72DPI
svn path=/trunk/; revision=20900
2006-01-15 20:25:53 +00:00
Alex Ionescu
e129f72183 - Use old-style NPX state when creating the thread context. Fixes regression in 1st-stage install.
svn path=/trunk/; revision=20899
2006-01-15 20:13:08 +00:00
Ged Murphy
bfa1e86e2a help update
svn path=/trunk/; revision=20898
2006-01-15 19:06:18 +00:00
Hartmut Birr
d95e04f38a - Allocated the initial stacks page aligned.
- Add a guard page for the initial stacks.
- Fixed the size of the initial stacks.

svn path=/trunk/; revision=20897
2006-01-15 18:28:40 +00:00
Hartmut Birr
328e260852 Fixed the stack for the first thread.
svn path=/trunk/; revision=20896
2006-01-15 18:21:43 +00:00
Ged Murphy
208e318f73 Change toolbars from 16 to 15 pixels high
svn path=/trunk/; revision=20895
2006-01-15 16:47:18 +00:00
Thomas Bluemel
48939cfdc4 implemented LsaDelete() (client only)
svn path=/trunk/; revision=20894
2006-01-15 14:34:58 +00:00
Thomas Bluemel
12fcc64d56 implemented LsarClose()
svn path=/trunk/; revision=20893
2006-01-15 14:18:43 +00:00
Martin Fuchs
7548ba36d1 Explorer: sort drives by path name; ignore hidden attribute of NTFS volumes
This resolves Bugzilla issue 1236

svn path=/trunk/; revision=20892
2006-01-15 13:44:14 +00:00
Thomas Bluemel
88a9cea5ae disable starting lsass.exe for now
svn path=/trunk/; revision=20891
2006-01-15 13:25:50 +00:00
Thomas Bluemel
5e85dccad2 - use RPC for communication with lsass
- start lsass.exe on startup

svn path=/trunk/; revision=20890
2006-01-15 13:19:57 +00:00
Martin Fuchs
1fbded087b change explorer sort order so that virtual folders are moved after physical folders
svn path=/trunk/; revision=20889
2006-01-15 12:30:17 +00:00
Hartmut Birr
0f462fdea6 Fix the smp build.
svn path=/trunk/; revision=20888
2006-01-15 10:17:35 +00:00
Alex Ionescu
20e6dde401 - Update KeContextToTrapFrame to support separate ContextFlags parameters in the scenario where we want to convert more then the Context's flag specify
- Rename some of the internal FPU flags to external names and make them global.
- Improve context creation of new threads to initialize the virgin NPX state for new threads, to clear DR debug registers, to properly convert the context to a trap frame, to set the right segment registers, to set the debugging mark in the trap frame, and to properly set the initial eflags.
- Add stubs for upcoming support for extended/floating point registers in KeContextToTrapFrame and KeTrapFrameToContext.

svn path=/trunk/; revision=20887
2006-01-15 09:23:55 +00:00
Hartmut Birr
1b8586982f Fixed the initialisation of the feature bits.
svn path=/trunk/; revision=20886
2006-01-15 09:14:04 +00:00
Hartmut Birr
244b5bb3cc Lower the irql on exit in KeInsertQueueDpc.
svn path=/trunk/; revision=20885
2006-01-15 08:53:01 +00:00
Hartmut Birr
aab50d9dd5 Fix the check for an empty list.
svn path=/trunk/; revision=20884
2006-01-15 08:51:20 +00:00
Hartmut Birr
68151ba039 Bochs debug output is only a simple print routine and not a wrapper which can handle faults.
svn path=/trunk/; revision=20883
2006-01-15 08:49:26 +00:00
Thomas Bluemel
ba9679e15b implemented FindFirstStreamW() and FindNextStreamW() (untested!)
svn path=/trunk/; revision=20882
2006-01-15 03:11:31 +00:00
Martin Fuchs
e592a21cc6 release mozctl_install_semaphore semaphore when the user doesn't want to download the mozilla control
svn path=/trunk/; revision=20881
2006-01-15 01:24:59 +00:00
Royce Mitchell III
1eafbf2c6b fix "line #=0" and "missing function name" bugs in rsym data. There's one issue this fix causes - apparently macros will have their file/line # reported, instead of the location they are being invoked, but this is a far cry better than before.
svn path=/trunk/; revision=20880
2006-01-15 01:12:00 +00:00
Martin Fuchs
d39838f086 remove incorrect include directory
svn path=/trunk/; revision=20879
2006-01-15 00:51:40 +00:00
Martin Fuchs
6c9463c494 fix Expat includes
svn path=/trunk/; revision=20878
2006-01-15 00:47:25 +00:00
Alex Ionescu
d8b6e8e1a5 Fix msvc warnings
svn path=/trunk/; revision=20877
2006-01-15 00:45:06 +00:00
Martin Fuchs
efa50c8848 Update XMLStorage to Expat 2.0
svn path=/trunk/; revision=20876
2006-01-15 00:09:32 +00:00
Martin Fuchs
1f209472ae update header files to Expat Version 2.0
svn path=/trunk/; revision=20875
2006-01-15 00:06:30 +00:00
Martin Fuchs
4de4f141b6 update to Expat Version 2.0
svn path=/trunk/; revision=20874
2006-01-15 00:06:16 +00:00
Thomas Bluemel
240a8443b4 RegDisablePredefinedCacheEx() should also disable the cache for HKU
svn path=/trunk/; revision=20873
2006-01-14 23:54:05 +00:00
Thomas Bluemel
3384b413ab fixed a buffer overflow when the referenced domain length is 0
svn path=/trunk/; revision=20872
2006-01-14 23:37:56 +00:00
Nathan Woods
f34d84db46 Freeloader: Check return code of RegOpenKey() in FrLdrLoadBootDrivers() for failure
Another one...


svn path=/trunk/; revision=20871
2006-01-14 23:35:20 +00:00
Thomas Bluemel
e4484b0bde - implemented RegDisablePredefinedCache()
- added stubs for RegEnableReflectionKey(), RegDisableReflectionKey() and RegQueryReflectionKey()

svn path=/trunk/; revision=20870
2006-01-14 23:17:26 +00:00
Thomas Bluemel
55317536c0 add stubs for CancelIoEx() and CancelSynchronousIo()
svn path=/trunk/; revision=20869
2006-01-14 22:47:35 +00:00
Thomas Bluemel
0c13546927 added stubs for SetFileBandwidthReservation(), GetFileBandwidthReservation(), SetFileCompletionNotificationModes() and OpenFileById(). Thanks also to Alex
svn path=/trunk/; revision=20868
2006-01-14 22:25:20 +00:00
Nathan Woods
df36b0db90 Freeloader: Check return code of RegOpenKey() in FrLdrLoadBootDrivers() for failure
svn path=/trunk/; revision=20866
2006-01-14 21:57:07 +00:00
Thomas Bluemel
24460a5027 remove debug information I forgot to remove
svn path=/trunk/; revision=20865
2006-01-14 20:36:49 +00:00
Thomas Bluemel
70dcf02781 make the initial kernel_stack large enough to have enough space for the fx savings area
svn path=/trunk/; revision=20864
2006-01-14 20:36:01 +00:00
Gé van Geldorp
deb66aaf9e Import mapi32 from Wine
svn path=/trunk/; revision=20861
2006-01-14 19:36:04 +00:00
Maarten Bosma
5c45ff59ee DJ_Smith (dj_smith_reactos(at)online(dot)de):
- Updated and added german translations. 
- Fixed some small mistakes in .rc files.

svn path=/trunk/; revision=20858
2006-01-14 18:51:22 +00:00
Ged Murphy
14bce6bfdf Add calculator icon
svn path=/trunk/; revision=20857
2006-01-14 17:59:59 +00:00
Ged Murphy
9cf3463d87 - Remove licence dialog boxes and implement an about box crediting authors and stating the licence.
- Add a notepad icon
- rearrange the file structure

svn path=/trunk/; revision=20856
2006-01-14 17:35:56 +00:00
Thomas Bluemel
a988d3cfe2 fixed possible buffer overflows in LookupAccountSidW(): LSA_UNICODE_STRINGs are not necessarily NULL-terminated!
svn path=/trunk/; revision=20855
2006-01-14 16:31:28 +00:00
Thomas Bluemel
2edcb03c9d improved error handling
svn path=/trunk/; revision=20854
2006-01-14 16:18:45 +00:00
Christoph von Wittich
9a1758ce5a implemented PS_DOT, PS_DASH and PS_INSIDEFRAME in IntGdiCreatePenIndirect
(speeds up Thunderbird a bit (much less debug output)

svn path=/trunk/; revision=20853
2006-01-14 16:08:57 +00:00
Thomas Bluemel
e1fd1adbfa fixed SeSetWorldSecurityDescriptor() so it creates a security descriptor that is at least valid
svn path=/trunk/; revision=20851
2006-01-14 14:52:50 +00:00
Thomas Bluemel
7c8174e7ee implemented GetFinalPathNameByHandleA() and added stub for GetFinalPathNameByHandleW()
svn path=/trunk/; revision=20850
2006-01-14 13:37:08 +00:00
Christoph von Wittich
6fca38c9bf fixed LoadCursorIconImage (Thunderbird is now working)
svn path=/trunk/; revision=20849
2006-01-14 12:42:04 +00:00
Thomas Bluemel
a5da271b47 add cacls.exe to the bootcd
svn path=/trunk/; revision=20848
2006-01-14 12:18:10 +00:00
Martin Fuchs
3b78324482 add the new icons to the project file
svn path=/trunk/; revision=20847
2006-01-14 09:04:42 +00:00
Alex Ionescu
fde02cbbc1 - Fix flaw in win32k hardware message queue which used KMUTEX instead of KMUTANT, thus double-disabling Kernel APCs during the parsing of the queue, which would result in actually deliving hardware message callbacks with Kernel APCs disabled when going to user-mode. This was detected when my new user-mode callback rewrite added checks for this situation, and it originally caused a bugcheck. Since the message queue code is now fixed, the bugcheck has been re-enabled, hopefully no other such violations will be detected (I was able to run/install firefox for a couple of minutes and there was no APC_INDEX_MISMATCH crash). Fixes bug 1272, and thanks to Filip for doing some late-night IRC analysis with me.
svn path=/trunk/; revision=20846
2006-01-14 08:49:10 +00:00
Thomas Bluemel
da88b5bcd7 An initial implementation of cacls.exe. Only displaying ACLs works, editing is not implemented.
svn path=/trunk/; revision=20845
2006-01-14 04:32:37 +00:00
Nathan Woods
45846ec6ea Rbuild: Added "description" field to the various backend factories, and then used the description field to generate the help text.
(updated the patch in bugzilla bug #790)


svn path=/trunk/; revision=20844
2006-01-14 01:00:56 +00:00
Ged Murphy
0dfeb869d7 icons are now 16x16, 24x24, 32x32, 48x48
svn path=/trunk/; revision=20843
2006-01-14 00:51:00 +00:00
Ged Murphy
258a8138c0 Separate mydocs and recent docs resources
svn path=/trunk/; revision=20842
2006-01-13 23:31:21 +00:00
Filip Navara
b6228f6f3f Copy the correct number of bytes.
svn path=/trunk/; revision=20841
2006-01-13 23:28:08 +00:00
Ged Murphy
cc6d71f9c9 - new icons for all control panel applets.
- icons now include 16x16, 24x24, 32x32 and 48x48

svn path=/trunk/; revision=20840
2006-01-13 23:24:39 +00:00
Alex Ionescu
d03c6f0016 - Fix one more leak when converting from non-gui to GUI thread stack.
svn path=/trunk/; revision=20839
2006-01-13 22:23:31 +00:00
Alex Ionescu
65ef48820e - Properly create, grow and delete the kernel stack. Fixes potential memory leaks introduced in 20806. Thanks to Filip for verifying my math.
svn path=/trunk/; revision=20838
2006-01-13 21:56:51 +00:00
Ged Murphy
0d0c70b9f0 don't forget the ibrowser toolbar :)
svn path=/trunk/; revision=20837
2006-01-13 20:37:55 +00:00
Ged Murphy
7e0d44db86 some new toolbar icons
svn path=/trunk/; revision=20836
2006-01-13 20:00:46 +00:00
Thomas Bluemel
55ae827634 revert my last change
svn path=/trunk/; revision=20835
2006-01-13 17:54:37 +00:00
Thomas Bluemel
0501de01bb remove wine's broken _beginthread() and _endthread() and implement them properly
svn path=/trunk/; revision=20834
2006-01-13 17:32:59 +00:00
Thomas Bluemel
4f5e52acac fixed uninitialized variable warning
svn path=/trunk/; revision=20833
2006-01-13 17:24:06 +00:00
Royce Mitchell III
c6dc06a91a msvc2k5 build files
svn path=/trunk/; revision=20832
2006-01-13 13:56:10 +00:00
Royce Mitchell III
80c22e7ef6 msvc2k5 compatibility fix
svn path=/trunk/; revision=20831
2006-01-13 13:53:26 +00:00
Steven Edwards
5bf3b55eb0 This screws up my grep and is not used anymore
svn path=/trunk/; revision=20830
2006-01-13 06:35:52 +00:00
Steven Edwards
e55f4c1715 guard the private header
svn path=/trunk/; revision=20829
2006-01-13 05:34:04 +00:00
Thomas Bluemel
2187ed480c pszGroupName in EnumServicesStatusEx() can be NULL
svn path=/trunk/; revision=20828
2006-01-13 01:28:10 +00:00
Ged Murphy
4ed88341e5 submit correct icon this time
svn path=/trunk/; revision=20827
2006-01-13 00:28:08 +00:00
Alex Ionescu
0aefe337a2 Acquire dispatcher lock if we're going to be expanding the owner table, so that we don't enter a race condition with the boost code in the wait for resource code on SMP systems
svn path=/trunk/; revision=20826
2006-01-13 00:18:21 +00:00
Alex Ionescu
11cd383f29 Fix typos
svn path=/trunk/; revision=20825
2006-01-13 00:16:51 +00:00
Ged Murphy
8707f4af9f - Split up the icon resources so each start menu entry has it's own icon
- Add many new icons to make ReactOS prettier

svn path=/trunk/; revision=20824
2006-01-13 00:15:53 +00:00
Alex Ionescu
904268219f Fix boost loop
svn path=/trunk/; revision=20823
2006-01-13 00:15:31 +00:00
Christoph von Wittich
f0c76db15b added missing explorer-uk.rc (spotted by temarez@yandex.ru)
svn path=/trunk/; revision=20822
2006-01-12 22:16:04 +00:00
Thomas Bluemel
e3b06b1df2 don't use a bitmap font to draw the text in the graphs. However, it currently doesn't use the shell font because the graph controls could use some serious work.
svn path=/trunk/; revision=20821
2006-01-12 21:28:07 +00:00
Alex Ionescu
addb22e71d Set KernelApcPending == TRUE in KiCheckForKernelApcDelivery if we are at APC_LEVEL. This should hopefully fix some of those silent bugs. Thanks to Ignatich for poking me about it.
svn path=/trunk/; revision=20820
2006-01-12 21:21:19 +00:00
Alex Ionescu
d3bb910b19 - Unfsck NtGdiExtCreatePen (thanks Christopher).
svn path=/trunk/; revision=20819
2006-01-12 21:16:42 +00:00
Christoph von Wittich
bf292467ef added sk kbd layout to registry patch by Malin <malin23@atlas.sk> (fixed bug 1251)
svn path=/trunk/; revision=20818
2006-01-12 21:15:38 +00:00
Alex Ionescu
15e4ff5735 Task Manager enhs & fiexs <Pablo <pborobia@gmail.com>
- make a last used cpu usage color memory
- fix colors in the cpu history
- high refresh more offten
- fix kernel cpu usage colorbars paint

Bug 1271.

svn path=/trunk/; revision=20817
2006-01-12 20:54:35 +00:00
Christoph von Wittich
c974c3e9ab added/updated spanish translations by samwise52 <samcharly@hotmail.com> (fixed bug 1266)
svn path=/trunk/; revision=20816
2006-01-12 20:38:54 +00:00
Thomas Bluemel
29c9711dbc fixed maximum wait time in EnterCriticalPolicySection
svn path=/trunk/; revision=20815
2006-01-12 20:38:18 +00:00
Thomas Bluemel
392e44d18c remove incorrect comment that was accidentally copied
svn path=/trunk/; revision=20814
2006-01-12 20:35:36 +00:00
Thomas Bluemel
eb9ce0f7b7 implemented WaitForUserPolicyForegroundProcessing() and WaitForMachinePolicyForegroundProcessing()
svn path=/trunk/; revision=20813
2006-01-12 20:32:44 +00:00
Christoph von Wittich
94d809fd05 added Ukranian translations by temarez <temarez@yandex.ru> (fixed bug 1269)
svn path=/trunk/; revision=20812
2006-01-12 20:31:08 +00:00
Alex Ionescu
b384b5adb0 Temporarly disable a correct bugcheck in order to hide a ReactOS bug, now that the bug is in bugzilla/ML
svn path=/trunk/; revision=20811
2006-01-12 19:32:43 +00:00
Thomas Bluemel
57fdde9558 fixed a memory leak in EnterCriticalPolicySection()
svn path=/trunk/; revision=20810
2006-01-12 18:56:21 +00:00
Thomas Bluemel
c3ac273c24 - implemented RefreshPolicy() and RefreshPolicyEx()
- added missing definitions to userenv.h

svn path=/trunk/; revision=20809
2006-01-12 18:50:39 +00:00
Thomas Bluemel
ac0d3797dd implemented EnterCriticalPolicySection() and LeaveCriticalPolicySection()
svn path=/trunk/; revision=20808
2006-01-12 18:05:35 +00:00
Alex Ionescu
16021176dd Don't release dispatcher lock in ExpBoostThread, we want to re-acquire it instead.
svn path=/trunk/; revision=20807
2006-01-12 17:52:51 +00:00
Alex Ionescu
b56c560a49 Temporaily disable kernel stack deletion so head is usable again
svn path=/trunk/; revision=20806
2006-01-12 17:43:07 +00:00
Thomas Bluemel
1a3e538952 use a default security descriptor for the group policy events
svn path=/trunk/; revision=20805
2006-01-12 17:30:27 +00:00
James Tabor
4585d9f6ec Clean up warning for SafeIconImage might be uninitialized in LoadImageW.
svn path=/trunk/; revision=20804
2006-01-12 06:15:21 +00:00
Steven Edwards
b65c6141b3 remove the libxml2 docs. They are wasting space
svn path=/trunk/; revision=20803
2006-01-12 06:08:42 +00:00
Thomas Bluemel
f1c20bd848 implemented GetModuleHandleExA/W(), LdrAddRefDll() and RtlPcToFileHeader() (untested)
svn path=/trunk/; revision=20802
2006-01-12 04:31:37 +00:00
Alex Ionescu
426c237aa6 - Add the ktrap_frame hack back because it's still missing parts until it can be removed. Sorry for not noticing earlier and breaking boot, it only happens on vmware (I guess due to the way it handles the CPU differently).
svn path=/trunk/; revision=20801
2006-01-12 01:16:57 +00:00
Alex Ionescu
bdcd305e19 - Remove deprecated file.
svn path=/trunk/; revision=20800
2006-01-12 00:46:35 +00:00
Thomas Bluemel
4e710ce685 remove unused $Id tags
svn path=/trunk/; revision=20799
2006-01-12 00:30:02 +00:00
Thomas Bluemel
78a4d9117f partial implementation of AuthzInitializeContextFromSid(), AuthzGetInformationFromContext() and AuthzFreeContext()
svn path=/trunk/; revision=20798
2006-01-12 00:23:47 +00:00
Thomas Bluemel
05a3678a52 minor fixes and use a .spec file
svn path=/trunk/; revision=20797
2006-01-12 00:19:35 +00:00
Thomas Bluemel
d4998e1249 fixed uninitialized variable warning
svn path=/trunk/; revision=20796
2006-01-12 00:13:45 +00:00
Thomas Bluemel
ff7d975c7d Fix code assuming that the Reg* functions set the last error code
svn path=/trunk/; revision=20795
2006-01-12 00:11:14 +00:00
Alex Ionescu
d46b22a834 - Rewrite usermode callbacks. These changes should greatly optimize graphic operations. After these changes, my "idle" CPU Usage in taskmgr went from 7-8% to 4-5%, while on the performace page, from 15-18% to 10-13%:
* Do not use ugly and messy code to create linked stacks and other such resource-wasting steps. Use our newly implemented 60KB stack support and MmGrowKernelStack when needed.
  * Write all the low-level code in assembly instead of relying on structures and hodgepodge code.
  * Add debugging/detection features for invalid calls, such as invalid IRQL, APCs being disabled, invalid previous mode detection (this allowed me to fix the KWAIT_BLOCK bug today).
  * Finally fix the last (I hope) remaning trap frame bug issue related to V86 mode bias. One of the "hacks" in syscall.S has already been removed and I can now do the promised cleanup.
  * Allow some failulre cases in callbacks (not all implemented) and extend stack space for future use of SEH in the ntdll dispatcher.
  * Fix win32k to use callbacks properly: the system fills out *Result and *ResultLength, not the caller.
  * Use SEH (ProbeForWrite) in callbacks to detect invalid user-mode memory.
  * Save NPX State and ExceptionList across callbacks (I think this wasn't fully properly done in all cases).


svn path=/trunk/; revision=20794
2006-01-11 23:54:44 +00:00
Hartmut Birr
424e0d5e8d - We cannot access the OwnerTable without locking the resource.
- The shared waiters may wait also on the semaphore. It makes no sense to boost a waiting thread.  
- The thread header is initialized like KeWaitForSingleObject (?, ?, ?, TRUE, ?). During the boost, 
  possible the dispatcher lock is released but the thread block (WaitNext) isn't changed.

svn path=/trunk/; revision=20793
2006-01-11 23:22:15 +00:00
Thomas Bluemel
bfce7c398c - partially implemented RegisterGPNotification() and UnregisterGPNotification() (depends on GetModuleHandleEx which is not yet implemented)
- use debug.h

svn path=/trunk/; revision=20792
2006-01-11 22:40:31 +00:00
Hervé Poussineau
bd56021a5c Rewrite IoGetDeviceInterfaces: no more memory leaks, be ready to handle PhysicalDeviceObject and Flags parameters, less stack usage
IoRegisterPlugPlayNotification: notify caller for already registered interfaces

svn path=/trunk/; revision=20791
2006-01-11 22:13:02 +00:00
Hervé Poussineau
0a86dac785 Add DEVICE_INTERFACE_INCLUDE_NONACTIVE constant
svn path=/trunk/; revision=20790
2006-01-11 21:59:52 +00:00
Ged Murphy
33927eeb10 redo the toolbar and app icons and a few other minor changes
svn path=/trunk/; revision=20789
2006-01-11 21:31:25 +00:00
Alex Ionescu
ad10829f1d - Fix probably one of the most devastating hidden ROS bugs currently in trunk. KWAIT_BLOCK's WaitType was defined as USHORT instead of UCHAR, causing a KeWaitForMultipleObjects of 2 or more objects to overwrite the Thread's PreviousMode (an effect of this is that 99% of user-mode callbacks from win32k were being done with the mode set to Kernel-Mode instead of UserMode). A KeWaitForMultipleObjects of 3 or more objects, or the timer object itself in some cases would cause this conflict to occur with the ResourceIndex member, potentially corrupting the ERESOURCE owner table in my updated implementation.
svn path=/trunk/; revision=20788
2006-01-11 20:16:29 +00:00
Thomas Bluemel
771a737faa add the GET_MODULE_HANDLE_EX_* flags
svn path=/trunk/; revision=20786
2006-01-11 19:18:57 +00:00
Christoph von Wittich
3802b8636c make_msvcX_install_[config] patch by Brezenbak
(i.e. make_msvc71_install_speed)

svn path=/trunk/; revision=20785
2006-01-11 15:47:22 +00:00
Alex Ionescu
cf64f6d550 - Fix more bugs in usercall_asm.S.
- Silence a debug print.

svn path=/trunk/; revision=20784
2006-01-11 10:00:09 +00:00
Alex Ionescu
551bbf51d8 - Fix some bugs in KiCallUserMode (as of yet unused).
svn path=/trunk/; revision=20783
2006-01-11 06:44:06 +00:00
Alex Ionescu
c39e10a566 - Implement (although non-optimally) MmGrowKernelStack for future use.
svn path=/trunk/; revision=20782
2006-01-11 06:40:41 +00:00
Alex Ionescu
4051678e2f - Fix accidental build breakage.
svn path=/trunk/; revision=20781
2006-01-11 06:01:54 +00:00
Alex Ionescu
d86450eb7b - Fix MmCreateKernelStack to actually take into account the GuiStack parameter.
- Implement KeSwitchKernelStack
- Enable code in PsConvertToGuiThread to create a new stack and switch to it. GUI Threads now get the 60KB of kernel stack space they deserve.
- Define exported DDK constants for kernel stack size and undefine our own internal ones.

svn path=/trunk/; revision=20780
2006-01-11 05:55:49 +00:00
Alex Ionescu
7816643eb5 - Remove KiServiceCheck and implement PsConvertToGuiThread in its place. Has support for detecting and returning errors in case of invalid cases, currently disabled code for doing the required 4kb->12kb stack conversion, and handling certain failures.
svn path=/trunk/; revision=20779
2006-01-11 05:42:32 +00:00
Alex Ionescu
c193938e1b - Move MmGrowKernelStack to mm/process.c with the other functions for future use.
- Make KiServiceCheck stdcall for future use.

svn path=/trunk/; revision=20778
2006-01-11 05:24:40 +00:00
Alex Ionescu
d5debcbcd9 - New asm definitions for future use.
svn path=/trunk/; revision=20777
2006-01-11 04:45:45 +00:00
Ged Murphy
4b2b551c62 use GET_X/Y_LPARAM as per MSDN
svn path=/trunk/; revision=20776
2006-01-11 00:02:14 +00:00
Ged Murphy
08490144e8 Use WM_CONTEXTMENU for shortcut menu. Thanks Thomas :)
svn path=/trunk/; revision=20775
2006-01-10 23:48:33 +00:00
Gé van Geldorp
3f6e1a9b28 WRC doesn't understand the "Default"
svn path=/trunk/; revision=20774
2006-01-10 23:29:29 +00:00
Ged Murphy
4557494cac - popup menu on right click
- fix some bugs when reading from reg
- query the active list to get num items

svn path=/trunk/; revision=20773
2006-01-10 22:39:49 +00:00
Alex Ionescu
1ab1aaf9f2 - Fix new msvc compilation issues in win32k due to the fact some files weren't being compiled eariler.
- Add Process access types to NDK and hide them from DDK.

svn path=/trunk/; revision=20769
2006-01-10 22:25:21 +00:00
Alex Ionescu
538917d0fb - Fix regression in Firefox installer by making KiWaitSatisfyAll a function instead of a macro.
- Make KiCheckAleratbility a macro to simplify its code and callers, and also clearly explain what rules it obeys.

svn path=/trunk/; revision=20768
2006-01-10 21:36:42 +00:00
Christoph von Wittich
795d686a4a another DIB_32BPP_StretchBlt fix (patch by GreatLord)
svn path=/trunk/; revision=20767
2006-01-10 20:50:21 +00:00
Christoph von Wittich
df8d230db7 fixed DIB_32BPP_StretchBlt
svn path=/trunk/; revision=20766
2006-01-10 20:45:27 +00:00
Christoph von Wittich
21e57303b5 added msvc_clean and msvc_clean_all (patch by Brezenbak)
svn path=/trunk/; revision=20765
2006-01-10 19:41:07 +00:00
Martin Fuchs
687087f1b1 ibrowser: display download progress in percent
svn path=/trunk/; revision=20764
2006-01-10 19:18:28 +00:00
Gé van Geldorp
68a391140e Older binutils don't understand qword ptr
svn path=/trunk/; revision=20763
2006-01-10 18:01:11 +00:00
Hartmut Birr
a52a1f71f8 Release the dispatcher lock after KiUnblockThread.
svn path=/trunk/; revision=20762
2006-01-10 00:01:32 +00:00
Hartmut Birr
955a80297f Don't remove the WaitEntry twice (in KiInsertQueue).
svn path=/trunk/; revision=20761
2006-01-10 00:00:14 +00:00
Hartmut Birr
30ed70a62f Mark the timer as removed (in KiExpireTimers).
svn path=/trunk/; revision=20760
2006-01-09 23:58:25 +00:00
Hartmut Birr
9d1423e832 - Fixed KiExitDispatcher.
- Defined KeIpiGenericCall. It is necessary for the smp build.

svn path=/trunk/; revision=20759
2006-01-09 23:54:10 +00:00
Gé van Geldorp
d0ab58d96c Prepare front-end for saving settings
svn path=/trunk/; revision=20758
2006-01-09 23:36:17 +00:00
Thomas Bluemel
29f2266458 allow warnings for gcc4
svn path=/trunk/; revision=20757
2006-01-09 21:45:59 +00:00
Gé van Geldorp
499c20c2fc icmp.dll doesn't have a DllRegisterServer entry point
svn path=/trunk/; revision=20756
2006-01-09 16:25:58 +00:00
Christoph von Wittich
7242d85b5a added icmp.dll to bootcd
svn path=/trunk/; revision=20755
2006-01-09 16:18:17 +00:00
Gé van Geldorp
fbd3c4a6d7 Fix building of icmp_main.c
svn path=/trunk/; revision=20754
2006-01-09 16:14:35 +00:00
Christoph von Wittich
1c0dfd98ef added icmp to build (does not compile yet, GvG will have a look at it)
svn path=/trunk/; revision=20753
2006-01-09 16:01:46 +00:00
Christoph von Wittich
a2c387cc4f added some stubs (Photoshop CS seems to work now)
svn path=/trunk/; revision=20752
2006-01-09 15:08:35 +00:00
Royce Mitchell III
9bf83ebaf8 synchronize differences between numberf, wnumberf, numberfl and wnumberfl, fixed bug in all 4 such that ("%6.1f", 42) was yielding " 42.0" instead of " 42.0"
svn path=/trunk/; revision=20751
2006-01-09 13:51:37 +00:00
Thomas Bluemel
eb264949ba fixed growing the buffer
svn path=/trunk/; revision=20749
2006-01-09 11:14:26 +00:00
Alex Ionescu
0243ea382c - Rename some files for MSVC compatibility. Thanks Brezenbak.
svn path=/trunk/; revision=20748
2006-01-09 09:42:25 +00:00
Alex Ionescu
627eebfc7b - Make ACPI use PCH. Cuts down compile time to 9 seconds on gcc.
svn path=/trunk/; revision=20747
2006-01-09 00:41:48 +00:00
Ged Murphy
9cfeba8d37 fix msvc warnings
svn path=/trunk/; revision=20746
2006-01-09 00:36:08 +00:00
Gé van Geldorp
456ba53827 Put in some UI logic
svn path=/trunk/; revision=20745
2006-01-09 00:34:53 +00:00
Thomas Bluemel
fe46130e76 fixed desired access rights in GetFileSecurityW
svn path=/trunk/; revision=20744
2006-01-09 00:30:33 +00:00
Christoph von Wittich
88d5da795e make GedMurphy happy
svn path=/trunk/; revision=20743
2006-01-08 23:49:15 +00:00
Alex Ionescu
985468e1ef - Get the win32k beast tamed by msvc.
svn path=/trunk/; revision=20742
2006-01-08 23:26:03 +00:00
Ged Murphy
43df1080f8 implement list refreshing and program exit
svn path=/trunk/; revision=20741
2006-01-08 23:24:43 +00:00
Brandon Turner
86e81e0798 Fix tab complete bugs, including 1238.
svn path=/trunk/; revision=20740
2006-01-08 23:15:58 +00:00
Alex Ionescu
6f729fd39b - Remove inline assembly and use assembly files isntead. These come from lib\rtl\i386... it woudl be nice to share them but atm this causes some problems. I think the math code in lib\rtl should be split into lib\math eventually...
svn path=/trunk/; revision=20739
2006-01-08 23:05:38 +00:00
Hervé Poussineau
c193b1f709 Display the error message only in case of... error
svn path=/trunk/; revision=20738
2006-01-08 22:50:11 +00:00
Ged Murphy
b6b7f582ba Make the toolbar a bit more attractive.
svn path=/trunk/; revision=20737
2006-01-08 22:48:21 +00:00
Gé van Geldorp
7735f4484a Obtain DHCP info from DHCP client service
svn path=/trunk/; revision=20736
2006-01-08 22:14:26 +00:00
Brandon Turner
79678edae8 Check for NULL char and not '\' ;)
svn path=/trunk/; revision=20733
2006-01-08 21:26:34 +00:00
Alex Ionescu
183e4c4a5f - Forgot this file for msvc build
svn path=/trunk/; revision=20732
2006-01-08 21:26:17 +00:00
Brandon Turner
1039bf0a68 Check to see if we are at the end of the string even if there isnt a " there.
svn path=/trunk/; revision=20731
2006-01-08 21:17:40 +00:00
Klemens Friedl
3761ecf1a5 altered several year numbers from "2005" to "2006"
svn path=/trunk/; revision=20730
2006-01-08 21:09:00 +00:00
Gé van Geldorp
b538d8f543 - Scream a little louder about unimplemented IOCTL codes
- Work around missing FSCTL_PIPE_TRANSCEIVE implementation

svn path=/trunk/; revision=20729
2006-01-08 20:50:08 +00:00
Christoph von Wittich
70307d0d99 fixed two bugs (spotted by w3seek)
svn path=/trunk/; revision=20728
2006-01-08 20:33:14 +00:00
Gé van Geldorp
bb6b6e3a60 Don't close the pipe, we need it for the next client
svn path=/trunk/; revision=20727
2006-01-08 20:12:11 +00:00
Brandon Turner
de0a2f083b * Replace NtGdiCreatePatternBrush and NtGdiCreateHatchBrush with NtGdiCreatePatternBrushInteral and NtGdiCreateHatchBrushInteral
* Implement CreateHatchBrush, CreatePatternBrush

svn path=/trunk/; revision=20726
2006-01-08 20:08:38 +00:00
Brandon Turner
b191c63dd2 Small fix for the patch special char patch earlier.
svn path=/trunk/; revision=20725
2006-01-08 20:02:26 +00:00
Alex Ionescu
81b68f28dc - Update debug.h
svn path=/trunk/; revision=20724
2006-01-08 19:50:52 +00:00
Brandon Turner
66f4ffc0fd Fix build.
svn path=/trunk/; revision=20723
2006-01-08 19:33:06 +00:00
Ged Murphy
6428d77793 A very rough implementation of the control buttons. (I'll work on my image skills ;) )
svn path=/trunk/; revision=20722
2006-01-08 19:31:26 +00:00
Alex Ionescu
1211e0f220 Fix win32k build
svn path=/trunk/; revision=20721
2006-01-08 19:17:14 +00:00
Christoph von Wittich
753034cee1 fix building with MSVC
fixed some warnings

svn path=/trunk/; revision=20720
2006-01-08 19:15:31 +00:00
Christoph von Wittich
adee19d592 fixed some bugs
use PCH when building with MSVC

svn path=/trunk/; revision=20719
2006-01-08 19:07:16 +00:00
Alex Ionescu
3abd4e8621 Fix umpnpmgr build
svn path=/trunk/; revision=20718
2006-01-08 18:55:24 +00:00
Ged Murphy
35103e4c37 - fix toolbar position, deleted a line accidentally.
- Fix the formatting a bit while we're at it
- Comment out German language whilst it's still in development

svn path=/trunk/; revision=20717
2006-01-08 18:50:54 +00:00
Mindflyer
ca659d9a90 These should have been committed a long time ago
svn path=/trunk/; revision=20716
2006-01-08 18:43:46 +00:00
Magnus Olsen
48fabbd103 patch from bradon fixing special key for other language's that English example Swedish keyboard layout. we can type now backslash again. it did regress in rev 19906
svn path=/trunk/; revision=20715
2006-01-08 18:22:46 +00:00
Ged Murphy
9ca8bfbe66 - rearrange code ready for custom tool bar bitmaps (untested)
svn path=/trunk/; revision=20714
2006-01-08 17:58:59 +00:00
Magnus Olsen
144e8cd262 fix cmd build with MSVC 2005
svn path=/trunk/; revision=20713
2006-01-08 15:22:56 +00:00
Royce Mitchell III
4f8bfb838f minor bugfix: sswprintf(L"%hs","foo") was returning L"fff"
svn path=/trunk/; revision=20712
2006-01-08 13:54:06 +00:00
Maarten Bosma
d9a1902bea Another german translation update by DJ_Smith from IRC (dj_smith_reactos(at)online(dot)de)
svn path=/trunk/; revision=20710
2006-01-08 11:48:49 +00:00
Christoph von Wittich
2d98c7fef8 Ukrainian translations from temarez <temarez@yandex.ru> (Bug 1243)
svn path=/trunk/; revision=20708
2006-01-08 11:20:02 +00:00
Alex Ionescu
a3a142a962 - userinit, usetup, vmwinst, welcome, winefile, winlogon, winver.
svn path=/trunk/; revision=20707
2006-01-08 10:23:23 +00:00
Alex Ionescu
df61d0f1b6 Thanks gge..
svn path=/trunk/; revision=20706
2006-01-08 10:19:21 +00:00
Alex Ionescu
5d4d6485f2 - PCHify notepad and add missing header from regedit.
svn path=/trunk/; revision=20704
2006-01-08 10:09:23 +00:00
Alex Ionescu
d0b4d13b4f - Get autochk, calc, cmd, devmgr, expand, format, gettype, hostname, lsass, msconfig, msiexec, notepad, reactos, regedit, regsvr32, reporterror, rundll32, sc, services, servman, setup, sm, sndvol32 compiling on MSVC.
- PCHify some things.
- Reduce NDK usage.

svn path=/trunk/; revision=20703
2006-01-08 10:05:37 +00:00
Alex Ionescu
4df19f8aaa - get csrss, ntvdm, smss compiling on msvc.
svn path=/trunk/; revision=20701
2006-01-08 09:00:02 +00:00
Alex Ionescu
114d8bb1b6 - Get services compiling with msvc (dhcp, eventlog, tcvpsvcs, rpcss, umpnpmgr). Also PCHified some stuff and reduced NDK usage.
svn path=/trunk/; revision=20700
2006-01-08 08:17:38 +00:00
Alex Ionescu
6075bfb808 - Oops....
svn path=/trunk/; revision=20699
2006-01-08 06:39:31 +00:00
Alex Ionescu
2d4ec8662e - Bless halxbox too.
svn path=/trunk/; revision=20698
2006-01-08 06:38:39 +00:00
Alex Ionescu
9afb713356 - Get MP hal and Generic HAL to build too.
svn path=/trunk/; revision=20697
2006-01-08 06:30:00 +00:00
Alex Ionescu
9c52bdbe04 - Remove some public APIs from internal headers.
- Remove some internal APIs/types from public headers.
- Make PSECTION_OBJECT a PVOID unless really needed (which should only be inside \mm)
- Make hal buildable on msvc.
- Fix some other misc. various msvc/ddk incompatibilities.

svn path=/trunk/; revision=20696
2006-01-08 06:23:17 +00:00
Alex Ionescu
96ab5d2979 - Remove auto-geenrated file.
svn path=/trunk/; revision=20695
2006-01-08 04:36:33 +00:00
Christoph von Wittich
992bede333 fix pch bug (patch by Brezenbak)
svn path=/trunk/; revision=20694
2006-01-08 02:39:11 +00:00
Alex Ionescu
139c2b58af Fix build
svn path=/trunk/; revision=20693
2006-01-08 01:24:27 +00:00
Ged Murphy
e17d7c91c7 - list items alphabetically
- double click opens properties dialog

svn path=/trunk/; revision=20692
2006-01-08 01:18:49 +00:00
Christoph von Wittich
cd2b2bca16 comment out some more not needed code
svn path=/trunk/; revision=20691
2006-01-08 00:59:24 +00:00
Christoph von Wittich
e7ac44d731 don't use VCToolsFile anymore because of different include dirs for subprojects
svn path=/trunk/; revision=20690
2006-01-08 00:48:28 +00:00
Christoph von Wittich
4dfc853855 fixed a copy/paste error
svn path=/trunk/; revision=20689
2006-01-08 00:29:02 +00:00
Christoph von Wittich
8dc6c31f38 added slovak keyboard written by Malin <malin23@atlas.sk>
svn path=/trunk/; revision=20688
2006-01-08 00:26:49 +00:00
Christoph von Wittich
bdc204be61 fix msvc compile problems
svn path=/trunk/; revision=20687
2006-01-08 00:01:16 +00:00
Maarten Bosma
ab32cfcaa8 German translation by DJ_Smith from IRC (dj_smith_reactos@online.de)
svn path=/trunk/; revision=20686
2006-01-07 23:45:59 +00:00
Christoph von Wittich
51905dc6d8 fix msvc compile problem
svn path=/trunk/; revision=20685
2006-01-07 23:42:34 +00:00
Gé van Geldorp
216f6b8898 inet_addr returns address in network order, the IP address control wants it
in host order

svn path=/trunk/; revision=20684
2006-01-07 23:41:42 +00:00
Mindflyer
e05a2a9e6b Proper IBrowser icon to replace the newyears version which was made in 9 minutes under influence of alcohol
svn path=/trunk/; revision=20683
2006-01-07 23:34:23 +00:00
Gé van Geldorp
7fbbe537cd j_anderw <j_anderw@sbox.tugraz.at>:
ReactOS system control panel displays wrong title

svn path=/trunk/; revision=20682
2006-01-07 23:25:02 +00:00
Alex Ionescu
65740fb8ed - Temporarily revert 20639 until a better fix is found. Thanks to Gé.
svn path=/trunk/; revision=20681
2006-01-07 23:22:56 +00:00
Christoph von Wittich
0074092a8f updated resource file (patch by Brezenbak)
svn path=/trunk/; revision=20680
2006-01-07 23:13:08 +00:00
Alex Ionescu
2cdc72e9b2 - Get xboxvmp to compile.
svn path=/trunk/; revision=20679
2006-01-07 22:49:41 +00:00
Alex Ionescu
65f66e0148 - Make VBEMP compile with msvc/ddk.
svn path=/trunk/; revision=20678
2006-01-07 22:36:56 +00:00
Alex Ionescu
9cbd310bec - PCHify vgamp.
- fix some definition problems.
- make it build with msvc.

svn path=/trunk/; revision=20677
2006-01-07 22:34:25 +00:00
Alex Ionescu
247736b04e - make vga buildable on msvc.
svn path=/trunk/; revision=20676
2006-01-07 22:03:31 +00:00
Alex Ionescu
9611be1fd4 disk, diskdump, pciidex, scsiport.
svn path=/trunk/; revision=20675
2006-01-07 21:55:47 +00:00
Alex Ionescu
b4c020d06b atapi, buslogic, cdrom, class2.
svn path=/trunk/; revision=20673
2006-01-07 21:50:29 +00:00
Alex Ionescu
736946617f - Get NE2000 driver to build on msvc/ddk.
svn path=/trunk/; revision=20672
2006-01-07 21:45:51 +00:00
Alex Ionescu
74015adb69 - Get NDIS to compile on msvc/ddk (thanks to filip for his help)
- Get PCNET to compile on msvc/ddk.

svn path=/trunk/; revision=20671
2006-01-07 21:38:40 +00:00
Alex Ionescu
af0baef39e - Fix ndis build, thanks to Filip.
svn path=/trunk/; revision=20670
2006-01-07 20:52:25 +00:00
Alex Ionescu
5db36e709c - Get NDIS (almost) compiling with msvc/ddk.
svn path=/trunk/; revision=20669
2006-01-07 20:33:48 +00:00
Aleksey Bragin
8ce0068e09 push-include for #pragma pack(16)
svn path=/trunk/; revision=20668
2006-01-07 20:00:43 +00:00
Christoph von Wittich
1320cc7603 increased buffer size to max needed size
replaced _stprintf with _sntprintf

svn path=/trunk/; revision=20667
2006-01-07 19:54:50 +00:00
Ged Murphy
8889751923 Fix a buffer overflow. Thanks to Christoph for spotting this.
svn path=/trunk/; revision=20665
2006-01-07 19:14:03 +00:00
James Tabor
6f8f61fade Thx Filip, for pointing this out. Added the missing break, if wState did not get set to CBF_EDIT.
svn path=/trunk/; revision=20664
2006-01-07 18:53:26 +00:00
Thomas Bluemel
bdb8efa083 fixed removing the children in ShellBrowser::InsertSubitems()
svn path=/trunk/; revision=20663
2006-01-07 18:19:10 +00:00
Ged Murphy
dc3eee3122 - fix startup type
- add top level headers

svn path=/trunk/; revision=20662
2006-01-07 17:10:51 +00:00
Alex Ionescu
3bb8a2d85c - Forgot to commit these for MSVC build...
svn path=/trunk/; revision=20661
2006-01-07 08:50:54 +00:00
Alex Ionescu
c14e59ba53 - get wshtcpip to compile..
svn path=/trunk/; revision=20660
2006-01-07 08:28:20 +00:00
Alex Ionescu
a9fec69760 - Deleted npf as recommended by Steven, KJK and Art.
svn path=/trunk/; revision=20659
2006-01-07 08:10:10 +00:00
Alex Ionescu
d805761fd6 - Get afd to build.
svn path=/trunk/; revision=20658
2006-01-07 08:07:41 +00:00
Alex Ionescu
9e3f61ba5d - GEt TCPIP building with msvc.
svn path=/trunk/; revision=20657
2006-01-07 07:56:55 +00:00
Alex Ionescu
38c460379c - Do not generate manifest files for drivers or native apps.
- Get portcls to compile.
- Commit some fixes I forgot.

svn path=/trunk/; revision=20656
2006-01-07 07:40:14 +00:00
Alex Ionescu
edd15921f7 - Get oskittcp to compile on msvc.
svn path=/trunk/; revision=20655
2006-01-07 07:33:08 +00:00
Alex Ionescu
31334bb80f - Get IP to compile.
svn path=/trunk/; revision=20654
2006-01-07 07:08:08 +00:00
Alex Ionescu
9a98412a66 - Get chew and csq to compile.
svn path=/trunk/; revision=20653
2006-01-07 07:00:31 +00:00
Alex Ionescu
20d90ebd53 - Get kbd/mouclass compiling
svn path=/trunk/; revision=20652
2006-01-07 06:31:55 +00:00
Alex Ionescu
e3153f1ab6 - Make NTFS compile on msvc.
svn path=/trunk/; revision=20651
2006-01-07 06:20:59 +00:00
Alex Ionescu
ee2a0b5cee - Make CDFS work with msvc/ddk.
svn path=/trunk/; revision=20650
2006-01-07 05:59:22 +00:00
Alex Ionescu
f3b9f7739f - get sndblst and sound compiling on msvc.
svn path=/trunk/; revision=20649
2006-01-07 05:47:21 +00:00
Alex Ionescu
6b36b1e871 - get mpu401, parallel and ramdrv to work on msvc.
svn path=/trunk/; revision=20648
2006-01-07 05:37:22 +00:00
James Tabor
189147d4c4 Patch by Raimonds Praude raimonds.praude at sets.lv
Could not set the text limit for combo box. An application sent CB_LIMITTEXT
text message, but it was not being processed. Now it is possible to set
the text limit, 5 or 8 symbols, for instance.

CB_LIMITTEXT message processing was added into ComboWndProc_common function
in combo.c file.


svn path=/trunk/; revision=20647
2006-01-07 05:23:59 +00:00
Alex Ionescu
84edca3ca6 - Get green to compile with msvc/ddk.
svn path=/trunk/; revision=20646
2006-01-07 05:11:32 +00:00
Brandon Turner
a6560cb6af Remove NtGdiCheckColorsInGamut as it is not an API.
svn path=/trunk/; revision=20645
2006-01-07 03:29:02 +00:00
Alex Ionescu
89b606cb89 - Much cleaner way to get blue building (remove ugly header hacks)
- Get bootvid working too.

svn path=/trunk/; revision=20644
2006-01-07 02:14:42 +00:00
Alex Ionescu
5e8ce117ba - Get beep and blue to compile/link on MSVC.
svn path=/trunk/; revision=20643
2006-01-07 02:06:49 +00:00
Alex Ionescu
fd3573b0ed - The DDK disables usage of _enable/_disable so that driver devs don't use them. Since the NDK is the home of undocumented things that drivers shouldn't use, including halfuncs.h will re-enable the intrinsics.
- Add the intrinsics to the w32api as well so that code which uses them can compile on both msvc and gcc.
- Make DPRINT work on non-DBG msvc builds.

svn path=/trunk/; revision=20642
2006-01-07 02:06:22 +00:00
Alex Ionescu
320f45bb8e - Get bus drivers to compile and link on MSVC.
svn path=/trunk/; revision=20641
2006-01-07 01:39:56 +00:00
Alex Ionescu
eac981c519 - Properly set STDCALL as default convention, previous patch incorrectly set it as a linker setting instead of a compiler setting.
svn path=/trunk/; revision=20640
2006-01-07 01:37:37 +00:00
Alex Ionescu
38b2f3f3cc - Don't name-decorate the entrypoint. This lets msvc link the module properly and remains compatible with GCC.
svn path=/trunk/; revision=20639
2006-01-07 01:27:20 +00:00
Brandon Turner
44d2546ad8 Didnt mean to commit this in the last one.
svn path=/trunk/; revision=20638
2006-01-07 01:26:05 +00:00
Alex Ionescu
fc89076d16 * Rbuild MSVC Backend changes:
- Don't do runtime checks for drivers
- Don't do buffer checks for drivers
- Use W0 for speed build, not for the release build.
- Disable Wp64 only for the speed build, not for the release build
- Use /STDCALL default calling convention for native modules because the DDK requires it
- Remove some duplicated options that were passed on the command line
- Replace some options that were passed on the commandline with their appropriate XML keywords.

svn path=/trunk/; revision=20637
2006-01-07 01:15:26 +00:00
Ged Murphy
fa930470a4 pull service info out of the registry to populate the list view
svn path=/trunk/; revision=20636
2006-01-07 01:14:38 +00:00
Brandon Turner
1b52cd809d Remove NtGdiDeleteDC
svn path=/trunk/; revision=20635
2006-01-07 01:06:48 +00:00
Christoph von Wittich
d418095a61 disabled warning 4214
svn path=/trunk/; revision=20634
2006-01-06 23:47:15 +00:00
Gé van Geldorp
7e8a6ab862 The adapter name is actually the GUID. Also store the human recognizable
description. This brings the network control panel applet a step further.

svn path=/trunk/; revision=20633
2006-01-06 23:13:23 +00:00
Alex Ionescu
3a24f9a505 - Set the right Thread->WaitTime dring waits
- Initialize WaitBlock->Thread during thread creation.
- Make APCs queuable for the thread after it's created
- Enable Timer Block optimization since it works now. This allows us not to always set-up for each wait, since most of its fields can remain static.
- Properly link wait block together with the waitlist of the timer.

svn path=/trunk/; revision=20632
2006-01-06 22:57:21 +00:00
Christoph von Wittich
357c1b2aa4 buttons in page setup now working properly (for En and De only)
svn path=/trunk/; revision=20631
2006-01-06 22:41:42 +00:00
Gé van Geldorp
4d068ca157 Update status
svn path=/trunk/; revision=20630
2006-01-06 20:53:32 +00:00
Gé van Geldorp
36afbbfd26 Sync to Wine-0_9_5:
Mike McCormack <mike@codeweavers.com>
- msiexec: Ignore the TRANSFORMS variable.
  Ignore the TRANSFORMS variable when building a list of transforms for
  advertising.  The variable is used to apply transforms when installing.

svn path=/trunk/; revision=20628
2006-01-06 20:44:09 +00:00
Gé van Geldorp
5d44b0636a Sync to Wine-0_9_5:
Jacek Caban <jacek@codeweavers.com>
- urlmon: URL with two slashes is valid.
- urlmon: Added GetSecurityId implementation.
- urlmon: Removed not used code.
- urlmon: Use pluggable protocol for file protocol.
Rolf Kalbermatter <rolf.kalbermatter@citeng.com>
- urlmon: Implement BindAsyncMoniker function.

svn path=/trunk/; revision=20627
2006-01-06 20:42:46 +00:00
Gé van Geldorp
d587904c0c Sync to Wine-0_9_5:
Jacek Caban <jacek@codeweavers.com>
- shlwapi: Fix UrlCanonicalize.
- Added support for URL_FILE_USE_PATHURL.
- Fix handling of '/' and '\'.
Marcus Meissner <marcus@jet.franken.de>
- shlwapi: Print PathCombine* strings arguments in relay debugging.

svn path=/trunk/; revision=20626
2006-01-06 20:35:12 +00:00
Gé van Geldorp
4d95d3c87c Sync to Wine-0_9_5:
Vitaliy Margolen <wine-patch@kievinfo.com>
- shell32: Create Local AppData for user profile.
  Move history and internet tmp files to Local Settings.
- shell32: Update Russian resources.
Michael Jung <mjung@iss.tu-darmstadt.de>
- shell32: Helper function for unicode support in folder and file pidls.
- shell32/unixfs: Added unicode support in folder and file pidls.

svn path=/trunk/; revision=20625
2006-01-06 20:30:08 +00:00
Gé van Geldorp
8f6437a0a0 Sync to Wine-0_9_5:
Robert Shearman <rob@codeweavers.com>
- rpcrt4: Fix race condition in RpcServerListen.
  The DontWait parameter is used for forcing the function not to wait
  for the server to finish.
- rpcrt4: Implement callback conformance.

svn path=/trunk/; revision=20624
2006-01-06 20:24:26 +00:00
Gé van Geldorp
5a108e0a20 Sync to Wine-0_9_5:
Mike McCormack <mike@codeweavers.com>
- riched20: Add newlines to ERR macro output.

svn path=/trunk/; revision=20623
2006-01-06 20:21:22 +00:00
Gé van Geldorp
3013688786 Sync to Wine-0_9_5:
Robert Shearman <rob@codeweavers.com>
- oleaut32: Convert some tabs to spaces and some other formatting changes.
- oleaut32: Initialize member IDs to MEMBERID_NIL inITypeInfo::GetIDsOfNames.
  Better tracing.
- ole: Improve typelib traces.
  Move the debug channel check from dump_TLBFuncDesc[One] to its callers
  for more flexibility in which channel controls the output.
- oleaut: Small re-organisation of ITypeInfo::Invoke.
  Only output the one function in the trace for ITypeInfo::Invoke.
  Process the return value on output in ITypeInfo::Invoke, but only copy
  it to pVarResult if pVarResult is not NULL.
Mike McCormack <mike@codeweavers.com>
- oleaut32: Allow _invoke to handle up to 17 parameters.

svn path=/trunk/; revision=20622
2006-01-06 20:20:32 +00:00
Gé van Geldorp
87fbcaec39 Sync to Wine-0_9_5:
Robert Shearman <rob@codeweavers.com>
- ole: Fix mis-handling of return value in StgStreamImpl_Read.
  BlockChainStream_ReadAt returns a BOOL, not an HRESULT so change
  StgStreamImpl_Read to handle this, by returning STG_E_READFAULT on
  failure.
- ole: Check the return value of IStream_SetSize in IStream_Read.
  Check the return value of IStream_SetSize in IStream_Read, since
  otherwise execution could continue on and cause heap corruption.

svn path=/trunk/; revision=20621
2006-01-06 20:19:21 +00:00
Gé van Geldorp
c5c5674029 Sync to Wine-0_9_5:
Francois Gouget <fgouget@free.fr>
- Small documentation tweaks to avoid winapi_check warnings.
Mike McCormack <mike@codeweavers.com>
- msi: Change some FIXME messages to comments.
- msi: Add stub actions for CCPSearch and RMCCPSearch.
- msi: Fixes for the MaskedEdit control.
  Allow MaskedEdit masks that aren't enclosed with <>.
  Allow the MaskedEdit's edit controls to scroll a bit in case things
  don't line up.
- msi: Subclass the Richedit control.
  Send a "DoAction" control event when the user scrolls the text.
- msi: Implement the Reset control event.
- MSI: Improve the MsiGetMode stub a little.
- msi: Add a stub for MsiGetLastErrorRecord.
- msi: Define the property "Intel" if we're running on an Intel processor.
- msi: Apply any MSI transforms specified by the TRANSFORMS property.
Marcus Meissner <marcus@jet.franken.de>
- msi: Report the commandline that failed to start in ERR()s.

svn path=/trunk/; revision=20620
2006-01-06 20:14:15 +00:00
Gé van Geldorp
95f799abe6 Sync to Wine-0_9_5:
Vitaliy Margolen <wine-patch@kievinfo.com>
- comctl32: Listview - allow selection toggle with ctrl+space.
Robert Reif <reif@earthlink.net>
- comctl32: Create ipaddress in enabled state.
Thomas Weidenmueller <wine-patches@reactsoft.com>
- comctrl32: ReAlloc should be able to move memory blocks if necessary.
- comctl32: Fix error handling in PSM_ADDPAGE in case of memory
  allocation failure.

svn path=/trunk/; revision=20619
2006-01-06 19:59:46 +00:00
Gé van Geldorp
c509ca7a82 Sync to Wine-0_9_5:
Alexandre Julliard <julliard@winehq.org>
- Support building flex files without debug support.
- Added some flex options to avoid compiler warnings.
  Moved options from the Makefile into the source.

svn path=/trunk/; revision=20618
2006-01-06 19:56:51 +00:00
Magnus Olsen
41e42de943 fix a typo
svn path=/trunk/; revision=20617
2006-01-06 19:05:34 +00:00
Ged Murphy
e019f15048 - Added the properties dialog
- Add an about dialog
- Split up the query code to make it more usable
- Call description from the registry
- Many other code mods

svn path=/trunk/; revision=20616
2006-01-06 18:28:27 +00:00
Gé van Geldorp
5bb6a3bdb5 Merge in a post-Wine-0_9_5 change to get rid of some warnings. Thanks to
CvW for reporting.

svn path=/trunk/; revision=20615
2006-01-06 17:46:36 +00:00
Gé van Geldorp
1ac6ad3e2d Sync to Wine-0_9_5:
Alexandre Julliard <julliard@winehq.org>
- Support building flex files without debug support.
- Added some flex options to avoid compiler warnings.
  Moved options from the Makefile into the source.

svn path=/trunk/; revision=20614
2006-01-06 17:26:49 +00:00
Thomas Bluemel
59921c5d0a implemented ExpandEnvironmentStringsForUserA/W
svn path=/trunk/; revision=20612
2006-01-06 15:42:12 +00:00
James Tabor
a56d746326 Removed DPRINT1, 8^D
svn path=/trunk/; revision=20611
2006-01-06 14:50:56 +00:00
James Tabor
e5a6d4cf78 Revert, thx Thomas, wasnt sure.
svn path=/trunk/; revision=20610
2006-01-06 14:23:26 +00:00
James Tabor
dd7144f68a Should have placed extern in there.
svn path=/trunk/; revision=20609
2006-01-06 13:57:38 +00:00
Thomas Bluemel
74379134c9 fixed uninitialized variable warnings
svn path=/trunk/; revision=20608
2006-01-06 11:58:17 +00:00
Hartmut Birr
f7b8d42fd9 Fixed the register saving in ExfInterlockedCompareExchange64.
svn path=/trunk/; revision=20607
2006-01-06 11:36:43 +00:00
Alex Ionescu
14b1a279eb - Fix Status/WaitStatus/Thread->WaitStatus confusion/mess and reduce to a signle variable.
svn path=/trunk/; revision=20606
2006-01-06 08:37:46 +00:00
Alex Ionescu
92f9f2e23b - Invert CONFIG_SMP defines as requested by Hartmut
- Remove KiBlockThread and replace by more elegant KiSwapThread which will also make moving to the new scheduler easier.
- Handle special case where we have kernel apcs pending and your previous irql was below apc_level during the wait code.
- Remove hack to manually unwait a thread during a status of kernel apc.

svn path=/trunk/; revision=20605
2006-01-06 08:00:09 +00:00
James Tabor
afc39c0267 Need extra proto.
svn path=/trunk/; revision=20604
2006-01-06 06:38:47 +00:00
James Tabor
57c5c63685 Implement NtUserGetMenuBarInfo. Tested with MPlayerC with OBJID_MENU only, the rest looked easy enough.
svn path=/trunk/; revision=20603
2006-01-06 06:32:05 +00:00
Magnus Olsen
6b3815ef2a fixed working strechblt for all dibxx now. do not say it does not take offset of source and destantion into accunt, it does. left implement CliprRegion. but last no longer black windows with or corupt images showing.
svn path=/trunk/; revision=20602
2006-01-06 05:27:48 +00:00
Alex Ionescu
c1b51155f7 - Fix some bugs in Kernel Queue implementation:
* KeRemoveQueue did not set Thread->WaitNext = FALSE if it was called with WaitNext = TRUE.
  * KeRemoveQueue did not handle the case where a kernel-mode APC is pending and the previous IRQL was below APC_LEVEL.
  * KeRemoveQueue did not set the thread's wait status to 0.
  * KiInsertQueue did not set the Thread's wait status to the entry being inserted.
  * KiInsertQueue did not remove the thread from its wait list.
  * KeRemoveQueue did not properly link the wait blocks.

svn path=/trunk/; revision=20601
2006-01-06 02:25:12 +00:00
Ged Murphy
a7c21d9dbf New icon. Couple of code changes linked to that. Just playing :)
svn path=/trunk/; revision=20600
2006-01-06 00:01:20 +00:00
Ged Murphy
e340f98fca Remove the temp note. Gé is on fire !
svn path=/trunk/; revision=20599
2006-01-05 23:43:49 +00:00
Christoph von Wittich
74c690712a added german translation
svn path=/trunk/; revision=20598
2006-01-05 23:26:43 +00:00
Gé van Geldorp
fe015e6602 Don't keep overwriting the first address entry, give the others a chance too.
Fixes IP address display in ipconfig.

svn path=/trunk/; revision=20597
2006-01-05 23:11:51 +00:00
Steven Edwards
594534a9f8 everything I said about mixed case seems to be wrong. everywhere else we allow it in resource files so to be consistant I guess it should be uppercase here
svn path=/trunk/; revision=20596
2006-01-05 23:10:05 +00:00
Ged Murphy
0f75ddf486 add to the bootcd for the purpose of testing bug 1253
svn path=/trunk/; revision=20595
2006-01-05 23:00:54 +00:00
Magnus Olsen
4c8bd8da77 patch from GvG, it fixing the bug for calc = when it showing e-309, Bug 1195, it have even affected python and other apps trying writing out 0 as text string.
svn path=/trunk/; revision=20594
2006-01-05 22:54:30 +00:00
Thomas Bluemel
431acd850f Fixed uninitialized variable warning with GCC4
svn path=/trunk/; revision=20593
2006-01-05 22:24:28 +00:00
Brandon Turner
1155cf884a en.rc not En.rc
svn path=/trunk/; revision=20592
2006-01-05 22:18:31 +00:00
Alex Ionescu
22916bde5f - God is a second-hand imitation of Gé. Fix for bug 1213.
svn path=/trunk/; revision=20591
2006-01-05 21:49:49 +00:00
Maarten Bosma
6de3d3ca11 Different output for !bug command on the other channels. (#winehackers, #samba-technical)
svn path=/trunk/; revision=20590
2006-01-05 21:46:24 +00:00
Ged Murphy
8218812468 Fix ugly toolbar colour
svn path=/trunk/; revision=20588
2006-01-05 20:57:29 +00:00
Ged Murphy
e90331cf71 - Fix local xml file (thanks to Christoph for spotting this)
- Add to dir the build

svn path=/trunk/; revision=20587
2006-01-05 20:13:06 +00:00
Ged Murphy
34e46abf35 - Start to put together a services.msc equivalent.
- mmc.exe is probably a long way off, thus mmc snap-ins will be too. This will suffice until then. Most of the code should be transferable.

svn path=/trunk/; revision=20586
2006-01-05 18:04:46 +00:00
Maarten Bosma
a61ec9018b Add !error command which checks NtStatus, Winerror and hResult.
svn path=/trunk/; revision=20585
2006-01-05 17:52:39 +00:00
Royce Mitchell III
9edfccb5e4 fix build in unspecified build environment - patch by Reuben Perelman <reub2000@earthlink.net>
svn path=/trunk/; revision=20584
2006-01-05 16:35:08 +00:00
Royce Mitchell III
cfbb45181b fix msvc6 warnings
svn path=/trunk/; revision=20583
2006-01-05 16:32:49 +00:00
Alex Ionescu
c1cfa41da9 - Tabs not spaces.
svn path=/trunk/; revision=20582
2006-01-05 16:30:20 +00:00
Alex Ionescu
ac8dc76322 - Uncondtionally build with optimizations (can still be disabled by commenting out the block locally; is this easy enough Ge?)
svn path=/trunk/; revision=20581
2006-01-05 16:25:44 +00:00
Alex Ionescu
300da88aff - New ERESOURCE implementation: fixes the return value of some functions (VOID vs NTSTATUS, USHORT vs ULONG), as well as optimized the code loops and general structure of the code. Additionnaly, functions do not simply call other functions with similar names; the exact implementation of each function has now been properly separated (see the DDK for more information on this) to have the most optimized scenarios.
- Also, the spinlock is not actually acquired on non-SMP builds; instead, interrupts are blocked and unblocked for acquire/release, this optimizes locking.
- Added many asserts and bugcheck scenarios.
- Added thread priority boosting.
- Added some debugging helpers and deadlock detection.
- Added RESOURCE_NOT_OWNED bugcehck message.
* Thanks again to Waxdragon (Andrew) for testing this build.

svn path=/trunk/; revision=20580
2006-01-05 16:24:32 +00:00
Alex Ionescu
444bb36f82 - Change dispatcher lock release to be more like documented in Windows Internals II and to allow an easier move to Queued Spinlock.
svn path=/trunk/; revision=20579
2006-01-05 15:32:08 +00:00
Casper Hornstrup
f881f51fdf Identify TechBot to allow private messages
svn path=/trunk/; revision=20578
2006-01-05 15:29:08 +00:00
Alex Ionescu
6f136848b2 - Fix build.
svn path=/trunk/; revision=20577
2006-01-05 15:17:54 +00:00
Alex Ionescu
8ca886843a - Disable commented out define-check which i had only commented to check building.
svn path=/trunk/; revision=20576
2006-01-05 13:59:11 +00:00
Alex Ionescu
93d0b2ac85 - Separate UP and MP spinlock functions.
- Optimize UP spinlock functions so they don't call ntoskrnl anymore and only raise/lower irql.
- Implemented Queued Spinlocks and In-Stack Queued Spinlocks for UP machines.
* Implemented KeAcquireInStackQueuedSpinLock, KeReleaseInStackQueuedSpinLock, KeAcquireQueuedSpinLock, KeReleaseQueuedSpinLock, KeTryToAcquireQueuedSpinLock, KeTryToAcquireQueuedSpinLockRaiseToSynch, KeAcquireQueuedSpinLockRaisetoSynch.

svn path=/trunk/; revision=20575
2006-01-05 13:51:06 +00:00
Hervé Poussineau
ca735d261c Add some exports to ntdll
svn path=/trunk/; revision=20574
2006-01-05 13:40:05 +00:00
Alex Ionescu
5bba25c90e - Implemented Queued and In-Stack Queued Spinlocks (at DPC-Level). See "Windows Internals II" Chapter 4, Pages 25-27.
svn path=/trunk/; revision=20573
2006-01-05 13:12:48 +00:00
Hartmut Birr
4c4d352a5e KefReleaseSpinLockFromDpcLevel needs the address of a spinlock and not its value.
svn path=/trunk/; revision=20572
2006-01-05 12:48:33 +00:00
Hervé Poussineau
b71ffe4703 Add prototypes for Nt/ZwReplyWaitReceivePortEx, Nt/ZwImpersonateAnonymousToken
svn path=/trunk/; revision=20571
2006-01-05 12:27:03 +00:00
Gé van Geldorp
a41bad3ee5 - Disable NtQuerySecurityObject for now
- Add some registry entries for TinyWeb (patch by Dr.Fred)
Fixes 1214

svn path=/trunk/; revision=20570
2006-01-05 09:22:09 +00:00
Alex Ionescu
caa14fa66e Fix stack corruption. Thanks to Waxdragon and the fact he uses an -O2 build (hint hint nudge nudge)
svn path=/trunk/; revision=20569
2006-01-05 06:24:07 +00:00
Alex Ionescu
5e6fa26231 - Optimized the dispatcher lock. It is now gone on non-SMP systems and IRQL is raised or lowered instead.
- Made inlined functions in ke/wait.c macros, because they weren't being inlined.
- Created separate cases for satisfying mutant, non-mutant and generic objects, to optimize wait satisfaction.
- Fixed some places which werne't setting the dispatcher header's size member correctly.
- Fixed formatting in ke/wait.c
- Fixed a case in KiCheckAlertability: we also need to check if the thread is alerted in Kernel-Mode, even if the wait mode given was user and user-mode is not alerted.
- Fixed signaling checks across the wait code and removed KiCheckIfObjectSignaled. We must not consider the mutant as signaled if SignalState is = 1.
- Fix code to check if the wait blocks' status is STATUS_TIMEOUT, because we do not need to check for signal state in that case.
- Removed the exports for internal dispatcher lock routines.


** Thanks to Waxdragon for stress-testing this for an hour :)

svn path=/trunk/; revision=20568
2006-01-05 04:26:55 +00:00
Magnus Olsen
f58996b3e9 fix new strechblt code for dib32, left todo dib1, dib4, dib24
svn path=/trunk/; revision=20567
2006-01-05 01:49:00 +00:00
Alex Ionescu
1ca93c8a41 - fix build on dbg=0. Thanks to Andrew
svn path=/trunk/; revision=20566
2006-01-05 00:56:44 +00:00
Gé van Geldorp
afb3a84621 Avoid using uninitialized variables
svn path=/trunk/; revision=20565
2006-01-04 23:48:15 +00:00
Gé van Geldorp
d31486016d Only use the Folder class handler if we're actually executing a folder.
Fixes bug 1235.

svn path=/trunk/; revision=20564
2006-01-04 23:28:10 +00:00
Gé van Geldorp
6a771b2fde Fix (so far harmless) typo
svn path=/trunk/; revision=20563
2006-01-04 22:46:45 +00:00
Gé van Geldorp
30db12dcc8 Let oskit tell us when sending should be blocked 'cause its stuffed upto its
nose with data waiting to be sent. Bug 1232.

svn path=/trunk/; revision=20562
2006-01-04 22:40:48 +00:00
Alex Ionescu
d97db4ba3a - Fix worker thread priorities. A quick check of the DDK and ProcesXP confirmed that there was a bug (thanks GvG!). Turns out I had forgotten to use the -base- priority kernel call. Renamed some variables to make it clearer and fixed the bug. The correct priorities are 12, 13, 15.
svn path=/trunk/; revision=20561
2006-01-04 20:45:58 +00:00
Thomas Bluemel
450dfac672 fixed gcc4 warnings
svn path=/trunk/; revision=20560
2006-01-04 14:26:06 +00:00
James Tabor
1b8dc2e713 Clean up and fixed NtUserGetMenuItemRect. Needs more testing. I watch mplayerc swip all the menu items with crashing.
svn path=/trunk/; revision=20559
2006-01-04 06:44:52 +00:00
Ged Murphy
4ac1eae8cf - Display a temporary note in ipconfig to avoid user confusion.
- Requires fixing of GetAdaptersInfo 

svn path=/trunk/; revision=20558
2006-01-03 23:41:57 +00:00
Alex Ionescu
807dd25391 - Implement Pushlocks. Only Waking, and Exclusive Acquire/Release + Waits have been tested. The shared paths and block/unblock are still untested and may probably contain bugs. Pushlocks are not yet used in the kernel and they won't be until all paths are tested and validated.
- Public DDIs Implemented: ExfAcquirePushLockExclusive, ExfAcquirePushLockShared, ExfTryToWakePushLock, ExfReleasePushLock, ExfReleasePushLockExclusive, ExfReleasePushLockShared, ExfUnblockPushLock.

svn path=/trunk/; revision=20557
2006-01-03 23:36:05 +00:00
Alex Ionescu
53ee440af8 - More proper fix for the QEMU/Abiword regression. Remove kernel32 hack. Thanks to Filip and The Munger.
svn path=/trunk/; revision=20556
2006-01-03 22:36:36 +00:00
Alex Ionescu
ce5adef908 - Dirty temporary fix to unregress abiword/qemu.
svn path=/trunk/; revision=20555
2006-01-03 22:25:09 +00:00
Alex Ionescu
07b0b865dc - Fix shamefully dangerously broken Work Thread/Queue/Item implementation:
* Do not pollute the kernel with 10 real-time threads and 5 high-priority threads in order to manage work items. Work threads are very-low priority (< 7) and should never pre-empt userthreads like they do now. 1 priority 7, 5 priority 5 and 3 priority 4 threads are now properly created.
  * Implement a worker thread balance set manager. On SMP systems, it is able to determine when a new thread should be allocate to execute on a free CPU. On both UP and MP, it is also able to detect if a work queue has deadlocked, and will allocate new dynamic threads to unfreeze the queue.
  * Add check for threads returning with APC disabled, and re-enable APCs if this happend. This hack is used in NT for broken drivers.
  * Lots of code changes to support dynamic threads, which:
    - Can terminate.
    - Use a 10 minute timeout on the kernel queue.
  * Add skeleton code for swapping worker thread stacks as well as worker thread shutdown (not yet implemented).
  * Add WORKER_INVALID bugcheck definition.
  * These changes seem to make ROS a lot more responsive.

- NDK: 
  * Make more compatible with MS IFS
  * Fix EX_WORK_QUEUE definition.
  * Fix ETHREAD offsets.
  * Fix RtlIsNameLegalDOS8Dot3 definition.
  * Move splay tree defines to IFS.

svn path=/trunk/; revision=20554
2006-01-03 21:34:19 +00:00
Aleksey Bragin
1aea3ab1ab Add kbdur.dll (Ukrainian keyboard layout) to the install-cd.
svn path=/trunk/; revision=20553
2006-01-03 21:29:39 +00:00
Ged Murphy
e94e037e29 fix ugly tab formatting
svn path=/trunk/; revision=20552
2006-01-03 21:17:28 +00:00
Ged Murphy
e5bdbe851f Skeleton dialog box to control system page file size
svn path=/trunk/; revision=20551
2006-01-03 21:00:06 +00:00
Magnus Olsen
7ceb46269d Commit a patch for hide and show mouse. (forget it)
svn path=/trunk/; revision=20550
2006-01-03 18:49:10 +00:00
Magnus Olsen
8b60a45ea6 forget remove some test code.
svn path=/trunk/; revision=20549
2006-01-03 17:59:56 +00:00
Magnus Olsen
3c8dbc6c23 forget remove a calc value in the for loop it can do outside the loop.
svn path=/trunk/; revision=20548
2006-01-03 17:21:11 +00:00
Magnus Olsen
0595ffc278 Remove putpixel from strechblt and add code to write direcly to the memory. it incress the speed for strechblt.
this is ony for 16bit graphice mode. 
 

svn path=/trunk/; revision=20547
2006-01-03 17:05:39 +00:00
Magnus Olsen
05d9ad7068 addding new streach code for dib8, left to add it is dib1, dib4, dib24, dib32
svn path=/trunk/; revision=20546
2006-01-03 16:22:09 +00:00
Hartmut Birr
02b247cca6 Copy the correct value if the value is stored directly in the data pointer (in CmiExportValue).
svn path=/trunk/; revision=20545
2006-01-03 14:56:47 +00:00
Hartmut Birr
f0fe4ec071 Fixed the the conversion of the vendor identifier string. Sometimes, the wrong conversion has resulted in a invalid opcode exception.
svn path=/trunk/; revision=20544
2006-01-03 13:44:35 +00:00
Maarten Bosma
89db3ed74e fix typos.
svn path=/trunk/; revision=20543
2006-01-03 11:49:59 +00:00
Maarten Bosma
a5a347cb7b fix spelling mistake.
svn path=/trunk/; revision=20542
2006-01-03 00:24:37 +00:00
Maarten Bosma
5e6a4d2387 Change URL to svn.reactos.org
svn path=/trunk/; revision=20541
2006-01-03 00:17:31 +00:00
Maarten Bosma
6344467474 Add some Apps and change tree version to the bare one.
svn path=/trunk/; revision=20540
2006-01-03 00:12:35 +00:00
Maarten Bosma
2ac089bd54 Change include base too.
svn path=/trunk/; revision=20539
2006-01-03 00:10:01 +00:00
Magnus Olsen
b9c3f275b7 Thx GvG for helping put to gather a new math formula that make alot of calc not needed any longer. and correct fourmla for rounding fault. I did not think of it when I rewrote the streachblt. it feal strechblt is bit fasfer agains the old one.
svn path=/trunk/; revision=20538
2006-01-02 23:43:43 +00:00
Gé van Geldorp
485b43da1d Silence some debug messages
svn path=/trunk/; revision=20537
2006-01-02 20:51:54 +00:00
Gé van Geldorp
f7fe0d0258 Use lookaside lists for two most common allocation sizes (mbuf and data buffer)
svn path=/trunk/; revision=20536
2006-01-02 20:26:03 +00:00
Gé van Geldorp
d19debd757 Use a lookaside list for tracking
svn path=/trunk/; revision=20535
2006-01-02 20:04:19 +00:00
Magnus Olsen
c04e99c3d3 Correct Streachblt in windows mode, it take accunt org and offset now. this need to be implement in dib1, dib4, dib8,dib24, dib32
svn path=/trunk/; revision=20534
2006-01-02 19:00:47 +00:00
Hartmut Birr
39a85a187f Implemented the 'red zone check' for the non paged pool.
svn path=/trunk/; revision=20533
2006-01-02 18:45:52 +00:00
Hartmut Birr
61b5988d34 Simplified the definition of the interrupt handlers for non smp machines.
svn path=/trunk/; revision=20532
2006-01-02 18:34:31 +00:00
Alex Ionescu
6f306a8b90 - Fix building with old binutils. Thanks to Ge for the fix.
svn path=/trunk/; revision=20531
2006-01-02 18:03:19 +00:00
Hartmut Birr
3e90cec75b Fixed the size of the allocated port structure.
svn path=/trunk/; revision=20530
2006-01-02 17:46:35 +00:00
Ged Murphy
8113f8f796 Allow files other than C to be included in the projects
Patch by Brezenbak (IRC)

svn path=/trunk/; revision=20529
2006-01-02 16:43:54 +00:00
Hervé Poussineau
cebd9c6b25 Report current bus number during IRP_MN_QUERY_RESOURCES
Child bus number is in u.type1.SecondaryBus field, not u.type1.SubordinateBus

svn path=/trunk/; revision=20528
2006-01-02 11:39:15 +00:00
Hervé Poussineau
c513265500 Start \\Device\\USBFDOx names at index 0.
Use the same index to create the symbolic link \\??\\HCDx
This should fix the handling of multiple USB controllers

svn path=/trunk/; revision=20527
2006-01-02 11:37:00 +00:00
Hervé Poussineau
6402246022 Replace STATUS_UNSUCCESSFUL by STATUS_TOO_MANY_NAMES
svn path=/trunk/; revision=20526
2006-01-02 11:32:03 +00:00
Eric Kohl
0d16ca8f32 Generate static MIDL_PROC_FORMAT_STRING, MIDL_TYPE_FORMAT_STRING and MIDL_STUB_DESC.
svn path=/trunk/; revision=20525
2006-01-01 20:59:39 +00:00
Ged Murphy
b7cb363333 revert 20523.
explorer and my computer are different animals

svn path=/trunk/; revision=20524
2006-01-01 20:56:01 +00:00
Ged Murphy
fc7824fc88 change explorer quick launch icon to use default 'my computer' icon instead of a folder.
svn path=/trunk/; revision=20523
2006-01-01 18:45:16 +00:00
Ged Murphy
b083fbae01 - split logoff and shutdown resources
- add icons for each

svn path=/trunk/; revision=20522
2006-01-01 18:13:07 +00:00
Magnus Olsen
f88d2a43eb fix some bugs wih org with strechblt.
svn path=/trunk/; revision=20521
2006-01-01 17:12:19 +00:00
Hervé Poussineau
f0ac5c5082 Add missing processor architecture cases
svn path=/trunk/; revision=20520
2006-01-01 16:49:53 +00:00
Magnus Olsen
4ea90aa543 revert 17709 for it break streach for windows mode. That why I did only got black windows in winquake with windows mode 640x480.
svn path=/trunk/; revision=20519
2006-01-01 16:00:45 +00:00
Martin Fuchs
876eaec62a eliminate GCC warning about initialization order
svn path=/trunk/; revision=20517
2006-01-01 15:44:46 +00:00
Eric Kohl
e9f95694e0 - Fix crashes in calls to ScmAssignNewTag.
- ScmrCreateServiceW: Assign a group to the service.

svn path=/trunk/; revision=20516
2006-01-01 15:32:40 +00:00
Martin Fuchs
77932fa09a explorer:
- simplify SCAN flags
- extend shell browser to use WINFS
- resolve a few FIXMEs
- simplify ShellBrowser initialization
- handle /root command line option

svn path=/trunk/; revision=20515
2006-01-01 15:21:03 +00:00
Magnus Olsen
69288462ca optimize hide curs lite. so it does not tryung update the underlying surface hold time. and do not save the underlying surface in show when it is hide. all these save alot of cycles and winquake are bit faster.
svn path=/trunk/; revision=20514
2006-01-01 14:40:24 +00:00
Eric Kohl
76f75c9351 Forward QueryServiceLockStatusA/W to services.exe.
svn path=/trunk/; revision=20512
2006-01-01 14:26:25 +00:00
Thomas Bluemel
e0d9018bb4 Fixed calculating the size of empty message boxes. Fixes bug 1224
svn path=/trunk/; revision=20511
2006-01-01 13:45:09 +00:00
Magnus Olsen
541e05f9c5 Fixing a small bug for hide mouse. Save the current surface under the mouse. But do not blt the mouse pointer. it take care of small glict I have seen in winqauke.
svn path=/trunk/; revision=20510
2006-01-01 13:36:06 +00:00
Thomas Bluemel
2dc2025c31 fixed uninitialized variable warning
svn path=/trunk/; revision=20509
2006-01-01 13:31:26 +00:00
Eric Kohl
823ff2a957 Forward EnumDependentServicesA/W to services.exe.
svn path=/trunk/; revision=20508
2006-01-01 12:00:13 +00:00
Gé van Geldorp
cbd4885a7d Revert accidental commit 20505
svn path=/trunk/; revision=20507
2006-01-01 11:52:34 +00:00
Gé van Geldorp
f99ca1d7c7 Exiting the loop while someone else still might have a lock kind of defeats
the purpose of acquiring the lock ourselves

svn path=/trunk/; revision=20506
2006-01-01 11:50:54 +00:00
Gé van Geldorp
736ed18513 Fix memory tracking
svn path=/trunk/; revision=20505
2006-01-01 11:48:11 +00:00
Gé van Geldorp
de1cfe67f5 Memory is properly released, no need to untrack it
svn path=/trunk/; revision=20504
2006-01-01 11:44:55 +00:00
Gé van Geldorp
2a3bed3c12 Fix a memory leak
svn path=/trunk/; revision=20503
2006-01-01 11:41:05 +00:00
Gé van Geldorp
ff25a31bce Silence debug message
svn path=/trunk/; revision=20502
2006-01-01 11:34:59 +00:00
Martin Fuchs
20c1c8ae3b explorer: merge changes from lean explorer branch (shell namespace iteration, icon extraction)
svn path=/trunk/; revision=20501
2006-01-01 10:40:23 +00:00
Eric Kohl
396f717775 Forward ChangeServiceConfig2A, QueryServiceConfig2A/W and EnumServicesStatusExA to services.exe
svn path=/trunk/; revision=20500
2006-01-01 10:31:35 +00:00
Gé van Geldorp
09a762db1d Revert part of r20493. Created bug 1229 to keep track of the issue.
svn path=/trunk/; revision=20499
2006-01-01 10:24:27 +00:00
Magnus Olsen
d600323cad ShowCursor, gott a internal count to show the mouse or not, and return that value. as msdn descripe.
svn path=/trunk/; revision=20498
2006-01-01 01:09:08 +00:00
Gregor Anich
25e7c9121c New ibrowser icon by mf :P 4 mins late but still ;)
svn path=/trunk/; revision=20497
2005-12-31 23:04:53 +00:00
Eric Kohl
d142c4f988 - Service list entries use a pointer to a group list entry instead of the goup name.
- New group list entries are created in the unknown-group-list for services of unknown groups.

svn path=/trunk/; revision=20496
2005-12-31 22:42:41 +00:00
James Tabor
1d13ed66fa Close bug 1223.
svn path=/trunk/; revision=20495
2005-12-31 21:37:52 +00:00
Martin Fuchs
7d1617eecb Registry entries for shell folders
svn path=/trunk/; revision=20494
2005-12-31 20:49:43 +00:00
Gé van Geldorp
6418505010 On FAT16 partitions smaller than 128MB, the cluster size is 2048, which is
smaller than PAGE_SIZE. This caused creation of the paging file on such a
partition to fail, which in turn made SMSS fail, blocking the boot process.
Creation of paging file fixed, and failure to create it is no longer a blocker
for the boot process (just try to run without paging file).

svn path=/trunk/; revision=20493
2005-12-31 19:50:29 +00:00
Eric Kohl
840e249e37 SVN maintenance
svn path=/trunk/; revision=20492
2005-12-31 19:02:48 +00:00
Eric Kohl
d244063997 Move group-list related code to a separate file and keep the group name in the group record because it never changes.
svn path=/trunk/; revision=20491
2005-12-31 18:56:34 +00:00
Ged Murphy
e3dd268bed - Use a separate icon for minimizing windows.
- Add new icon

svn path=/trunk/; revision=20489
2005-12-31 17:27:25 +00:00
Hervé Poussineau
f9048f833e Implement VideoPortGetAssociatedDeviceExtension and VideoPortCheckForDeviceExistence
svn path=/trunk/; revision=20487
2005-12-31 16:01:02 +00:00
Thomas Bluemel
374de44cd0 set eol-style to native
svn path=/trunk/; revision=20485
2005-12-31 15:47:15 +00:00
Maarten Bosma
62aafa2438 Add a tree file without subcategories.
svn path=/trunk/; revision=20484
2005-12-31 15:13:01 +00:00
Eric Kohl
5525664ffe Forward StartServiceA/W to services.exe
svn path=/trunk/; revision=20480
2005-12-31 11:33:46 +00:00
Hervé Poussineau
650caac316 Fix bugs in ChangeServiceConfig2W spotted by Casper and Royce
svn path=/trunk/; revision=20478
2005-12-31 10:11:58 +00:00
Andrew Munger
0f3dff0211 Revert 20343, which puts the implementation of QueryServiceConfigW back into place. (20255)
svn path=/trunk/; revision=20477
2005-12-31 01:38:59 +00:00
Alex Ionescu
e1a79c8b7f - Cleanup assembly files and create a header for the macros added and new ones that will be added later for syscall.S & friends.
svn path=/trunk/; revision=20476
2005-12-31 00:03:19 +00:00
Magnus Olsen
3362b78138 solv the issue with mouse poiter is hide, do not show the mousepointer when you are moving the mouse. tested in winquake
svn path=/trunk/; revision=20475
2005-12-30 23:56:27 +00:00
Alex Ionescu
cadc0d6ee9 - Rewrite Executive Interlocked Functions to actually work as supposed and also immensly increase their speed, most notably on non-SMP machines:
* The functions now disable interrupts as they should. This is a core functionality of the ExInterlocked functions which we did not do.
  * The functions now preserve EFLAGS as they should. This is another core functionality and point of ExInterlocked functions, which we did not do.
  * Use KiAcquire/ReleaseSpinlock equivalents instead of going through HAL. Also make them macros which can be later used in other assembly files.
  * Write optimized versions for non-SMP machines. Namely, the spinlock macros are coded to be no-ops on UP machines, since they are not needed.
  * Write all functions in assembly, so we can cleanly optimize them and properly restore/save EFLAGS and use CLI.
- Use the right interlocked macro in guarded mutex implementation.
- Fix export of Exi386InterlockedExchangeUlong
- Use documented EFLAGS definition instead of hard-coded value in some interlocked functions.

svn path=/trunk/; revision=20474
2005-12-30 23:53:13 +00:00
Gé van Geldorp
26dd690ad1 Kaj Kaloinen <kkaloine@gmail.com>
Finnish translation

svn path=/trunk/; revision=20473
2005-12-30 23:50:05 +00:00
Gé van Geldorp
b907d39b7a Allocate room for terminator. Fixes bug 1203, r20343 can be re-applied.
svn path=/trunk/; revision=20472
2005-12-30 23:44:03 +00:00
Gé van Geldorp
1523f688af ExpandEnvironmentStrings returns the number of TCHARs, not bytes
svn path=/trunk/; revision=20471
2005-12-30 23:42:04 +00:00
Magnus Olsen
21734ef15a Implement ShowCursor, it is a issue with quake when you moving the mouse, the mousepointer will show, when you stand still with the mouse it will not show the mousepointer.
svn path=/trunk/; revision=20470
2005-12-30 22:02:59 +00:00
Thomas Bluemel
d79a923113 use a .spec file and fix the export ordinals
svn path=/trunk/; revision=20469
2005-12-30 21:18:25 +00:00
Alex Ionescu
e8ce2b897c Make sure compiler doesn't optimize our wait loop away. Patch by Thomas Weidenmueller
svn path=/trunk/; revision=20468
2005-12-30 20:31:11 +00:00
Magnus Olsen
920d3a2408 languages file update for Hu.rc by Talley.
svn path=/trunk/; revision=20467
2005-12-30 20:28:35 +00:00
Magnus Olsen
59818c3543 Fix a mouse bug for hide the cursor. It is working now with my test code for ShowCursor and NtShowCursor. The code for it is not finish.
and it also working now hide the mouse with EngMovePointer(SurfObj,-1,-1,NULL); and that did not work before. 

svn path=/trunk/; revision=20466
2005-12-30 20:15:07 +00:00
Gé van Geldorp
97334543e3 temarez <temarez@yandex.ru>:
Ukrainian translation of notepad (from bug 1179)

svn path=/trunk/; revision=20465
2005-12-30 19:14:58 +00:00
Klemens Friedl
ae81d0a8a4 DJ_Smith <dj_smith_reactos@online.de>
german language file updated

svn path=/trunk/; revision=20464
2005-12-30 19:12:40 +00:00
Gé van Geldorp
42c1f0fab7 Another coordinate transformation change. Fixes final problem with bug 1201.
svn path=/trunk/; revision=20463
2005-12-30 19:10:43 +00:00
Ged Murphy
61b0f100bc update all resource files. All need translating.
info for translating purposes:
IDS_INETTIMESUCSYNC "The time has been successfully synchronized with <server> on <date> at <time>"
IDS_INETTIMENEXTSYNC "Next synchronization: <date> at <time>"

svn path=/trunk/; revision=20461
2005-12-30 18:48:27 +00:00
Gé van Geldorp
73b306468b - Detect end of chain
- Correct copy/paste error
Fixes bug 1212

svn path=/trunk/; revision=20460
2005-12-30 18:35:49 +00:00
Ged Murphy
ecf93b6c49 Put skeleton in place for 'internet time' tab in the 'date and time' control panel applet
svn path=/trunk/; revision=20459
2005-12-30 18:19:24 +00:00
Gé van Geldorp
e4c4a50a9e Use the BSOD color that Cutler intended
svn path=/trunk/; revision=20458
2005-12-30 15:28:43 +00:00
Nathan Woods
94c6a2cd26 Modified rbuild to generate a map file of the boot loader
svn path=/trunk/; revision=20457
2005-12-30 13:33:31 +00:00
Hervé Poussineau
3c9ea526e3 Forward ChangeServiceConfig2W call to services.exe
svn path=/trunk/; revision=20456
2005-12-30 10:29:07 +00:00
Thomas Bluemel
7caea251af protect access to buffers with SEH in NtSetSecurityObject and NtQuerySecurityObject and ask for the proper access rights
svn path=/trunk/; revision=20455
2005-12-30 01:41:02 +00:00
Filip Navara
2482000b65 Fix a cut & paste error.
svn path=/trunk/; revision=20454
2005-12-30 01:39:34 +00:00
Filip Navara
887fc26b44 Transform correctly the coordinates.
svn path=/trunk/; revision=20453
2005-12-30 01:28:29 +00:00
Filip Navara
5b6dea58e1 Transform correctly the coordinates.
svn path=/trunk/; revision=20452
2005-12-30 01:19:41 +00:00
Thomas Bluemel
484ec5bcf7 fixed returned status code in RtlAnsiStringToUnicodeString and properly free allocated memory in case converting the string failed
svn path=/trunk/; revision=20449
2005-12-30 00:18:48 +00:00
Brandon Turner
7d203ec76d Use only NtCreateKey and better suited access rights.
svn path=/trunk/; revision=20448
2005-12-29 22:54:24 +00:00
Hervé Poussineau
8ac1adfd7d Relicence newdev.dll to LGPL. Christoph von Wittich and I both agree on this licence change.
Do according changes in source to follow Wine way of code

svn path=/trunk/; revision=20447
2005-12-29 22:43:44 +00:00
Magnus Olsen
a73d1b05b1 sorry did commit debug on by mistake
svn path=/trunk/; revision=20446
2005-12-29 22:43:36 +00:00
Magnus Olsen
790e422ec6 new icon from mf
svn path=/trunk/; revision=20445
2005-12-29 22:38:56 +00:00
Brandon Turner
864361fafc Correctly open the registry when using MOVEFILE_DELAY_UNTIL_REBOOT
svn path=/trunk/; revision=20444
2005-12-29 22:24:19 +00:00
Hervé Poussineau
980dfd8109 Set DI_FLAGSEX_ALLOWEXCLUDEDDRVS flag when searching a driver for a PnP device
svn path=/trunk/; revision=20443
2005-12-29 22:02:14 +00:00
Magnus Olsen
c9108dbb1b Fix Bug 1217 with patch from bugzila by ravelo "If you type > or < in cmd and hit ENTER, cmd.exe crashes"
svn path=/trunk/; revision=20442
2005-12-29 21:46:40 +00:00
Thomas Bluemel
5753d6ea97 add some missing constants
svn path=/trunk/; revision=20441
2005-12-29 21:45:17 +00:00
Thomas Bluemel
847c1627b2 add the driver details dialog (not fully implemented)
svn path=/trunk/; revision=20440
2005-12-29 21:43:21 +00:00
Magnus Olsen
b89e3ce2ba do not call on NtQuerySecurityObject in RegGetKeySecurity for it will always fail on reactos.
adding #ifndef __REACTOS__ around that code and should be remove when we have that call implement in reactos.

svn path=/trunk/; revision=20439
2005-12-29 21:01:51 +00:00
Thomas Bluemel
5dfcacfa42 fixed uninitialized variable error
svn path=/trunk/; revision=20438
2005-12-29 20:51:14 +00:00
Magnus Olsen
3930c5e306 do not call on NtQuerySecurityObject in RegQueryInfoKey for it will always fail on reactos.
adding #ifndef __REACTOS__ around that code and should be remove when we have that call implement in reactos.

svn path=/trunk/; revision=20437
2005-12-29 20:31:22 +00:00
Alex Ionescu
3785fc8f82 - Fix InterlockedBitTestAndReset and InterlockedBitTestAndSet
- Implement YieldProcessor
- Fix formatting in spinlock.c
- KiAcquireSpinlock and KiReleaseSpinLock should be no-op functions on uniprocessor machines.
- KiReleaseSpinLock does not need interlocked access to release the lock.
- Use portable code for KiAcquireSpinLock. Also use interlocked bit operations since they are faster.

svn path=/trunk/; revision=20436
2005-12-29 19:54:42 +00:00
Alex Ionescu
ea4fcb6188 - Implemented InterlockedBitTestAndReset, InterlockedBitTestAndSet, InterlockedExchangeAddSizeT.
- Rundown re-implementation:

* Added inlined functions for internal system use for quickest path.
* Correctly named all functions Exf instead of Ex.
* Removed PAGED_CODE(); macro where it shouldn't be used.
* Addded multiple ASSERTS for sanity checks.
* Used macros for win64/32 portability.
* Fixed the following bugs/features:
    * ExfAcquireRundownProtection:
        ** Added specific code instead of calling the generic function. Rundown locks are
           performance critical and a dedicated path is prefered.
    * ExfAcquireRundownProtectionEx:
        ** Added a quick immediate check to see if the rundown is active.
    * ExfReleaseRundownProtection:
        ** Added specific code instead of calling the generic function. Rundown locks are
           performance critical and a dedicated path is prefered.
    * ExfReleaseRundownProtectionEx: 
        ** Simplified the loop code.
        ** Fixed a bug in signaling of the event during waitblock count removal
    * ExfWaitForRundownProtectionRelease:
        ** Add quick case when we don't actually need a full wait.
        ** Simplified loop code.
* Added stubs for cache-aware implementation.
* Documented the functions.

svn path=/trunk/; revision=20435
2005-12-29 19:12:09 +00:00
Alex Ionescu
8b5a187ddc - Fix formatting and a bug in NtSetSystemTime.
svn path=/trunk/; revision=20434
2005-12-29 19:02:06 +00:00
Alex Ionescu
a0f65e8fb1 Forgot to commit this file
svn path=/trunk/; revision=20433
2005-12-29 18:56:09 +00:00
Alex Ionescu
0b7ed59da0 - Fix some small formatting issues.
svn path=/trunk/; revision=20432
2005-12-29 18:47:14 +00:00
Alex Ionescu
c3366b8062 Fix build
svn path=/trunk/; revision=20431
2005-12-29 18:45:16 +00:00
Alex Ionescu
d71e6cd026 Move pushlock definition. It is gone from MS headers now.
svn path=/trunk/; revision=20430
2005-12-29 18:45:00 +00:00
Alex Ionescu
c505e93418 - Formatting fixes
- Add SEH to NtRaiseHardError.

svn path=/trunk/; revision=20429
2005-12-29 18:28:05 +00:00
Alex Ionescu
ba6ca2fce0 - Fix some formatting.
svn path=/trunk/; revision=20428
2005-12-29 18:03:24 +00:00
Alex Ionescu
e642f64e26 - Fix some small formatting issues.
svn path=/trunk/; revision=20427
2005-12-29 17:57:11 +00:00
Alex Ionescu
39f36b9840 Move some profile stuff to NDK and fix some bugs in the executive implementation, as well as support segmented profile objects
svn path=/trunk/; revision=20426
2005-12-29 17:55:31 +00:00
Magnus Olsen
74bb1137dd revert my last change to RtlClearAllBits for win32k do handle all case with NULL to it now.
svn path=/trunk/; revision=20425
2005-12-29 15:14:50 +00:00
Magnus Olsen
abe5168d1c PALETTE_SetMapping do not write the palette color to NULL pointer.
svn path=/trunk/; revision=20424
2005-12-29 14:15:36 +00:00
Magnus Olsen
3c27e2e289 NtGdiCreatePalette did not check for NULL pointer when it alloc memory.
svn path=/trunk/; revision=20423
2005-12-29 14:00:12 +00:00
Magnus Olsen
25dd71d30f InitTimerImpl did not check for NULL pointer when it alloc memory.
svn path=/trunk/; revision=20422
2005-12-29 13:53:35 +00:00
Magnus Olsen
e35bf0429c some case from win32k can call to RtlClearAllBits with NULL pointer. and check for null pointer after RtlClearAllBits. This take care of those case for moment.
svn path=/trunk/; revision=20421
2005-12-29 13:43:25 +00:00
Magnus Olsen
181c0f4e30 Fix memory leak in NtUserMonitorFromRect when it return in one case.
svn path=/trunk/; revision=20420
2005-12-29 13:13:14 +00:00
Magnus Olsen
f52b36d570 IntRegisterClass did not check for NULL pointer when it alloc memory.
svn path=/trunk/; revision=20419
2005-12-29 12:40:31 +00:00
Magnus Olsen
677cdc30d5 DRIVER_RegisterDriver did not check for NULL pointer when it alloc memory.
svn path=/trunk/; revision=20418
2005-12-29 12:13:02 +00:00
Magnus Olsen
4da89d0391 revert my last code did miss POLYGONFILL_DestroyEdgeList was at end
svn path=/trunk/; revision=20417
2005-12-29 11:20:30 +00:00
Magnus Olsen
5080674b38 Fix memory leak in POLYGONFILL_MakeEdgeList when it fail.
svn path=/trunk/; revision=20416
2005-12-29 11:16:28 +00:00
Magnus Olsen
262b201ee2 EngSetPointerShape did not check for NULL pointer when it alloc memmory.
svn path=/trunk/; revision=20415
2005-12-29 10:53:01 +00:00
Alex Ionescu
cf56f16a98 Fix kernel-mode executive atom implementation (mostly add SEH and tidy up the code). Then fix kernel32 implementation which was sending incorrect sizes, and also re-factored the entire code, since most functions were quatriplicated. now there are 3 main functions instead of 12. Also fixed a bug in RtlCreateAtomTable.
svn path=/trunk/; revision=20414
2005-12-29 08:43:45 +00:00
Andrew Munger
00a70f69db Use Bitstream Vera Sans when asked for Tahoma. Addresses bug 1188.
svn path=/trunk/; revision=20413
2005-12-29 05:18:21 +00:00
Ged Murphy
52431ae3ad change service pack from 6 to 4
addresses bug 1169

svn path=/trunk/; revision=20412
2005-12-29 01:59:55 +00:00
Magnus Olsen
8f9ce96ecc DIB_CreateDIBSection fix do not zero out memmory if it is a null pointer it got from ExAllocatePoolWithTag
DIB_MapPaletteColors do not try write to NULL pointer if ExAllocatePoolWithTag do return a NULLL pointer. 


svn path=/trunk/; revision=20411
2005-12-29 01:57:50 +00:00
Martin Fuchs
0f301e551b update of french Explore resource script from G. Maton Bugzilla entry 1184)
svn path=/trunk/; revision=20410
2005-12-29 00:04:34 +00:00
Martin Fuchs
e976cc4cf6 clean up ibrowser resource scripts
svn path=/trunk/; revision=20409
2005-12-28 23:51:32 +00:00
Martin Fuchs
09a72082c7 commit patch of bugzilla entry 1073 to to compile Explorer in a Wine environment
svn path=/trunk/; revision=20408
2005-12-28 22:52:35 +00:00
Martin Fuchs
53980699e3 reinitialize image list in ShellBrowser::invalidate_cache()
svn path=/trunk/; revision=20407
2005-12-28 22:46:09 +00:00
Thomas Bluemel
0446c2ff01 Patch by David Hinz <fRy2oo5@gmail.com>:
- Update German translation of devmgr.dll

svn path=/trunk/; revision=20405
2005-12-28 21:46:31 +00:00
Hartmut Birr
dad91200d2 Fixed the structure allignment of some cursor/icon related structures.
svn path=/trunk/; revision=20404
2005-12-28 20:34:10 +00:00
Hartmut Birr
5e07902f00 Commit r20366:20368 again.
svn path=/trunk/; revision=20403
2005-12-28 20:31:44 +00:00
Thomas Bluemel
7838e0f72c ReAlloc should be able to move memory blocks if necessary. This fixes
some problems I ran into: syslink control, and dynamically adding
property sheets with PropSheet_AddPage/PSM_ADDPAGE. This patch was submitted to wine-patches.

svn path=/trunk/; revision=20402
2005-12-28 20:06:35 +00:00
Magnus Olsen
f7c812d7ec update NtUserGetMouseMovePointsEx prototype to msdn
svn path=/trunk/; revision=20401
2005-12-28 19:54:07 +00:00
Ged Murphy
fb07b27cd3 Clean up code and fix memory leaks
svn path=/trunk/; revision=20400
2005-12-28 19:32:06 +00:00
Hervé Poussineau
7218816a5a Validate parameters in SetupDiSetDeviceInstallParamsW
Be ready to honor DI_FLAGSEX_ALLOWEXCLUDEDDRVS flag
Fix an infinite loop in SetupDiSetSelectedDriverW

svn path=/trunk/; revision=20398
2005-12-28 17:10:36 +00:00
Magnus Olsen
576252b0a1 checking for null and correct memmroy leak part of bug 252 patch by j_anderw
svn path=/trunk/; revision=20397
2005-12-28 16:27:20 +00:00
Martin Fuchs
deb261e226 - refactor icon cache
- display icon overlays in Explorer tree view

svn path=/trunk/; revision=20396
2005-12-28 16:14:10 +00:00
Thomas Bluemel
f1b42e60e0 fixed uninitialized variable warning
svn path=/trunk/; revision=20395
2005-12-28 14:55:22 +00:00
Hervé Poussineau
37faec1dc1 - Add a minimal implementation of SetupScanFileQueueW
- In SetupDiBuildDriverInfoList, add found drivers in the right driver list
- In SetupDiEnumDriverInfoW, enumerate the right driver list if DeviceInfoData is not NULL

svn path=/trunk/; revision=20394
2005-12-28 14:21:05 +00:00
Filip Navara
83ee9cec35 Add failure check.
svn path=/trunk/; revision=20393
2005-12-28 13:27:40 +00:00
Maarten Bosma
6bee8fb5cc Revert r20367 and r20368 since they crash the GUI in second boot by hitting a assert at line 271 in win32k/ntuser/msgqueue.c
svn path=/trunk/; revision=20392
2005-12-28 12:40:17 +00:00
Ged Murphy
4662df1208 Fix some MSVC warnings
I'm feeling very lazy today, today's commits prove that point nicely :)

svn path=/trunk/; revision=20390
2005-12-28 02:20:27 +00:00
Ged Murphy
ecdb896991 put the asterix and colon the right way round
svn path=/trunk/; revision=20389
2005-12-28 01:29:42 +00:00
Ged Murphy
55ffad6068 Use bigger buffer to avoid stack corruption, as seen when running app built with msvc
svn path=/trunk/; revision=20388
2005-12-28 01:23:14 +00:00
Ged Murphy
09e73cb4d4 display correct Min RTT
Fixes bug 1194

svn path=/trunk/; revision=20387
2005-12-28 01:08:04 +00:00
Ged Murphy
2e47dd68f3 silence MSVC warning
svn path=/trunk/; revision=20386
2005-12-28 00:17:21 +00:00
Ged Murphy
44553ad153 correct spelling
svn path=/trunk/; revision=20385
2005-12-27 23:25:04 +00:00
Thomas Bluemel
8fed897da5 minor error handling fixes
svn path=/trunk/; revision=20384
2005-12-27 23:17:43 +00:00
Magnus Olsen
7cc50f245a update hu langues file patch from talley.
svn path=/trunk/; revision=20383
2005-12-27 23:05:34 +00:00
Eric Kohl
2401028021 Report a logged-on user to the PnP-Manager.
This should trigger the driver installation.

svn path=/trunk/; revision=20382
2005-12-27 23:05:22 +00:00
Thomas Bluemel
140e567aed Patch by Andreas Ntakas <freedatanow@yahoo.com>:
- Greek translation of aclui.dll

svn path=/trunk/; revision=20381
2005-12-27 22:28:45 +00:00
Aleksey Bragin
947cc595f4 Artem Reznikov: Ukrainian keyboard layout (bug 1200).
svn path=/trunk/; revision=20380
2005-12-27 22:00:43 +00:00
Aleksey Bragin
d159887621 USB 2.5.0 -> 2.6.14.3 upgrade: Add some interrupt-related stuff into device extension (will be used after future commits)
svn path=/trunk/; revision=20379
2005-12-27 21:22:27 +00:00
Aleksey Bragin
e69fe17fae USB 2.5.0 -> 2.6.14.3 upgrade: Store actual bus number by querying upper-laying driver.
svn path=/trunk/; revision=20378
2005-12-27 21:01:58 +00:00
Aleksey Bragin
6dc4b94b23 USB 2.5.0 -> 2.6.14.3 upgrade: Adding information about bus number to which this HC is connected to (needed in further calls to read/write pci config space)
svn path=/trunk/; revision=20377
2005-12-27 21:00:19 +00:00
Ged Murphy
880e7e8dbe Fix a few msvc warnings
svn path=/trunk/; revision=20376
2005-12-27 18:59:13 +00:00
Ged Murphy
91f740097e silence msvc warning
svn path=/trunk/; revision=20375
2005-12-27 18:47:11 +00:00
Ged Murphy
6ae404c480 Silence most of the msvc warnings
svn path=/trunk/; revision=20374
2005-12-27 18:05:53 +00:00
Thomas Bluemel
9cc7905c9d Display the driver provider, date and version. Based on a patch by Herve.
svn path=/trunk/; revision=20373
2005-12-27 17:15:51 +00:00
Thomas Bluemel
2cfbdf83cd properly read the cursor hotspots from the resource
svn path=/trunk/; revision=20372
2005-12-27 16:19:07 +00:00
Thomas Bluemel
57ce730b6a fixed difference in signedness warnings
svn path=/trunk/; revision=20371
2005-12-27 15:33:31 +00:00
Hervé Poussineau
10d768b33b Handle more DIF codes in SetupDiCallClassInstaller. The list should now be complete
svn path=/trunk/; revision=20370
2005-12-27 15:19:45 +00:00
Hervé Poussineau
79daaf2303 Revert code specific to Wine to enumerate serial ports, and allow generic enumeration of interfaces like in ReactOS.
Serial ports will still be enumerated in Wine (using GUID_DEVINTERFACE_COMPORT or GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR) if the following registry entries are present:

HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{4d36e978-e325-11ce-bfc1-08002be10318}\COM1
DeviceInstance   REG_SZ     SERIAL\COM1
HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{4d36e978-e325-11ce-bfc1-08002be10318}\COM1\#
SymbolicLink     REG_SZ     COM1:
HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{4d36e978-e325-11ce-bfc1-08002be10318}\COM1\#\Control
Linked           REG_DWORD  1
HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{86e0d1e0-8089-11d0-9ce4-08003e301f73}\COM1
DeviceInstance   REG_SZ     COM1
HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{86e0d1e0-8089-11d0-9ce4-08003e301f73}\COM1\#
SymbolicLink     REG_SZ     COM1:
HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{86e0d1e0-8089-11d0-9ce4-08003e301f73}\COM1\#\Control
Linked           REG_DWORD  1
HKLM\SYSTEM\CurrentControlSet\Enum\SERIAL\COM1
ClassGUID        REG_SZ     {4D36E978-E325-11CE-BFC1-08002BE10318}

svn path=/trunk/; revision=20369
2005-12-27 11:39:43 +00:00
Alex Ionescu
286c45ef35 Remove the evil build-breaker mark of the devil: 't'
svn path=/trunk/; revision=20368
2005-12-27 06:11:44 +00:00
Alex Ionescu
06c7dcc913 - Major Win32k Header Cleanup: Add ntgdi.h based on latest Platform SDK Public header. It contains the official definitions for NtGdi APIs.
- Added ntgdityps.h for structures needed to use the header (which were sadly not publically shipped).
- Removed internal win32k header data from public headers and put it to internal win32k headers.
- Fixed ntuser.h STDCALL->WINAPI.
- Added ntgdihdl.h for shared GDI Handle information between gdi32/win32k
- Added ntusrtyp.h for some shared NtUser types.
- Added ntgdibad.h which contains all non-compatible NtGdi prototypes, along with a detailed comment for each, and information on how to fix it. I had a 20 000+ line patch fixing all these issues, but it contained many bugs and I scrapped it in place for this approach, which while dirtier at first, simplifies the number of changes needed so that others can work on it as well.
- Fixed some gdi32/win32k/user32 header issues.

svn path=/trunk/; revision=20367
2005-12-27 03:41:13 +00:00
Alex Ionescu
901929a787 - Added support for NTLDR style freeloader GUI. To enable, edit freeldr.ini and add:
ShowTime=No
MinimalUI=Yes
MenuBox=No
CenterMenu=No
TimeText=Seconds until highlighted choice will be started automatically:  
Also make sure the following are set:
MenuTextColor=Gray
MenuColor=Black
TextColor=Gray
SelectedTextColor=Black
SelectedColor=Gray.
- Also made the boot-up screen black, not blue, since that's the actual color it's been after NT4. If booting without NOGUIBOOT, this results in a much nicer transition to the boot screen (especially if using the NTLDR theme)
- Some other minor changes done to simplify transitions while booting. Hoping for filip to finish his Bootvid patch to remove the last annoying gui->text->gui switch near the end :).

svn path=/trunk/; revision=20366
2005-12-27 03:12:00 +00:00
Alex Ionescu
debac394a9 - Add information on new executive locks being worked on.
svn path=/trunk/; revision=20365
2005-12-27 03:06:35 +00:00
Thomas Bluemel
426d30c15a fixed remote device property pages
svn path=/trunk/; revision=20364
2005-12-27 01:53:00 +00:00
Hervé Poussineau
ca980c3388 Handle DIF_ADDPROPERTYPAGE_ADVANCED in SetupDiCallClassInstaller (needed by r20358)
svn path=/trunk/; revision=20363
2005-12-27 01:37:04 +00:00
Thomas Bluemel
5aff37f38b wrc wants an empty line at the end of the file
svn path=/trunk/; revision=20362
2005-12-27 01:14:55 +00:00
Magnus Olsen
51f1ca9a18 forget update de.rc
svn path=/trunk/; revision=20361
2005-12-27 00:11:29 +00:00
Magnus Olsen
3d62716cd9 Maintain work sync res with en.rc the rc file need update there translation for the new dialog boz
svn path=/trunk/; revision=20360
2005-12-27 00:03:24 +00:00
Magnus Olsen
4eb2b8bb3a Maintain work sync res with en.rc res change adding IDS_USERDOMAINFORMAT "%1 (%2\\%3)" and IDS_USERFORMAT "%1" no need update the translatons.
svn path=/trunk/; revision=20359
2005-12-26 23:56:25 +00:00
Thomas Bluemel
1797e0a93a Add the driver page if necessary, based on a patch by Herve
svn path=/trunk/; revision=20358
2005-12-26 23:37:04 +00:00
Gé van Geldorp
8a34917715 Update status
svn path=/trunk/; revision=20357
2005-12-26 23:35:02 +00:00
Gé van Geldorp
bb28b4d54c Sync to Wine-0_9_4:
Thomas Weidenmueller <wine-patches@reactsoft.com>
- urlmon: Correctly fix IStream::Read.
  Don't dereference a possible NULL pointer.
- urlmon: Fix call to ReadFile.
  The BytesRead parameter passed to ReadFile may never be NULL.
Jacek Caban <jacek@codeweavers.com>
- urlmon: Added handling of BINDF_FROMURLMON in file protocol.
- urlmon: Added some tests and fixes of file protocol.
- urlmon: Fix BindToStorage test.

svn path=/trunk/; revision=20355
2005-12-26 23:31:24 +00:00
Gé van Geldorp
d852648be4 Sync to Wine-0_9_4:
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Add some missing includes which contain used prototypes.

svn path=/trunk/; revision=20354
2005-12-26 23:24:41 +00:00
Gé van Geldorp
4b31fc1e94 Sync to Wine-0_9_4:
Michael Jung <mjung@iss.tu-darmstadt.de>
- shell32: Fix drag-scrolling in the shellview object.
Stefan Leichter <Stefan.Leichter@camLine.com>
- shell32: Fix return value of PathProcessCommand.

svn path=/trunk/; revision=20353
2005-12-26 23:23:03 +00:00
Gé van Geldorp
5187602453 Sync to Wine-0_9_4:
Ulrich Czekalla <ulrich.czekalla@utoronto.ca>
- riched20: Reset selection when text is reset.

svn path=/trunk/; revision=20352
2005-12-26 23:20:19 +00:00
Gé van Geldorp
afdf040ea3 Sync to Wine-0_9_4:
Robert Shearman <rob@codeweavers.com>
- OLE: Fix SafeArrayCopy for NULL pvData.
  It is allowed to copy a SAFEARRAY with a NULL pvData, as long as
  cbElements is non-zero. Add a test for this and fix the safe array
  code.
- OLE: Add const to several typelib functions.
  Add const attributes to parameters for several functions and fix up
  some formatting.
- OleTranslateColor trace fix.
  OleTranslateColor isn't a stub so don't print ":stub" in the trace
  message.

svn path=/trunk/; revision=20351
2005-12-26 23:18:49 +00:00
Gé van Geldorp
754cd8a82e Sync to Wine-0_9_4:
Michael Jung <mjung@iss.tu-darmstadt.de>
- ole32: Periodically call IDropTarger::DragOver during Drag&Drop.
Robert Shearman <rob@codeweavers.com>
- CreateErrorInfo trace fix.
  CreateErrorInfo isn't a stub so don't print this in the trace
  message.
Alexandre Julliard <julliard@winehq.org>
- Take advantage of the __EXCEPT_PAGE_FAULT macro.
- We no longer need to handle EXCEPTION_PRIV_INSTRUCTION on page faults.
- ole32: Revert exception handler change.
  The handler does the opposite of normal page fault handlers.
Ulrich Czekalla <ulrich@codeweavers.com>
- ole32: Return error instead of asserting if storage file is corrupt.
Eric Pouech <eric.pouech@wanadoo.fr>
- Functions with no paramters must be (void).
- Const correctness fixes.

svn path=/trunk/; revision=20350
2005-12-26 23:16:41 +00:00
Gé van Geldorp
907803cd6d Sync to Wine-0_9_4:
Magnus Olsen <magnus@itkonsult-olsen.com>
- msi: Fixed deformat_environment to not cut off string.
Bill Medland <billmedland@mercuryspeed.com>
- msi: Use a default dialog font if nothing is specified.
- msi: Prevent array underflow in MsiFormat when measuring with zero-length buffer.

svn path=/trunk/; revision=20349
2005-12-26 23:10:21 +00:00
Gé van Geldorp
1ec4f54cc9 Sync to Wine-0_9_4:
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Add some missing includes which contain used prototypes.

svn path=/trunk/; revision=20348
2005-12-26 23:08:49 +00:00
Gé van Geldorp
9d0a7ef35c Sync to Wine-0_9_4:
Juan Lang <juan_lang@yahoo.com>
- crypt32: Implement more implicit properties, with tests.
- crypt32: Implement CRLDistPoints encoding/decoding.
- rewrite sequence decoding to support context-specific tags, and
  eliminate duplicated code
- implement encoding and decoding of CRLDistPoints
- crypt32: Decode cleanups.
- implement a helper to decode sequences of like types
- use helper functions wherever applicable when decoding
- correct "expected" vs. "got" usage in tests
- fix a few other small bugs
Alexandre Julliard <julliard@winehq.org>
- Take advantage of the __EXCEPT_PAGE_FAULT macro.

svn path=/trunk/; revision=20347
2005-12-26 23:05:15 +00:00
Gé van Geldorp
74ab94870a Sync to Wine-0_9_4:
Eric Pouech <eric.pouech@wanadoo.fr>
- Const correctness fixes.
- Removed some dead-code.

svn path=/trunk/; revision=20346
2005-12-26 22:57:56 +00:00
Gé van Geldorp
5fccaf46f0 Sync to Wine-0_9_4:
Dmitry Timoshkov <dmitry@codeweavers.com>
- comctl32: Add a test for the initial tooltip window style settings,
  make it pass under Wine.
Eric Pouech <eric.pouech@wanadoo.fr>
- comctl32: Fixed (harmless) typo.

svn path=/trunk/; revision=20345
2005-12-26 22:56:31 +00:00
Gé van Geldorp
a7c00fd10a Sync to Wine-0_9_4:
Alexandre Julliard <julliard@winehq.org>
- winebuild: Allow -register flag for Win32 too.
  This way it can be used as hint for the relay code.
- ntdll: Make __wine_call_from_32_restore_regs take a context pointer.
  Changed exception raise functions to call it explicitly.
- ntdll: New implementation of relay thunks.
  New implementation of relay thunks that doesn't require modifying code
  on the fly, so that the thunks can be put in the text section.
  Some performance improvements.

svn path=/trunk/; revision=20344
2005-12-26 22:51:29 +00:00
Hervé Poussineau
f839c3ab83 Replace implementation of QueryServiceConfigW by a stub (like in pre-20255), as rpcrt4 throws sometimes an exception and breaks PnP manager
svn path=/trunk/; revision=20343
2005-12-26 21:47:28 +00:00
Hervé Poussineau
7005e550e5 - Set SPINT_DEFAULT, SPINT_REMOVED and SPINT_ACTIVE in interface flags when needed
- Precise some SP_DEVINSTALL_PARAMS, by replacing them by SP_DEVINSTALL_PARAMS_W
- Don't hardcode some constants

svn path=/trunk/; revision=20342
2005-12-26 21:41:02 +00:00
Ged Murphy
f7c12cd957 forgot to remove this
svn path=/trunk/; revision=20341
2005-12-26 20:48:46 +00:00
Ged Murphy
742f2e36bf Shut MSVC warnings up
svn path=/trunk/; revision=20339
2005-12-26 20:40:45 +00:00
Eric Kohl
5159234db2 Add CMP_Init_Detection and CMP_Report_LogOn prototypes.
svn path=/trunk/; revision=20338
2005-12-26 20:14:24 +00:00
Hervé Poussineau
3fe126e7b0 Take care of flag DI_FLAGSEX_NO_DRVREG_MODIFY
svn path=/trunk/; revision=20337
2005-12-26 15:55:33 +00:00
Hervé Poussineau
ad04c03732 Fix usage of DI_NOVCP flag
svn path=/trunk/; revision=20336
2005-12-26 15:25:47 +00:00
Eric Kohl
5531d9e68d -Implement EnumServicesStatusExW.
-Add missing [unique] Attributes to svcctrl.idl.

svn path=/trunk/; revision=20335
2005-12-26 15:06:46 +00:00
Brandon Turner
5caea08853 Better page file creation that allows for system managed setting. A lot of thanks to Thomas on this patch.
svn path=/trunk/; revision=20334
2005-12-26 02:45:49 +00:00
Thomas Bluemel
60f9e8b3c5 fixed creating property pages
svn path=/trunk/; revision=20333
2005-12-25 23:57:26 +00:00
Thomas Bluemel
5ec3b17e0d perform asynchronous SID lookups
svn path=/trunk/; revision=20332
2005-12-25 21:20:13 +00:00
Eric Kohl
1dbbdf4ea8 Implement QueryServiceStatusEx.
svn path=/trunk/; revision=20331
2005-12-25 21:19:33 +00:00
Magnus Olsen
80cc55de74 do not BSD in some test apps I have. it did not check if input buffer for the convert string was NULL or not.
svn path=/trunk/; revision=20330
2005-12-25 18:53:39 +00:00
Hervé Poussineau
559ea9a183 Copy driver files only once
svn path=/trunk/; revision=20329
2005-12-25 15:00:05 +00:00
Eric Kohl
2e1f9475d8 - Implement EnumServicesStatusW.
- Add server stubs for ChangeServiceConfigA, GetServiceDisplayNameA, GetServiceKeyNameA and QueryServiceStatusEx.

svn path=/trunk/; revision=20328
2005-12-25 14:45:30 +00:00
Magnus Olsen
46d8d540af addig follow reslution to select betwin vbe_640x480x16, vbe_800x600x8, vbe_1024x768x8, vbe_1024x768x16
svn path=/trunk/; revision=20327
2005-12-25 10:35:23 +00:00
Magnus Olsen
344a183c14 Adding same bug fix as 20303 to vfprintf.c it did have same problem. thx for GvG bugfix.
svn path=/trunk/; revision=20326
2005-12-25 02:55:18 +00:00
Magnus Olsen
4e2b520755 fixing 20 VS waring msg
svn path=/trunk/; revision=20325
2005-12-25 02:05:50 +00:00
Hervé Poussineau
b0ed55d762 Close the key only if we have opened it (it's not the case when the subkey name is empty)
svn path=/trunk/; revision=20324
2005-12-24 23:24:40 +00:00
Hervé Poussineau
4d21beb957 Allow more than one USB controller
svn path=/trunk/; revision=20323
2005-12-24 17:56:23 +00:00
Magnus Olsen
1a9be1b9ef Fixed Cz.rc to SUBLANG_DEFAULT so make VS happy
Fixed Es.rc to SUBLANG_NEUTRAL so make VS happy

svn path=/trunk/; revision=20322
2005-12-24 17:50:01 +00:00
Gé van Geldorp
b321c10094 Fix transfer summary
svn path=/trunk/; revision=20321
2005-12-24 14:28:05 +00:00
Gé van Geldorp
d22675a805 There's a difference between a handle and an object... Sorry about this
svn path=/trunk/; revision=20320
2005-12-24 09:33:35 +00:00
Royce Mitchell III
c5454d2a4b fixed typo
svn path=/trunk/; revision=20319
2005-12-24 07:21:22 +00:00
Royce Mitchell III
4c7110175d first attempt at a hebrew keyboard
svn path=/trunk/; revision=20318
2005-12-24 05:36:38 +00:00
Gé van Geldorp
7ca33cb6d6 Checking memory allocation return values helps prevent crashes
svn path=/trunk/; revision=20316
2005-12-23 20:47:54 +00:00
Gé van Geldorp
9851ee0b33 Send delayed ACKs after 200ms instead of 2500ms
svn path=/trunk/; revision=20315
2005-12-23 20:46:48 +00:00
Gé van Geldorp
a7cb9f71d5 Force Nagle algorithm off for loopback
svn path=/trunk/; revision=20314
2005-12-23 20:44:39 +00:00
Maarten Bosma
a2603641ae Allow to choose between 800x600x16 and 640x480x8 as default resolution in first stage installer.
svn path=/trunk/; revision=20313
2005-12-23 18:03:12 +00:00
Eric Kohl
d40178810d -Add QueryServiceConfig2A stub.
-Implement QueryServiceObjectSecurity and SetServiceObjectSecurity.

svn path=/trunk/; revision=20311
2005-12-23 15:56:51 +00:00
Eric Kohl
e0189ae169 Forgot this file!
Exports CMP_InitDetection, CMP_Report_LogOn, CM_Move_DevNode[_Ex], CM_Setup_DevNode[_Ex] and CM_Uninstall_DevNode[_Ex].

svn path=/trunk/; revision=20310
2005-12-23 15:46:03 +00:00
Gé van Geldorp
0339408978 Return error code that oskit understands. Fixes ftp upload.
svn path=/trunk/; revision=20305
2005-12-22 22:23:07 +00:00
Gé van Geldorp
63a073268b Silence debug message
svn path=/trunk/; revision=20304
2005-12-22 22:22:14 +00:00
Gé van Geldorp
09b5023d6f Fix nul stripping and get GreatLord of my back ;-)
svn path=/trunk/; revision=20303
2005-12-22 20:41:46 +00:00
Maarten Bosma
e2b8d4b568 Only allow bmp since it is the only format supported by reactos.
svn path=/trunk/; revision=20301
2005-12-22 16:30:37 +00:00
Hervé Poussineau
966599f7f4 msmouse.inf: Change some section names to be able to install the vmware mouse driver (still not working)
usbport.inf: Add identifier for Intel 82371SB PIIX3 USB controller

svn path=/trunk/; revision=20300
2005-12-22 13:57:52 +00:00
Hervé Poussineau
9b36d74ce9 Expand the value if we have a REG_EXPAND_SZ entry
svn path=/trunk/; revision=20299
2005-12-22 13:54:07 +00:00
Gé van Geldorp
d86cf51518 Remove debugging breakpoint accidentally left in
svn path=/trunk/; revision=20298
2005-12-22 11:50:12 +00:00
Gé van Geldorp
da2a71a27c Remember the last allocated port and try to allocate the next one on the
following call (prevents 1024 from being allocated each time)

svn path=/trunk/; revision=20297
2005-12-22 11:44:16 +00:00
Magnus Olsen
59946b074c Bug 1158 French translation from French translation team by zoken <mustang9@gmail.com>
svn path=/trunk/; revision=20296
2005-12-21 21:29:07 +00:00
Magnus Olsen
37ece180b2 Bug 1157 French translation from French translation team by zoken <mustang9@gmail.com>
svn path=/trunk/; revision=20295
2005-12-21 21:25:59 +00:00
Magnus Olsen
157d0e604b Bug 1166 part 2 of 2 French translation from French translation team by cmoibenlepro <cmoibenlepro@hotmail.com>
svn path=/trunk/; revision=20294
2005-12-21 21:19:04 +00:00
Magnus Olsen
64517a2673 Bug 1166 part 1 of 2 French translation from French translation team by cmoibenlepro <cmoibenlepro@hotmail.com>
svn path=/trunk/; revision=20293
2005-12-21 21:12:35 +00:00
Magnus Olsen
71018ce807 Bug 1155 French translation from French translation team by zoken <mustang9@gmail.com
svn path=/trunk/; revision=20292
2005-12-21 21:07:03 +00:00
Magnus Olsen
9ed5feb019 Bug 1163 French translation from Jerome Signouret "ggcom" by ReactOS French translation team
svn path=/trunk/; revision=20291
2005-12-21 20:58:08 +00:00
Magnus Olsen
0d208b6424 Bug 1162 correct French translation by Jerome Signouret "ggcom"
svn path=/trunk/; revision=20290
2005-12-21 20:50:15 +00:00
Thomas Bluemel
78641fec1a make functions match their declarations
svn path=/trunk/; revision=20288
2005-12-21 19:07:47 +00:00
Thomas Bluemel
fab032457d fixed difference in signedness warning
svn path=/trunk/; revision=20287
2005-12-21 19:07:47 +00:00
James Tabor
2da4a5f455 Fix compiling. Thanks to filip.
svn path=/trunk/; revision=20286
2005-12-21 18:03:28 +00:00
Hervé Poussineau
09a48bfbbf Partly implement SetupDiInstallDeviceInterfaces
svn path=/trunk/; revision=20284
2005-12-21 14:43:02 +00:00
Hervé Poussineau
62d79cb1cd - Fix horribly broken implementation of SetupInstallServicesFromInfSectionExW, which should install a whole Services section and not a particular service.
- Simplify handling of Include and Needs directives

svn path=/trunk/; revision=20283
2005-12-21 12:28:55 +00:00
Ged Murphy
cb0196f66c missed an error check
svn path=/trunk/; revision=20282
2005-12-20 23:54:21 +00:00
Eric Kohl
1c2de2b455 Add missing RtlMakeSelfRelatedSd prototype.
svn path=/trunk/; revision=20281
2005-12-20 23:16:09 +00:00
Gé van Geldorp
ad4ad9891b The function epilog is responsible for removing the final exception frame
svn path=/trunk/; revision=20280
2005-12-20 20:42:30 +00:00
Ged Murphy
437e3b8570 fix output for local connections
svn path=/trunk/; revision=20279
2005-12-20 20:36:38 +00:00
Hervé Poussineau
c9b00baec1 Don't try to dereference possible NULL pointers
svn path=/trunk/; revision=20277
2005-12-20 20:07:40 +00:00
Ged Murphy
ec040b1b1d - shut some of the msvc warnings up
- change malloc's to HeapAlloc's
- fix memory leaks

svn path=/trunk/; revision=20276
2005-12-20 19:54:25 +00:00
Sebastian Gasiorek
ceb1bf51b8 when message is not unicode then SendMessageA should be used. Fixes #1152 and combobox in "Run..." dialog
svn path=/trunk/; revision=20275
2005-12-20 13:24:47 +00:00
Hervé Poussineau
98fb761850 Honor DI_ENUMSINGLEINF flag in SetupDiBuildDriverInfoList
Implement SetupDiGetSelectedDevice/SetupDiSetSelectedDevice

svn path=/trunk/; revision=20274
2005-12-20 09:45:53 +00:00
Gé van Geldorp
dbf1557d08 /me loves Raymond
svn path=/trunk/; revision=20273
2005-12-19 17:58:17 +00:00
Hervé Poussineau
eccd6421af Implement SetupDiGetDeviceInfoListClass
Parse 'Include' and 'Needs' directives in SetupInstallFromInfSectionW and when installing services

svn path=/trunk/; revision=20271
2005-12-19 15:08:55 +00:00
Sebastian Gasiorek
eecd4bb9cf updated Polish translation by Wiktor Maryniowski
svn path=/trunk/; revision=20270
2005-12-19 13:26:53 +00:00
Hervé Poussineau
8aa516fdf8 Implement SetupDiGetActualSectionToInstallExA/W
svn path=/trunk/; revision=20269
2005-12-19 13:09:22 +00:00
Hervé Poussineau
d680237785 Install "ClassInstall32.Services" section in SetupDiInstallClassExW
svn path=/trunk/; revision=20268
2005-12-19 10:43:08 +00:00
Hervé Poussineau
8cf0eb4663 Implement SetupDiInstallClassExA
Implement parts of SetupDiInstallClassExW

svn path=/trunk/; revision=20267
2005-12-19 10:15:06 +00:00
Magnus Olsen
55869af70a commit franch translation from bugzila http://www.reactos.org/bugzilla/show_bug.cgi?id=1150
svn path=/trunk/; revision=20265
2005-12-19 00:11:04 +00:00
Gé van Geldorp
37b1fdddf8 Detach GUI process from console
svn path=/trunk/; revision=20264
2005-12-18 23:21:58 +00:00
Magnus Olsen
b414f7c09f in function deformat_environment did cut of one letter of GetEnvironmentVariableW at beigner in second call. it try found example LLUSERSPROFILE but it mean ALLUSERSPROFILE. fixed by me and hpussin.
svn path=/trunk/; revision=20263
2005-12-18 23:13:05 +00:00
Hervé Poussineau
56809c269e Fix serial mouse type detection
Shut up some debug message

svn path=/trunk/; revision=20261
2005-12-18 23:00:00 +00:00
Eric Kohl
6952f0b059 - Move SetServiceObjectSecurity to the right file.
- Pass arguments to ANSI services.

svn path=/trunk/; revision=20259
2005-12-18 21:38:05 +00:00
Gé van Geldorp
e1d63437d3 Fix C++ exception handling
svn path=/trunk/; revision=20257
2005-12-18 20:58:32 +00:00
Hervé Poussineau
290837445f Fix little bug which prevented IRP_MJ_PNP to be forwarded to lower driver
Set eol-style to native for usbstor driver files

svn path=/trunk/; revision=20256
2005-12-18 20:50:26 +00:00
Eric Kohl
3bd41ed164 Implement QueryServiceConfigW.
svn path=/trunk/; revision=20255
2005-12-18 19:50:53 +00:00
Hervé Poussineau
c44faae046 Fix typo, which lead to be unable to create services with a description text
svn path=/trunk/; revision=20253
2005-12-18 18:14:25 +00:00
Hervé Poussineau
d9c1d77e60 Use the right default value for the serial port baud rate
svn path=/trunk/; revision=20251
2005-12-18 18:12:36 +00:00
Magnus Olsen
b8bc139f1d forget reformat the code so it look nice in editor
svn path=/trunk/; revision=20250
2005-12-18 17:53:33 +00:00
Magnus Olsen
98a12a8380 fix follow bug hex->dec, bin->dec, oct->dec, now all converting should work fine. I have not found any more problem with it.
svn path=/trunk/; revision=20249
2005-12-18 17:52:28 +00:00
Casper Hornstrup
0a59d4d1ba Remove oleaut32 from api status
svn path=/trunk/; revision=20248
2005-12-18 17:40:51 +00:00
Hartmut Birr
bc97d24567 Fix the returned pointer in CopyUp.
svn path=/trunk/; revision=20247
2005-12-18 17:15:39 +00:00
Magnus Olsen
96def9ca4f adding binary convert tested betwin dec -> bin -> hex -> bin -> oct and works
svn path=/trunk/; revision=20246
2005-12-18 17:05:35 +00:00
Magnus Olsen
0b3226dc70 Fix partily of bug 1149, left todo is binary show. Follow thing : Hex, dec, oct should work fine now and convert betwin them
svn path=/trunk/; revision=20245
2005-12-18 16:03:35 +00:00
Magnus Olsen
bdd79af367 add allowwarnings ="true" so txtscale can be build with dgb=0 with gcc 3.4.4
svn path=/trunk/; revision=20244
2005-12-18 12:32:05 +00:00
Thomas Bluemel
2859b116ca don't typecast constant strings
svn path=/trunk/; revision=20243
2005-12-18 11:04:04 +00:00
Casper Hornstrup
7737b1bf17 Remove ole32 from api status
svn path=/trunk/; revision=20242
2005-12-18 10:58:46 +00:00
Magnus Olsen
0a9fac479b remove my last change for w3seek did not like it. and gave some good point why
svn path=/trunk/; revision=20241
2005-12-18 09:55:29 +00:00
Magnus Olsen
1392f53d62 add -fforce-addr -fmerge-all-constants -fmove-all-movables -funit-at-a-time to DBG=0 Old setting did produce 1.06MB of comctl32.dll new setting produce it to 940KB. it will produce smaller file size for all file.
svn path=/trunk/; revision=20240
2005-12-18 09:36:32 +00:00
Sebastian Gasiorek
565f110df2 putenv should return success on deletion of nonexistent variable.
fixes one "msvcrt environ" test

svn path=/trunk/; revision=20239
2005-12-18 01:29:18 +00:00
Sebastian Gasiorek
1b17f93d3a "MSVCRT memcpy behaves like memmove for overlapping moves"
Fixes wine msvcrt string test

svn path=/trunk/; revision=20238
2005-12-18 00:43:58 +00:00
Thomas Bluemel
583e7a4282 fixed error codes returned when memory allocations failed
svn path=/trunk/; revision=20237
2005-12-18 00:05:08 +00:00
Casper Hornstrup
171ede1088 Remove winmm from api status
svn path=/trunk/; revision=20236
2005-12-18 00:00:18 +00:00
Casper Hornstrup
b8b14db257 Remove shell32 from api status
svn path=/trunk/; revision=20235
2005-12-17 23:13:00 +00:00
Magnus Olsen
2db462df4a Alexander Wurzinger(Lohnegrim)' E-Mail 'Lohnegrim@gmx.net' fix follow bugs Commend "'type/p','dir/p','dir/s','dir/p/s' did not work with CTRL+C"\n"'pause' does not continie ones you Press Ctrl/Shift/Alt"
svn path=/trunk/; revision=20234
2005-12-17 21:51:36 +00:00
Thomas Bluemel
f52fb8c68c rename IsDeviceEnabled to IsDeviceStarted
svn path=/trunk/; revision=20233
2005-12-17 21:41:15 +00:00
Thomas Bluemel
6246647626 fixed IsUserAdmin and enable the calls to it
svn path=/trunk/; revision=20232
2005-12-17 21:13:36 +00:00
Thomas Bluemel
893ebb6e43 use the captured link target string length in NtCreateSymbolicLinkObject. Spotted by zebasoftis.
svn path=/trunk/; revision=20231
2005-12-17 20:59:51 +00:00
Magnus Olsen
f90dc5f95e add allowwarnings ="true" so ibrowser can be build with dgb=0 with gcc 3.4.4
svn path=/trunk/; revision=20230
2005-12-17 20:59:44 +00:00
Magnus Olsen
9988c220cc add allowwarnings ="true" so explore can be build with dgb=0 with gcc 3.4.4
svn path=/trunk/; revision=20229
2005-12-17 20:57:52 +00:00
Eric Kohl
5d810533b0 Implement CMP_Init_Detection, CMP_Report_LogOn, CM_Setup_DevNode[_Ex] and CM_Uninstall_DevNode[_Ex].
svn path=/trunk/; revision=20228
2005-12-17 19:58:23 +00:00
Martin Fuchs
8e8d537688 fix bug 1139: disable printer submenu folder in "settings" start menu
svn path=/trunk/; revision=20227
2005-12-17 17:31:32 +00:00
Magnus Olsen
ae2332fe04 add allowwarnings ="true" so telnet can be build with dgb=0
svn path=/trunk/; revision=20226
2005-12-17 17:14:50 +00:00
Thomas Bluemel
9cab16f025 ported the __EXCEPT_PAGE_FAULT macro for upcoming synchronizations of imported wine code
svn path=/trunk/; revision=20225
2005-12-17 16:06:45 +00:00
Thomas Bluemel
b89c461211 fixed the definition of RtlDosPathNameToNtPathName_U
svn path=/trunk/; revision=20224
2005-12-17 15:45:59 +00:00
Eric Kohl
56c1699b7b - Implement CM_Disable_DevNode[_Ex], CM_Enable_DevNode[_Ex], CM_Reenumerate_DevNode[_Ex] and CM_Run_Detection[_Ex].
- Implement StringTableAddStringEx and StringTableLookUpStringEx.

svn path=/trunk/; revision=20223
2005-12-17 12:23:41 +00:00
Filip Navara
d9af371509 Tip of the day: Never let a sick person code.
svn path=/trunk/; revision=20222
2005-12-17 12:16:28 +00:00
Filip Navara
e25fc6f865 Fix a handle leak.
svn path=/trunk/; revision=20221
2005-12-17 12:13:06 +00:00
Filip Navara
c75e5ec7d3 Fix a cut & paste error.
svn path=/trunk/; revision=20220
2005-12-17 12:09:08 +00:00
Filip Navara
e4556f6060 Minor cleanup of GetVolumeNameForVolumeMountPointW and fix some incorrect return codes (spotted by w3seek).
svn path=/trunk/; revision=20219
2005-12-17 12:05:55 +00:00
Filip Navara
4ef6abb3a2 Fix bunch of bugs in GetVolumeNameForVolumeMountPointW. Thanks to w3seek.
svn path=/trunk/; revision=20218
2005-12-17 11:31:12 +00:00
Filip Navara
df43694201 Implementation of GetVolumeNameForVolumeMountPointW (depends on mount manager, so it doesn't work in ROS).
svn path=/trunk/; revision=20217
2005-12-17 11:08:16 +00:00
Royce Mitchell III
3488008713 CreateFile() fails with INVALID_HANDLE_VALUE, not NULL - this fixes GetLastError() to more accurately point to the problem when diagnosing problems.
svn path=/trunk/; revision=20216
2005-12-17 06:26:20 +00:00
Royce Mitchell III
451a45a649 print out some useful info before we go belly-up
svn path=/trunk/; revision=20215
2005-12-17 05:47:19 +00:00
Thomas Bluemel
d213f066bb Patch by Kaj Kaloinen <kkaloine@gmail.com>:
- Finnish translation of userenv.dll

svn path=/trunk/; revision=20213
2005-12-16 19:54:08 +00:00
Thomas Bluemel
2b5085097d fixed windres warning
svn path=/trunk/; revision=20212
2005-12-16 18:41:00 +00:00
Gé van Geldorp
c4ffc67318 samwise52 <samcharly@hotmail.com>
Spanish translations
Minor syntax fixes and SUBLANG_SPANISH -> SUBLANG_NEUTRAL by GvG

svn path=/trunk/; revision=20211
2005-12-16 10:17:31 +00:00
Gé van Geldorp
950d640939 ggcom <ggcom@tele2.fr>
French translation (bug 1124)

svn path=/trunk/; revision=20210
2005-12-16 10:00:37 +00:00
Gé van Geldorp
aed7ac0e04 ggcom <ggcom@tele2.fr>
French translation (bug 1130)

svn path=/trunk/; revision=20209
2005-12-16 09:57:32 +00:00
Gé van Geldorp
7371b0e307 ggcom <ggcom@tele2.fr>
French translation (bug 1131)

svn path=/trunk/; revision=20208
2005-12-16 09:55:12 +00:00
Andrew Munger
8b5d19e781 Return error codes correctly, fixes 1109. Patch by Hartmut Birr.
svn path=/trunk/; revision=20204
2005-12-16 03:00:02 +00:00
Hervé Poussineau
4ce3d5c9e8 Implement DICS_FLAG_CONFIGSPECIFIC case in SetupDiOpenDevRegKey, by factorizing some code from SetupDiCreateDevRegKeyW to OpenHardwareProfileKey
Don't ask for KEY_ENUMERATE_SUB_KEYS access right when not needed
Implemenent internal function ResetDevice()

svn path=/trunk/; revision=20203
2005-12-15 23:24:43 +00:00
Hervé Poussineau
9f88e7a94b Replace some strings by constants
svn path=/trunk/; revision=20202
2005-12-15 22:13:01 +00:00
Hervé Poussineau
89bf2a6dcd Implement DICS_FLAG_CONFIGSPECIFIC and DIREG_DEV cases in SetupDiCreateDevRegKeyW
Implement SetupDiChangeState

svn path=/trunk/; revision=20201
2005-12-15 21:21:38 +00:00
Gé van Geldorp
11dcbab404 Fix by Royce3:
Don't wait 10 sec after starting an app via a .lnk file (bug 1107)

svn path=/trunk/; revision=20200
2005-12-15 21:01:01 +00:00
Ged Murphy
518f3087ef Fixed positioning of graphic in start menu
by Sebastiaan Roodenburg (KaRaMBa : IRC)

svn path=/trunk/; revision=20197
2005-12-15 20:27:16 +00:00
Hervé Poussineau
b797a71a80 Add message box to tell the user to reboot after the installation of a network card
svn path=/trunk/; revision=20192
2005-12-15 18:20:21 +00:00
Hervé Poussineau
f4167818e4 Add a hack to enable "Do not show this dialog anymore" (still doesn't work)
Rename IsDeviceEnabled to IsDeviceStarted and EnableDevice to StartDevice

svn path=/trunk/; revision=20191
2005-12-15 17:40:50 +00:00
Hervé Poussineau
e35fb7388d Allow DIF_PROPERTYCHANGE as valid install code in SetupDiSetClassInstallParamsW
Better stub for SetupDiChangeState

svn path=/trunk/; revision=20190
2005-12-15 16:35:15 +00:00
Hervé Poussineau
da74f5a9ff Set the ConfigFlags value in registry if not present
svn path=/trunk/; revision=20189
2005-12-15 14:15:18 +00:00
Hervé Poussineau
c342b41f06 Implement SetupDiSetClassInstallParamsW
Handle DIF_PROPERTYCHANGE in SetupDiCallClassInstaller
Add stub for SetupDiChangeState
Rename a label (nextfile -> nextservice)
Remove a useless test in DelayedMove

svn path=/trunk/; revision=20188
2005-12-15 13:48:26 +00:00
Hervé Poussineau
7d2a60b58e Set DNF_ASSIGNING_RESOURCES, DNF_RESOURCE_ASSIGNED, DNF_RESOURCE_REPORTED and DNF_NO_RESOURCE_REQUIRED flags
svn path=/trunk/; revision=20187
2005-12-15 09:07:32 +00:00
Thomas Bluemel
47a20532ec Patch by Brezenbak:
- Fix loading of named resources. Fixes bug 1113

svn path=/trunk/; revision=20185
2005-12-15 01:20:46 +00:00
Ged Murphy
bb88aea9fe fix building in msvc
svn path=/trunk/; revision=20184
2005-12-15 00:25:09 +00:00
Gé van Geldorp
5299045fca dxdiagn vendor import
svn path=/trunk/; revision=20182
2005-12-14 23:09:06 +00:00
Gé van Geldorp
7e719c4426 Remove old dxdiagn in preparation of vendor import
svn path=/trunk/; revision=20181
2005-12-14 23:05:37 +00:00
Ged Murphy
783db87483 j_anderw@sbox.tugraz.at
list resource files in the correct directory within msvc

svn path=/trunk/; revision=20180
2005-12-14 22:50:25 +00:00
Gé van Geldorp
cc6eecf1dd Make property sheet fit in 640x480. Fixes bug 1099
svn path=/trunk/; revision=20176
2005-12-14 21:36:15 +00:00
Gé van Geldorp
6187615999 Update status
svn path=/trunk/; revision=20172
2005-12-14 19:47:05 +00:00
Magnus Olsen
2e4c361ee8 delete a folder. that does not belong to trunk it was accented commited when I did resive a big patch from hu translations team. thx Brezenbak to notice it. and the translations have been move to right folder.
svn path=/trunk/; revision=20171
2005-12-14 19:45:16 +00:00
Gé van Geldorp
748241e0bc Sync to Wine-0_9_3:
Jacek Caban <jacek@codeweavers.com>
- Return S_OK in [On|Can]InPlaceActivate.
  Handle IOleDocumentSite in QueryInterface.
- Added IOleDocumentSite implementation.
- Sync the WebBrowser's window size with document's window.
- Sync window sizes.
- Use sink in navigate_complete instead of ClientSite's IDispatch.
- Added implementation of OLEIVERB_SHOW in DoVerb.
- Activate document object.
- Added IOleInPlaceActiveObject stub implementation.
- Added GetOverrideKeyPath and GetOptionKeyPath implementation.
- Added SetObjectRects implementation.
- Better windows handling.
- shdocvw: Added get_Document implementation.
- Added implementation of IConnectionPoint::Advise and Unadvise.
- Don't crash when parameters of Navigate2 are NULL.
- Added implementation of GetWindowContext.
  Added stub implementation of IOleInPlaceFrame interface.

svn path=/trunk/; revision=20170
2005-12-14 19:42:38 +00:00
Magnus Olsen
3fb8c2a35b move the shlwapi_Hu.rc from wrong folder that will be delete thx Brezenbak to note it
svn path=/trunk/; revision=20169
2005-12-14 19:41:46 +00:00
Gé van Geldorp
f01f1be7e9 Sync to Wine-0_9_3:
Michael Jung <mjung@iss.tu-darmstadt.de>
- Use the ANSI codepage in IShellFolder::GetDisplayNameOf.
- Implemented scrolling during drag&drop for the shellview class.
- Use GetUIObjectOf instead of BindToObject to get a IDropTarget object.
- Register the shell view itself as the drop target, not it's parent folder.
  Forward drag&drop method calls to the folder currently under the cursor.
- Initialize OLE instead of just COM, in order to enable Drag & Drop.
- Modified KeyStateToDropEffect macro to match native shellview's
  behaviour.
- Also scan HKEY_CURRENT_USER for shell namespace extensions in Desktop
  folder.
  Fixed a handle leak in case of failing AddToEnumList call.
- Also scan HKEY_CURRENT_USER for shell namespace extensions in
  MyComputer.
- Enhanced UnixFolder's IDropTarget implementation.
  Use STATIC_CAST macro more consistently.
- Initial stubbed implementation of UnixFolder's IDropTarget interface.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Ge van Geldorp <gvg@reactos.org>
- Load shortcut icon by resource id instead of by icon index.
- Other code in shlexec.c (e.g. the extension handling code in
  ShellExecute_GetClassKey) expects sei->lpFile to not be enclosed in
  quotes.
Martin Fuchs <martin-fuchs@gmx.net>
- Correctly call HCR_GetFolderAttributes() in SHELL32_GetItemAttributes().
  Directly return the correct "My Computer" attributes in
  ISF_Desktop_fnGetAttributesOf().
  Remove "todo_wine" from the "My Computer" attributes test case.
  Add test case for retrieving the file system path from the
  CSIDL_PROGRAM_FILES PIDL using SHGetPathFromIDListW().
- Fix context menu handling for more than one entry in order to repair
  .lnk-file execution: Don't break at the first non-matching entry.
Markus Gömmel <m.goemmel@compulab.de>
- Added CSIDL_MYVIDEO|MYPICTURES|MYMUSIC to _SHRegisterUserShellFolders.

svn path=/trunk/; revision=20168
2005-12-14 19:09:44 +00:00
Gé van Geldorp
353588bbcb Sync to Wine-0_9_3:
Robert Shearman <rob@codeweavers.com>
- Return the correct error code from NdrProxyErrorHandler.
- Add a function to retrieve the MIDL_SERVER_INFO struct from an object.
- Make sure to fill out the MIDL_STUB_MESSAGE structure in
  NdrSendReceive like we do in NdrProxySendReceive.
- Fix the overflow check to not depend on pStubMsg->BufferStart and
  pStubMsg->BufferEnd being valid, because they aren't filled in when
  using MIDL-generated server stubs.
- Don't set the pointer to NULL on unmarshaling because we may want to
  unmarshal the value to an existing pointer instead of allocating a new
  one.
- Raise exceptions on failures.
  Replace references of pStubMsg->BufferEnd with RpcMsg->Buffer +
  pStubMsg->BufferLength.
- Fix buffer calculation when no interface data is marshaled to the
  stream.
- Implement conformant varying array functions.
- Implement conformant struct functions.
- Implement FC_STRUCTPAD2 for complex types.
- Add functions for marshaling base types (ints, floats, etc.).
- Extend conformance computation function to also compute variances.
  MSDN suggests that conformance and variance are pretty much the same,
  but there may be some subtleties to it.
- Fix NdrConformantArrayBufferSize to include the size of the
  conformance value.
  Make NdrConformantArrayMemorySize do something more useful, like
  actually return the required memory.
  Conformance offset can be negative and should only be two bytes.
- We should always allocate in NdrConformantStringUnmarshal if the
  memory pointer is NULL.
- The CLSID can be substituted by an IID present in one of the proxy
  file infos in NdrDllGetClassObject.
Ge van Geldorp <gvg@reactos.org>
- Match PSDK STATUS_* definitions.

svn path=/trunk/; revision=20167
2005-12-14 19:02:42 +00:00
Casper Hornstrup
b60b4c794a reactos.com -> reactos.org
svn path=/trunk/; revision=20166
2005-12-14 18:55:57 +00:00
Filip Navara
27f6a74ba6 Implement "!bug <number>" command.
svn path=/trunk/; revision=20165
2005-12-14 18:13:05 +00:00
Filip Navara
bd0b0b3d09 - Add support for "!wm <value>" and "!wm <name>" commands.
- Update the #develop project file.
- Add list of window message values. Thanks to Royce3.

svn path=/trunk/; revision=20164
2005-12-14 17:34:00 +00:00
Brandon Turner
fe84901940 Remove my changes to pagefile creation because they cause a hang for some people.
svn path=/trunk/; revision=20163
2005-12-14 12:41:38 +00:00
Magnus Olsen
bc5692342a update translation hu from talley
svn path=/trunk/; revision=20161
2005-12-14 09:26:52 +00:00
Magnus Olsen
a9e34709af update translation hu from talley
svn path=/trunk/; revision=20160
2005-12-14 09:23:58 +00:00
Hervé Poussineau
9915521c14 Move static keyword to the right place
svn path=/trunk/; revision=20159
2005-12-14 08:33:43 +00:00
Andrew Munger
4177c902b7 Include main .rc file in format.xml, so that strings will actually print.
Disabled Ja.rc due to Unterminated Line Ending error, needs attention.
This makes format.exe 100% more useful, but still does not format.

svn path=/trunk/; revision=20158
2005-12-14 03:30:22 +00:00
Brandon Turner
b3c942b715 Implement system handling of page file creation sizes. Thanks to arty and insulanus for helping me along the way.
svn path=/trunk/; revision=20157
2005-12-14 01:59:19 +00:00
Filip Navara
3837fac864 Fix the path translation in FormatEx (depends on unimplemented GetVolumeNameForVolumeMountPointW function).
svn path=/trunk/; revision=20156
2005-12-13 23:10:34 +00:00
Ged Murphy
4f3cd62583 It's a modal dialog not a window. Close it correctly.
svn path=/trunk/; revision=20154
2005-12-13 22:23:08 +00:00
Ged Murphy
6688a4c6f3 Missed a tab / space format. Looked ugly in diff
svn path=/trunk/; revision=20153
2005-12-13 22:12:01 +00:00
Ged Murphy
e5f571b48a - Close dialog if user clicks cancel or close button is pressed
- Fixes bug 1126

svn path=/trunk/; revision=20152
2005-12-13 22:02:43 +00:00
Filip Navara
f5fe98f364 Add stubs for status indication handlers. Fixes bug #187.
svn path=/trunk/; revision=20151
2005-12-13 21:48:57 +00:00
Christoph von Wittich
86498fffe4 implemented GetKeyboardLayoutNameW
fixed declaration of NtUserGetKeyboardLayoutName

svn path=/trunk/; revision=20150
2005-12-13 21:26:25 +00:00
Art Yerkes
9f345c304d Patch to fix bugcheck at exit for various TCP wielding apps. This puts in
a work item for socket shutdown that decouples the IRP cancel from the actual
(PASSIVE_LEVEL) tcp accounting chores.

Uses the CHEW static lib that I put in to gather workitem code into one nice
sane happy place.

It seems like doing the same to loopback.c is detrimental and I suspect that
it's due to nasty reentrancy issues in our code.  I'll likely adapt chew lib
so we can use it there too.

svn path=/trunk/; revision=20149
2005-12-13 20:17:25 +00:00
Filip Navara
bc49f0f151 Unify the icon and cursor loading code for LoadImage.
svn path=/trunk/; revision=20147
2005-12-13 19:07:08 +00:00
Casper Hornstrup
b666bbf296 Handle access denied scenario
svn path=/trunk/; revision=20146
2005-12-13 18:56:49 +00:00
James Tabor
ab4f456971 ModifyMenuA/W, I guess it is done. Remove UNIMPLEMENTED.
svn path=/trunk/; revision=20143
2005-12-13 03:23:31 +00:00
Filip Navara
70fdd1c0ec Remove obsolete definitions.
svn path=/trunk/; revision=20142
2005-12-13 00:30:09 +00:00
Filip Navara
bdc56e60ed Remove obsolete definitions.
svn path=/trunk/; revision=20141
2005-12-13 00:28:51 +00:00
Filip Navara
3141652982 Remove comment about commented out #define. :)
svn path=/trunk/; revision=20140
2005-12-13 00:26:41 +00:00
Filip Navara
780672a901 Add check for VbeModeInfo->PhysBasePtr != 0.
svn path=/trunk/; revision=20139
2005-12-13 00:17:08 +00:00
Filip Navara
e173575b57 Unfuck up the formatting and remove broken check.
svn path=/trunk/; revision=20138
2005-12-13 00:02:07 +00:00
Gé van Geldorp
17ffdc3a9c Sync to Wine-0_9_3:
Cihan Altinay <cihan@uq.edu.au>
- riched20: register ListBox & ComboBox classes
  Partially implement REExtendedRegisterClass() to register missing
  window classes so that applications relying on them don't get
  confused.

svn path=/trunk/; revision=20137
2005-12-12 23:56:24 +00:00
Gé van Geldorp
7d9ffb5dc6 Sync to Wine-0_9_3:
Robert Shearman <rob@codeweavers.com>
- Make dump functions const.
- OLE: Implement undocumented behaviour in DispCallFunc.
  Fix DispCallFunc to work with MSDN-undocumented behaviour used by
  Office 2003 and document the function.
- OLE: Implement ITypeInfo_AddressOfMember.
- OLE: Update the type of the oVft parameter for DispCallFunc.
- OLE: ITypeInfo_Invoke parameter naming change.
  Rename the dwFlags parameter of ITypeInfo_Invoke since it is not a
  DWORD, but an unsigned short.
- OLE: Support HREFTYPEs For ITypeInfos
  Add support for reading the hreftype of a typeinfo, return it to the
  application in ITypeComp_Bind for the DESKIND_APPOBJECT case and
  support referencing it in ITypeInfo_GetRefTypeInfo.
- OLE: fix function name loading
  Correctly get the name of the second function of a propget/propput
  pair in MSFT typelibs when the name offset is set to -1.
- OLE: fix invoking dispinterface functions
  Fix invoking dispinterface functions by using the internal
  representation of the function, not the one returned to applications.
- OLE: Move the dispinterface return value handling to functions that
  return the FUNCDESC to the user.
- OLE: fix handling of INVOKE_PROPERTYGET flag in ITypeComp_fnBind.
- OLE: Fix brokenness in typelib marshaller caused by dispinterface retval fix.
- Fix more fallout from dispinterface retval patch: make typelib
  marshaler use the internal function description so that it calls
  dispinterface functions with the correct number of parameters again.
- Also fixes some memory leaks caused by the fact that a corresponding
  ReleaseXDesc function has to be called for each GetXDesc.
Michael Stefaniuc <mstefani@redhat.de>
- Fix VarBstrCmp for NULL input BSTRs (MSDN is wrong).

svn path=/trunk/; revision=20136
2005-12-12 23:54:50 +00:00
Gé van Geldorp
2b8ceb888a Sync to Wine-0_9_3:
Michael Jung <mjung@iss.tu-darmstadt.de>
- Made the Drag&Drop cursors' rubber band visible on a white background.
- Correct the hot spot position of the drag&drop 'move' and 'link' cursors.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Robert Shearman <rob@codeweavers.com>
- Delegate advises to the remote object to enable the client to receive
  data change notifications.
- Implement IOleObject_DoVerb function by running the object and then
  delegating to the remote IOleObject_DoVerb function.
- Call DefaultHandler_Stop if we fail to start the server running
  correctly and a few formatting fixes.
- Call the equivalent delegate function for all of the simple
  functions.
- OLE: Fix a typo where brackets were missing.
- Implement some user marshal functions and add tests.

svn path=/trunk/; revision=20135
2005-12-12 23:53:06 +00:00
Gé van Geldorp
e526cc62f9 Sync to Wine-0_9_3:
Francois Gouget <fgouget@free.fr>
- Better stick to the PSDK types and to the dsrole.h prototype.
  Update win32.api.
Paul Vriens <Paul.Vriens@xs4all.nl>
- Added some stubbed Ds-calls
  Start of conformance tests for these Ds-calls.
Ge van Geldorp <gvg@reactos.org>
- Match PSDK STATUS_* definitions.
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Add a few missing #includes.
- Add some prototypes to include/ for already existing functions in
  netapi32.

svn path=/trunk/; revision=20134
2005-12-12 23:04:15 +00:00
Gé van Geldorp
8e9944e310 Sync to Wine-0_9_3:
Huw Davies <huw@codeweavers.com>
- msi: Fix MsiProvideQualifiedComponentW spec file entry.
Christian Gmeiner <christian.gmeiner@students.fh-vorarlberg.ac.at>
- msi: Implemented DllCanUnloadNow.
Robert Shearman <rob@codeweavers.com>
- The buffer sizes in the documentation for MsiDecomposeDescriptorW don't
  include the NULL terminator, so fix this.
Mike McCormack <mike@codeweavers.com>
- If a source directory doesn't exist, use the install root instead.
- Make all source directories at the root of the install.
- Handle the ^ character in MaskEdit controls.

svn path=/trunk/; revision=20133
2005-12-12 23:01:12 +00:00
Gé van Geldorp
6ff9c7396b Sync to Wine-0_9_3:
Lionel Ulmer <lionel.ulmer@free.fr>
- Handle DInput8 interfaces in device QueryInterface.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.

svn path=/trunk/; revision=20132
2005-12-12 22:57:45 +00:00
Gé van Geldorp
dfa67df83f Sync to Wine-0_9_3:
Juan Lang <juan_lang@yahoo.com>
- Implement more OID support functions.
  Use the exported OID support functions internally.
  Move OID support functions and stubs to a separate file.
- Fix parameter count on some stubs (thanks to Marcus Meissner for
  spotting that.)  Add a few more stubs.
- Fix some memory leaks.
Stefan Leichter <Stefan.Leichter@camLine.com>
- Added stub for CryptVerifyMessageSignature.

svn path=/trunk/; revision=20131
2005-12-12 22:56:08 +00:00
Hervé Poussineau
ad18ef445e Minimize differences between UHCI and OHCI
No need to return an empty string in IRP_MN_QUERY_ID / BusQueryInstanceID ; a null string is enough

svn path=/trunk/; revision=20130
2005-12-12 22:52:16 +00:00
Gé van Geldorp
4ae7fa84ae Sync to Wine-0_9_3:
Michael Jung <mjung@iss.tu-darmstadt.de>
- Initialize OLE instead of COM only in order to enable Drag and Drop.
Robert Shearman <rob@codeweavers.com>
- comdlg32: Don't worry if an HGLOBAL passed to printdlg is already locked.
YunSong Hwang <hys545@dreamwiz.com>
- Update Korean translations.
Milko Krachounov <milko@3mhz.net>
- Update the Bulgarian resources for commdlg and regedit.
Pavel Roskin <proski@gnu.org>
- Improve script selection combobox in the font selection dialog - set
  height to 90 (the old value of 10 could only fit a single line) and
  remove CBS_OWNERDRAWFIXED flag to trim excessive height from the list
  items.
Alexander N. Sørnes <alex@thehandofagony.com>
- Update Norwegian Bokmaal resources.

svn path=/trunk/; revision=20129
2005-12-12 22:44:46 +00:00
Gé van Geldorp
d6570df796 Sync to Wine-0_9_3:
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Alexandre Julliard <julliard@winehq.org>
- Enforce 16-byte stack alignment when returning from 16-bit code and
  when calling a register function.
- Preserve 16-byte stack alignment in 16-bit relays.
- Preserve 16-byte stack alignment in the various assembly
  functions. Needed for MacOSX.

svn path=/trunk/; revision=20128
2005-12-12 22:24:42 +00:00
Art Yerkes
9b271017a5 Working work item library.
- Slightly changed semantics of ChewCreate: the work may be performed 
  inline if we're in the right irql already.
- The user data is copied automatically if the call succeeds and a work 
  item is created.
- The address of the work item is returned through an argument if it
  was allocated.

svn path=/trunk/; revision=20127
2005-12-12 22:01:32 +00:00
Gé van Geldorp
0e5dec753d oleacc has a DllRegisterServer entry point
svn path=/trunk/; revision=20126
2005-12-12 22:00:16 +00:00
Filip Navara
871ffa8654 - Minimize the code differences between LoadIconImage and LoadCursorImage.
- Use ICs instead of DCs.
- Fix a DC leak.

svn path=/trunk/; revision=20125
2005-12-12 21:55:36 +00:00
Gé van Geldorp
46d3caa73e Add oleacc to build
svn path=/trunk/; revision=20124
2005-12-12 21:42:18 +00:00
Filip Navara
c6406b106d Replace GetModuleHandle("user32.dll") with User32Instance.
svn path=/trunk/; revision=20123
2005-12-12 21:36:50 +00:00
Filip Navara
26846ce596 Replace GetModuleHandle("user32.dll") with User32Instance.
svn path=/trunk/; revision=20122
2005-12-12 21:34:32 +00:00
Filip Navara
fca11cd62d - Make the file at least slightly readable (the mixed TABs and spaces were way too annoying).
- Replace GetModuleHandleW(L"user32.dll") with User32Instance.
- Fix one more allocation check.

svn path=/trunk/; revision=20121
2005-12-12 21:31:19 +00:00
Gé van Geldorp
e5b6313286 Re-import imm32 from Wine
svn path=/trunk/; revision=20120
2005-12-12 20:59:55 +00:00
Gé van Geldorp
716930cb61 Remove old imm32 in preparation of new import
svn path=/trunk/; revision=20119
2005-12-12 20:57:16 +00:00
Filip Navara
d85330a92a Check for failed allocations. Spotted by Martin Bealby.
svn path=/trunk/; revision=20118
2005-12-12 20:49:35 +00:00
Filip Navara
f59f8f34e3 Check for failed allocations and fix some resource leaks.
svn path=/trunk/; revision=20117
2005-12-12 20:46:26 +00:00
Gé van Geldorp
4612bb691c Import oleacc from Wine. oleacc.xml provided by Christoph von Wittich
svn path=/trunk/; revision=20116
2005-12-12 20:41:27 +00:00
Filip Navara
2e9c3ff97c Check for failed allocations. Spotted by Martin Bealby.
svn path=/trunk/; revision=20114
2005-12-12 20:30:09 +00:00
Filip Navara
bf0b38b9fd Replace RtlNtStatusToDosError(STATUS_NO_MEMORY) with ERROR_OUTOFMEMORY.
svn path=/trunk/; revision=20112
2005-12-12 20:25:02 +00:00
Filip Navara
f215fea4ab Check for failed allocations. Spotted by Martin Bealby.
svn path=/trunk/; revision=20111
2005-12-12 20:24:20 +00:00
Filip Navara
edda3b622f Fix the USER32 DLL initialization and cleanup routines to prevent memory/resource leaks and check for allocation errors.
svn path=/trunk/; revision=20110
2005-12-12 20:15:23 +00:00
Ged Murphy
8462e43fb5 Make start menu icons small until we have 24x24 icons.
Thanks to Martin for pointing out this simple change

svn path=/trunk/; revision=20108
2005-12-12 19:50:59 +00:00
Filip Navara
8f10c7915c Implement undocumented listbox messages LB_INSERTSTRING_UPPER, LB_INSERTSTRING_LOWER, LB_ADDSTRING_UPPER, LB_ADDSTRING_LOWER and use them in combobox CB_ADDSTRING and CB_INSERTSTRING implementation.
svn path=/trunk/; revision=20107
2005-12-12 19:49:08 +00:00
Filip Navara
8464f35250 Check for failed allocations. Spotted by Martin Bealby.
svn path=/trunk/; revision=20106
2005-12-12 19:23:52 +00:00
Gé van Geldorp
0a9b99479d FRy2oo5 <fRy2oo5@gmail.com>
German translation of getfirefox

svn path=/trunk/; revision=20105
2005-12-12 18:15:19 +00:00
Magnus Olsen
9354d3dce4 update translation hu from tally
svn path=/trunk/; revision=20104
2005-12-12 17:12:58 +00:00
Hervé Poussineau
f4b9f76ed2 Fix the case when IRP_MN_QUERY_DEVICE_TEXT returns nothing
Set DN_DRIVER_LOADED and DN_STARTED flags

svn path=/trunk/; revision=20103
2005-12-12 16:44:09 +00:00
Gé van Geldorp
dae7608137 Benoit Plante <cmoibenlepro@hotmail.com>
French translations

svn path=/trunk/; revision=20102
2005-12-12 09:06:40 +00:00
Gé van Geldorp
698a626564 samwise52 <samcharly@hotmail.com>
Some spanish translation patches

svn path=/trunk/; revision=20101
2005-12-12 08:58:57 +00:00
Christoph von Wittich
2a4094cc09 added "generic floppy disk controller" (currently using NO_DRV)
svn path=/trunk/; revision=20100
2005-12-12 08:41:02 +00:00
KJK::Hyperion
6b611c45ba - Replaced horribly broken implementation of CreateSymbolicLinkW with actual implementation.
- Defined IO_REPARSE_TAG_SYMLINK and corrected REPARSE_DATA_BUFFER as per ntifs.h version 0145

svn path=/trunk/; revision=20098
2005-12-12 02:05:54 +00:00
Christoph von Wittich
84560b15bb correct implementation of VerLanguageNameA/W
svn path=/trunk/; revision=20097
2005-12-12 00:36:31 +00:00
Gé van Geldorp
507a9d518e Add small utility to download/install Firefox
svn path=/trunk/; revision=20096
2005-12-12 00:23:07 +00:00
Christoph von Wittich
32ae60b9b2 better stubs for VerLanguageNameA/W (untested)
svn path=/trunk/; revision=20095
2005-12-12 00:06:38 +00:00
Magnus Olsen
bc678f34f4 NtGdiDdQueryDirectDrawObject do not setup wrong callback to struct members. Check for some NULL parama that can not be NULL.
svn path=/trunk/; revision=20094
2005-12-11 23:53:23 +00:00
Christoph von Wittich
e49fe0bdeb better GetSystemPowerStatus stub
svn path=/trunk/; revision=20093
2005-12-11 23:45:44 +00:00
Filip Navara
10177cfd7f Check for failed allocations. Spotted by Martin Bealby.
svn path=/trunk/; revision=20092
2005-12-11 23:43:37 +00:00
Christoph von Wittich
592fc91d75 set eol-style:native
svn path=/trunk/; revision=20091
2005-12-11 23:01:45 +00:00
Filip Navara
54efe2c985 Revert r20089, thanks SVN for not a nice conflict resolution!
svn path=/trunk/; revision=20090
2005-12-11 22:40:15 +00:00
Filip Navara
d97f75d5ed Check for failed allocation in GetNamedPipeHandleStateA.
svn path=/trunk/; revision=20089
2005-12-11 22:36:20 +00:00
Thomas Bluemel
408fa486e3 fixed uninitialized variable warnings and possible buffer overflows when reading strings from the registry that aren't NULL-terminated
svn path=/trunk/; revision=20088
2005-12-11 22:13:46 +00:00
Gé van Geldorp
38b91bdab0 Put back extra info if it was present
svn path=/trunk/; revision=20085
2005-12-11 21:24:27 +00:00
Sebastian Gasiorek
bd3c3047e0 added polish resource by Kokodin <kuraxxl(at)wp.pl>
svn path=/trunk/; revision=20084
2005-12-11 21:22:45 +00:00
Gé van Geldorp
0c0ecd45ea Resolve chained CNAME records
svn path=/trunk/; revision=20082
2005-12-11 21:17:58 +00:00
Thomas Bluemel
fc95df91f3 fixed some missing NULL checks, reported by M Bealby in bug #1110
svn path=/trunk/; revision=20081
2005-12-11 21:12:22 +00:00
Thomas Bluemel
7b4feab0a3 fixed some missing NULL checks, reported by M Bealby in bug #1110
svn path=/trunk/; revision=20079
2005-12-11 20:04:38 +00:00
Magnus Olsen
d17306c301 bugfix a bsod in DD_Cleanup
svn path=/trunk/; revision=20078
2005-12-11 19:42:08 +00:00
Thomas Bluemel
f4d98daa91 fixed converting the unicode string back to ansi in GetNamedPipeHandleStateA, also check if memory allocation failed (reported by M Bealby in bug #1110)
svn path=/trunk/; revision=20077
2005-12-11 19:36:43 +00:00
Thomas Bluemel
d33dc74f17 define and use __w64 for MSVC (if not using PSDK/DDK)
svn path=/trunk/; revision=20072
2005-12-11 19:21:18 +00:00
Sebastian Gasiorek
5b288afe1a Remove dot at the end of filename without extension
svn path=/trunk/; revision=20071
2005-12-11 18:29:27 +00:00
Magnus Olsen
3785710133 complete the sync with wine 0.9.2
svn path=/trunk/; revision=20070
2005-12-11 17:53:49 +00:00
Magnus Olsen
1d9fad1184 dshow header not completet. but egnuth be in use.
svn path=/trunk/; revision=20069
2005-12-11 17:51:36 +00:00
Magnus Olsen
5cfb66eb75 solv one of dxdiagn sync problem part 3
svn path=/trunk/; revision=20068
2005-12-11 17:43:10 +00:00
Hartmut Birr
fa63ad2bee Allocate a tem buffer for the module names in LdrpQueryModuleInformation, because it isn't possible to call RtlUnicodeStringToAnsiString if the irql is raised to DPC_LEVEL.
svn path=/trunk/; revision=20067
2005-12-11 17:02:07 +00:00
Magnus Olsen
e58e498be4 sync the header with wine 0.9.2 part 2 of 4
svn path=/trunk/; revision=20066
2005-12-11 16:46:40 +00:00
Sebastian Gasiorek
00f0f539a7 find applet by name (fixes bug #1063)
svn path=/trunk/; revision=20065
2005-12-11 15:18:39 +00:00
Hervé Poussineau
9c9cb57a39 Sort drivers by rank + date, so best driver would be the most recent for the best rank
Parse version field in .inf files
Replace [0] in structures definition by [ANYSIZE_ARRAY], and use FIELD_OFFSET macro
Remove some useless spaces

svn path=/trunk/; revision=20063
2005-12-11 11:27:08 +00:00
Gé van Geldorp
86d5edc3cf Use links.reactos.org redirection script
svn path=/trunk/; revision=20061
2005-12-11 11:26:20 +00:00
Hervé Poussineau
d0e9c71218 Rename mouse.inf to msmouse.inf to allow better compatibility with 3rd party mouse drivers
svn path=/trunk/; revision=20060
2005-12-11 09:57:53 +00:00
Gé van Geldorp
5cef9caba1 Usurp <petreolle@users.sourceforge.net>:
- Add French translation

svn path=/trunk/; revision=20059
2005-12-11 08:50:28 +00:00
Hervé Poussineau
57ff3eb4ca Remove some debug output for USB drivers
svn path=/trunk/; revision=20058
2005-12-11 08:29:03 +00:00
Hervé Poussineau
dea3952cfc Don't include useless files
xboxvmp.c: use functions provided by videoprt instead of hal ones
xboxvmp.c: replace DPRINT(1) by VideoPortDebugPrint

svn path=/trunk/; revision=20057
2005-12-11 08:27:35 +00:00
Art Yerkes
5eb9a955e7 Added chew library.
svn path=/trunk/; revision=20056
2005-12-11 08:27:12 +00:00
Art Yerkes
00dd460140 A little library for making it easier to get to PASSIVE_LEVEL. Just contains
boilerplate for using work items.

svn path=/trunk/; revision=20055
2005-12-11 08:26:16 +00:00
Hervé Poussineau
f8818e5c0a Implement SetupDiGetClassImageIndex, SetupDiGetClassImageList, SetupDiGetClassImageListExA/W, SetupDiLoadClassIcon
svn path=/trunk/; revision=20054
2005-12-11 08:11:21 +00:00
Brandon Turner
84d4551234 Make sure buffer isnt NULL. fixes bug 1102.
svn path=/trunk/; revision=20053
2005-12-11 06:01:32 +00:00
Brandon Turner
c1582f3868 Spell it right. :rolleyes:
svn path=/trunk/; revision=20052
2005-12-11 05:51:14 +00:00
Brandon Turner
13d4bad908 Check to make sure pointer isnt null after allocation. Fixes bug 1103.
svn path=/trunk/; revision=20051
2005-12-11 05:49:02 +00:00
Brandon Turner
937a0515a6 Stop the footer from printing twice. fixes 1084.
svn path=/trunk/; revision=20050
2005-12-11 05:34:11 +00:00
Brandon Turner
ff142af4a5 "Add" -> "Modify". Fixes bug 847.
svn path=/trunk/; revision=20049
2005-12-11 04:55:19 +00:00
Brandon Turner
d77da9c722 Write the new environment vars to the registry. Fixes 987.
svn path=/trunk/; revision=20048
2005-12-11 04:37:18 +00:00
Sebastian Gasiorek
38507bbda5 fix inserting menu by position in InsertMenuA/W
svn path=/trunk/; revision=20047
2005-12-11 00:07:56 +00:00
Gé van Geldorp
bb724032cb Shut off some debug messages
svn path=/trunk/; revision=20045
2005-12-10 22:24:51 +00:00
Gé van Geldorp
c20dd5efa7 Multiple interrupt status bits can be active at the same time, process them
all instead of just one and ignoring the rest.
On an active network card, this would eventually cause all transmit buffers
to be marked "in use", blocking all transmits. Sinds no TCP acks would go out,
it would block TCP receives too.

svn path=/trunk/; revision=20043
2005-12-10 22:21:28 +00:00
Sebastian Gasiorek
22da8ae308 merged changes from wine to edit control.
svn path=/trunk/; revision=20042
2005-12-10 20:44:57 +00:00
Aleksey Bragin
e1624c6a81 Fix for bug #932 (should go into 0.2.9 also)
svn path=/trunk/; revision=20041
2005-12-10 19:22:43 +00:00
Thomas Bluemel
b1a1d2bbbb fixed calls to NtDuplicateObject
svn path=/trunk/; revision=20040
2005-12-10 17:09:35 +00:00
Thomas Bluemel
1f7f1f3fe5 don't touch the key handle in NtOpenKey in failure cases
svn path=/trunk/; revision=20039
2005-12-10 17:00:54 +00:00
Thomas Bluemel
656411d9b8 - support for kernel handles
- attach to owning process before accessing the handle table if necessary

svn path=/trunk/; revision=20038
2005-12-10 16:38:04 +00:00
Thomas Bluemel
1c08d2c447 fixed compiling with -Wwrite-strings
svn path=/trunk/; revision=20037
2005-12-10 15:53:27 +00:00
Christoph von Wittich
d9fe039238 add QueryServiceConfig2W stub to get ros-msconfig working again
svn path=/trunk/; revision=20036
2005-12-10 15:40:52 +00:00
Filip Navara
6cdc65dae1 Until the kernel handle support is finished or bootvid support is rewritten not to use driver objects open & close the handle every time (in the correct context).
svn path=/trunk/; revision=20035
2005-12-10 14:36:39 +00:00
Aleksey Bragin
b2a69d9d5e Move xbox's i2c support to a separate file, and add support of xbox's LEDs switching. Currently it initializes leds to red, and immediately after base init is done (means video has been initialized) they are turned to orange (good for debugging).
svn path=/trunk/; revision=20034
2005-12-10 13:50:36 +00:00
Magnus Olsen
9c79acf7f8 Bug fix DD_Cleanup thx w3seek, Implement second check for DrvGetDrawInfo,
svn path=/trunk/; revision=20033
2005-12-10 00:28:41 +00:00
Sebastian Gasiorek
87c69dc1fe merged changes from wine to button and combobox code.
svn path=/trunk/; revision=20032
2005-12-10 00:15:17 +00:00
Thomas Bluemel
711bd1e8ae fixed difference in signedness warning
svn path=/trunk/; revision=20031
2005-12-10 00:07:40 +00:00
Christoph von Wittich
af69de1b67 fix uninitialized variable warning
svn path=/trunk/; revision=20030
2005-12-10 00:06:42 +00:00
Christoph von Wittich
7df88f7230 add CertVerifyCertificateChainPolicy stub. now Genuine Check from MS reports "unsupported operating system" instead of not running at all
svn path=/trunk/; revision=20029
2005-12-09 22:58:14 +00:00
Gé van Geldorp
6ee5d41a66 Prefer reactos.org over reactos.com
svn path=/trunk/; revision=20028
2005-12-09 22:39:42 +00:00
Filip Navara
8b3e341aaa Add prototypes needed for GDI_DEBUG.
svn path=/trunk/; revision=20027
2005-12-09 22:36:49 +00:00
Gé van Geldorp
9d4e6ac04f reactos.org is the preferred name these days
svn path=/trunk/; revision=20026
2005-12-09 22:14:27 +00:00
Thomas Bluemel
3b82b7735b implemented DeviceProblemTextA/W()
svn path=/trunk/; revision=20025
2005-12-09 21:57:24 +00:00
Gé van Geldorp
9492c63876 Work around lack of MSG_PEEK
svn path=/trunk/; revision=20024
2005-12-09 21:51:50 +00:00
Gé van Geldorp
4f147d70ec Remove Wine-ism
svn path=/trunk/; revision=20022
2005-12-09 21:50:10 +00:00
Gé van Geldorp
39d9a25f05 Tell shdocvw where to get the Mozilla control
svn path=/trunk/; revision=20020
2005-12-09 21:39:50 +00:00
Magnus Olsen
c83173ced9 take care of NtGdiDdDeleteDirectDrawObject Attempted to lock object 0x8d1f9ad8 that is deleted! problem.
svn path=/trunk/; revision=20019
2005-12-09 21:25:39 +00:00
Magnus Olsen
c5218fae18 Adding more debug string on dx api that are being calling
svn path=/trunk/; revision=20018
2005-12-09 20:58:32 +00:00
Magnus Olsen
c05565862c Take care of one BSOD in NtGdiDdCreateDirectDrawObject, it is not correct fix, it is a work around, the HDC can be NULL. it prevent some bsod for my new test apps for directx
svn path=/trunk/; revision=20017
2005-12-09 20:40:52 +00:00
Aleksey Bragin
3390cf5cda DPRINT->DPRINT1 in key places (when something fails we shouldn't keep silence).
svn path=/trunk/; revision=20016
2005-12-09 19:28:04 +00:00
Filip Navara
1c93c8782a Do not revoke the display ownership until the bootvid thread is terminated.
svn path=/trunk/; revision=20015
2005-12-09 19:00:13 +00:00
Christoph von Wittich
873e87742a move declaration of IntGdiExtSelectClipRgn to a win32k header
fix compile problem with path.c

svn path=/trunk/; revision=20014
2005-12-09 18:42:27 +00:00
Sebastian Gasiorek
2d6db118c9 convert strings to lower case in CharLowerA.
fixes loading of plugins in FAR.

svn path=/trunk/; revision=20013
2005-12-09 18:36:53 +00:00
Christoph von Wittich
e01c928700 implemented NtGdiSelectClipPath and PATH_FillPath
svn path=/trunk/; revision=20012
2005-12-09 18:06:19 +00:00
Gé van Geldorp
d224b2b02f Never allocate 0 bytes. Fixes bug 1082.
svn path=/trunk/; revision=20010
2005-12-09 17:56:26 +00:00
Filip Navara
188a82d7eb Fix a Mach-O magic check. Spotted by mbealby@gmail.com.
svn path=/trunk/; revision=20009
2005-12-09 17:11:20 +00:00
Filip Navara
b596e807a6 Fix a buffer overflow in OutputDebugStringA. Spotted by mbealby@gmail.com.
svn path=/trunk/; revision=20008
2005-12-09 17:06:02 +00:00
Thomas Bluemel
4ee0dcb186 Patch by FRy2oo5 <fRy2oo5@gmail.com>:
- Updated German translation of devmgr.dll

svn path=/trunk/; revision=20007
2005-12-09 14:59:10 +00:00
Gé van Geldorp
4a5c2d8537 Synthesize FILE_ATTRIBUTE_NORMAL on NetworkOpenInformation query too.
This fixes the final problem with the Firefox installer.

svn path=/trunk/; revision=20005
2005-12-09 13:23:33 +00:00
Steven Edwards
3b5049b3a5 remove another unused folder
svn path=/trunk/; revision=20004
2005-12-09 09:22:29 +00:00
Steven Edwards
db50f7ffa0 remove test cases. sorry I ment to do this before the first commit
svn path=/trunk/; revision=20003
2005-12-09 09:19:18 +00:00
Gé van Geldorp
870c58de2c un.real <battal84@gmail.com>:
Add Turkish translation

svn path=/trunk/; revision=20002
2005-12-09 08:41:09 +00:00
Christoph von Wittich
1ea6880faa add myself to credits too.
svn path=/trunk/; revision=19998
2005-12-09 01:39:42 +00:00
Brandon Turner
0fb9a64a94 Add myself to credits. 3 more left!
svn path=/trunk/; revision=19997
2005-12-09 01:36:03 +00:00
Thomas Bluemel
7cd675cdf9 SVN maintainance: set eol-style to native
svn path=/trunk/; revision=19996
2005-12-09 01:35:29 +00:00
Christoph von Wittich
64e97bc9dc added stubs for CertGetNameStringA/W needed by eMule
(now it crashes in current winsock2 code)

svn path=/trunk/; revision=19995
2005-12-09 01:28:30 +00:00
Christoph von Wittich
59737afcce added msconfig to bootcd
svn path=/trunk/; revision=19994
2005-12-09 01:17:44 +00:00
Christoph von Wittich
ded44ae906 set eol-style:native
svn path=/trunk/; revision=19993
2005-12-09 01:13:31 +00:00
Christoph von Wittich
7b341aecfa added german translation
svn path=/trunk/; revision=19992
2005-12-09 01:08:47 +00:00
Christoph von Wittich
7d995d69cb changed formatting in german rc file
svn path=/trunk/; revision=19991
2005-12-09 00:49:48 +00:00
Hervé Poussineau
ab0692d3c7 Use correct format for arguments in debug messages
svn path=/trunk/; revision=19990
2005-12-09 00:18:28 +00:00
Christoph von Wittich
20f8a4d7f6 set eol-style:native
svn path=/trunk/; revision=19989
2005-12-08 23:55:40 +00:00
Thomas Bluemel
ca9005ad4e set eol-style to native
svn path=/trunk/; revision=19988
2005-12-08 23:56:12 +00:00
Thomas Bluemel
84649db0e9 - fixed definition of RtlImageRvaToVa
- imported the Ldr resource functions from wine and share them in lib/rtl

svn path=/trunk/; revision=19987
2005-12-08 23:55:34 +00:00
Christoph von Wittich
234544358a set eol-style:native
svn path=/trunk/; revision=19986
2005-12-08 23:48:53 +00:00
Hervé Poussineau
72be3bddcd Set right error code, when a problem occurs
svn path=/trunk/; revision=19985
2005-12-08 23:45:38 +00:00
Hervé Poussineau
f2e1575922 Use correct format for arguments in debug messages
svn path=/trunk/; revision=19984
2005-12-08 23:44:31 +00:00
Hervé Poussineau
e3d8dc3fbd Use correct format for arguments in debug messages
svn path=/trunk/; revision=19983
2005-12-08 23:44:05 +00:00
Christoph von Wittich
68f4949683 implemented: NtGdiAbortPath, NtGdiBeginPath, NtGdiEndPath, NtGdiFillPath, AbortPath, BeginPath, EndPath, FillPath, FlattenPath, GetPath, PathToRegion, SetMiterLimit, StrokeAndFillPath, StrokePath, WidenPath, GetMiterLimit and SelectClipPath
svn path=/trunk/; revision=19982
2005-12-08 23:27:34 +00:00
Steven Edwards
aeb9ca0eb4 pass the correct defines to build as a static lib
svn path=/trunk/; revision=19981
2005-12-08 23:14:04 +00:00
Steven Edwards
d693a6fb89 import libxml2-2.6.20. I did not bother with a vendor import as I don't care much about tracking changes and more recent versions don't even build on mingw
svn path=/trunk/; revision=19980
2005-12-08 22:15:30 +00:00
Gé van Geldorp
f6c92b0c0e Strings with different lengths are not equal
svn path=/trunk/; revision=19976
2005-12-08 21:32:21 +00:00
Hervé Poussineau
bac613af1e Move *PNP0F13 identifier to Standard mice section
svn path=/trunk/; revision=19975
2005-12-08 19:39:23 +00:00
Gé van Geldorp
3462372119 Don't do WM_INITDIALOG processing during window destruction...
Fixes bug 1087.

svn path=/trunk/; revision=19973
2005-12-08 19:07:14 +00:00
Gé van Geldorp
c28b545cce Self-registration of devenum.dll depends on quartz.dll, which we don't have yet.
I'll import quartz.dll on the next Wine sync

svn path=/trunk/; revision=19971
2005-12-08 18:26:21 +00:00
Magnus Olsen
d9db3b47c8 adding \n at end of DPRINT1 so the log are bit easy to reading again if some apps is calling on win32k dx api
svn path=/trunk/; revision=19970
2005-12-08 17:53:48 +00:00
Gé van Geldorp
2c2515fd46 It's possible to select an (indexed) palette into a bitfield (e.g. 16 bit
deep) DC. This palette will be used when calling CreateDIBSection with
DIB_PAL_COLORS usage. Fixes bug 1077.

svn path=/trunk/; revision=19967
2005-12-08 17:34:48 +00:00
Art Yerkes
d108d4822a Revert my patch from yesterday. Need to take more time to work on it.
svn path=/trunk/; revision=19966
2005-12-08 17:09:47 +00:00
Aleksey Bragin
2450729ff7 Respect the fact, that the driver can return NULL-pointer, instead of a string having 0 characters!
(makes third-party drivers compatibility better).
This piece left from previous commit.

svn path=/trunk/; revision=19964
2005-12-08 11:54:01 +00:00
Aleksey Bragin
4addbb9a4b Respect the fact, that the driver can return NULL-pointer, instead of a string having 0 characters!
(makes third-party drivers compatibility better)

svn path=/trunk/; revision=19963
2005-12-08 10:30:08 +00:00
Aleksey Bragin
26d7ea3aa9 Add a little more DPRINTs, they will save some debuggin-time (silent quitting in case of error isn't a good thing to do).
svn path=/trunk/; revision=19962
2005-12-08 09:51:24 +00:00
Alex Ionescu
6e977a8fa8 - Temporary fix for making locale switches possible. Patch by zebasoftis. Fixes bug 481.
svn path=/trunk/; revision=19960
2005-12-08 00:52:03 +00:00
Alex Ionescu
ba70f8d6f5 - Allow TLS usage for 1088 TLS slots, fixes part of Bug 191. Patch by Filip Navara (navaraf@reactos.com)
svn path=/trunk/; revision=19959
2005-12-08 00:38:57 +00:00
Alex Ionescu
bc31c23df9 - Add flags for NtCreateProcessEx for upcoming patch.
- Clear Tcb->Win32Thread during win32 cleanup.

svn path=/trunk/; revision=19958
2005-12-08 00:14:59 +00:00
Alex Ionescu
08ddf76021 - Silence TCPIP.
svn path=/trunk/; revision=19957
2005-12-08 00:13:11 +00:00
Filip Navara
5c18e20f2c Fix a typo.
svn path=/trunk/; revision=19956
2005-12-07 22:19:46 +00:00
Filip Navara
1115b4b42d Fix parameter passing in NtGdiCreateDC.
svn path=/trunk/; revision=19955
2005-12-07 22:11:25 +00:00
Andrew Greenwood
0638246fcd Cleanup of existing code, basic implementation of play/stop/resume states.
svn path=/trunk/; revision=19954
2005-12-07 18:37:49 +00:00
Aleksey Bragin
2e8b6ad70c Reformat to the generic style of this file (indentation=3spaces, no tabs, functions declarations generalized).
Not everything maybe fixed, but at least it isn't a mess of TABs and spaces anymore.

*No code changes, pure formatting*

svn path=/trunk/; revision=19953
2005-12-07 18:33:12 +00:00
Thomas Bluemel
db41ecbbff implemented sweeping of handle tables
svn path=/trunk/; revision=19951
2005-12-07 17:06:48 +00:00
Magnus Olsen
e6894eb9f9 bost the drv number to 5.03.2600.2180 for directx
svn path=/trunk/; revision=19948
2005-12-07 16:47:25 +00:00
Thomas Bluemel
9ba97921a6 print more detailed information for the status codes (only the simple ones)
svn path=/trunk/; revision=19947
2005-12-07 15:30:00 +00:00
Art Yerkes
f7fc8ee97d Fix firefox exit. Implement a simple work queue for possibly dispatch level
callbacks for cancel and close.

svn path=/trunk/; revision=19943
2005-12-07 08:50:27 +00:00
Magnus Olsen
8cc829e9de take care of Bug#: 1084
svn path=/trunk/; revision=19942
2005-12-07 00:06:27 +00:00
Magnus Olsen
27be3504ff Bugfix EnumDisplayDevicesA when it convert the struct DISPLAY_DEVICE to unicode it use ansi side of it. and that why it did fail.
svn path=/trunk/; revision=19941
2005-12-06 22:53:48 +00:00
Brandon Turner
0ab577bd85 Make sure that a CTRL+C doesn't carry over to another command.
svn path=/trunk/; revision=19933
2005-12-06 19:11:08 +00:00
Hartmut Birr
558bc63003 Release the rmap list lock after cleaning the head entry in MmDeleteAllRmaps. This may fix bug #1071.
svn path=/trunk/; revision=19932
2005-12-06 18:39:17 +00:00
Brandon Turner
879f273934 Actually provide __aulldiv code.
svn path=/trunk/; revision=19931
2005-12-06 16:41:53 +00:00
Magnus Olsen
5bd3bcd369 fix the Bug#: 1074 the regserver api does not exists in windows ddraw.dll, a mistake by me
svn path=/trunk/; revision=19930
2005-12-06 14:38:20 +00:00
Brandon Turner
2866f1b55b Rename uallshr_asm.s -> aullshr_asm.s.
Remove unneeded .data sections from some files
Declare allshr, aullshr, fltused.
Should fix linux problems build too.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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


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

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



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

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

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

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

modMessage
implement 
GetDeviceCapabilities

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

svn path=/trunk/; revision=18657
2005-10-21 17:15:53 +00:00
9951 changed files with 5 additions and 3259549 deletions

View File

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

View File

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

View File

@@ -1,199 +0,0 @@
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="no"/>
<!-- <xsl:output method="xml"/>-->
<!-- Will not work: <xsl:strip-space elements="*"/> -->
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>
ReactOS API Status
</TITLE>
<SCRIPT src="rapistatus.js"></SCRIPT>
<LINK rel="stylesheet" type="text/css" href="rapistatus.css"></LINK>
</HEAD>
<BODY onLoad="onLoad();">
<P>
<H1>ReactOS API Status</H1>
</P>
<P>
<TABLE>
<TR>
<TD> <INPUT type="checkbox" ID="implemented" onClick="selectImplemented();" checked="1"/> </TD>
<TD> <IMG src="i.gif"/> </TD>
<TD> Implemented </TD>
<TD width="20"/>
</TR>
<TR>
<TD> <INPUT type="checkbox" ID="unimplemented" onClick="selectUnimplemented();" checked="1"/> </TD>
<TD> <IMG src="u.gif"/> </TD>
<TD> Unimplemented </TD>
<TD width="20"/>
</TR>
</TABLE>
</P>
<DIV ID="ROOT">
<xsl:apply-templates/>
</DIV>
<P>
Legend :<BR/>
<TABLE>
<TR>
<TD> <IMG src="c.gif"/> </TD>
<TD> Component </TD>
<TD> <IMG src="i.gif"/> </TD>
<TD> Implemented </TD>
<TD> <IMG src="sc.gif"/> </TD>
<TD> Complete </TD>
<TR>
</TR>
<TD> <IMG src="f.gif"/> </TD>
<TD> Function </TD>
<TD> <IMG src="u.gif"/> </TD>
<TD> Unimplemented </TD>
<TD></TD>
<TD></TD>
</TR>
</TABLE>
</P>
</BODY>
</HTML>
</xsl:template>
<!-- component -->
<xsl:template match="/components">
<xsl:apply-templates select="component">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="components/component[@implemented_total or @unimplemented_total]">
<DIV>
<xsl:call-template name="ELEMENT">
<xsl:with-param name="class">c</xsl:with-param>
</xsl:call-template>
<xsl:apply-templates>
<xsl:with-param name="base"><xsl:value-of select="@base"/></xsl:with-param>
</xsl:apply-templates>
</DIV>
</xsl:template>
<!-- function -->
<xsl:template match="functions">
<xsl:param name="base"/>
<xsl:apply-templates select="f">
<xsl:sort select="@n"/>
<xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="functions/f">
<xsl:param name="base"/>
<DIV>
<xsl:call-template name="ELEMENT">
<xsl:with-param name="class">f</xsl:with-param>
<xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
</xsl:call-template>
<xsl:apply-templates/>
</DIV>
</xsl:template>
<!-- support templates -->
<xsl:template name="ELEMENT">
<xsl:param name="class"/>
<xsl:param name="base"/>
<xsl:param name="image"/>
<xsl:attribute name="class">
<xsl:value-of select="$class"/>
<xsl:text>_</xsl:text>
</xsl:attribute>
<xsl:call-template name="toggle"/>
<xsl:choose>
<xsl:when test="local-name() != 'component' and @i = 'true'">
<img src="i.gif" class="i"/>
</xsl:when>
<xsl:when test="local-name() != 'component' and @i = 'false'">
<img src="u.gif" class="u"/>
</xsl:when>
<xsl:when test="local-name() = 'component' and @complete >= 100">
<img src="sc.gif"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@i"/><img src="tb.gif" with="12" height="12"/>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="$image">
<img src="{$image}.gif" class="t"/>
</xsl:when>
<xsl:otherwise>
<img src="{$class}.gif" class="t"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="name"/>
<xsl:call-template name="n"/>
<xsl:call-template name="file">
<xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
</xsl:call-template>
<xsl:call-template name="status"/>
</xsl:template>
<xsl:template name="status">
<xsl:if test="@complete and @complete != 0">
<SPAN class="st">
<img src="sc.gif"/>
<xsl:text>: </xsl:text>
<xsl:value-of select="@complete"/>
<xsl:text>%</xsl:text>
</SPAN>
</xsl:if>
<xsl:if test="@implemented_total">
<SPAN class="st">
<img src="i.gif"/>: <xsl:value-of select="@implemented_total"/>
</SPAN>
</xsl:if>
<xsl:if test="@unimplemented_total">
<SPAN class="st">
<img src="u.gif"/>: <xsl:value-of select="@unimplemented_total"/>
</SPAN>
</xsl:if>
</xsl:template>
<xsl:template name="toggle">
<xsl:choose>
<xsl:when test="local-name() = 'component'">
<IMG src="tp.gif" class="t"/>
</xsl:when>
<xsl:otherwise>
<IMG src="tb.gif"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="name">
<xsl:if test="@name">
<SPAN class="l"><xsl:value-of select="@name"/></SPAN>
</xsl:if>
</xsl:template>
<xsl:template name="n">
<xsl:if test="@n">
<SPAN class="l"><xsl:value-of select="@n"/></SPAN>
</xsl:if>
</xsl:template>
<xsl:template name="file">
<xsl:param name="base"/>
<xsl:if test="@f">
<SPAN class="h"><xsl:value-of select="$base"/><xsl:value-of select="@f"/></SPAN>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
# $Id: makefile,v 1.1 2004/02/06 08:21:54 fireball Exp $
# $Id$
#
# ReactOS Operating System - .def converter for HAL and the kernel
#

View File

@@ -1,4 +1,4 @@
/* $Id: genntdll.c,v 1.1 2004/02/06 08:21:56 fireball Exp $
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS version of ntdll

View File

@@ -1,4 +1,4 @@
# $Id: makefile,v 1.1 2004/02/06 08:21:56 fireball Exp $
# $Id$
#
# ReactOS Operating System - MSVC6 Zw functions stubs to call generator
#

View File

@@ -1,608 +0,0 @@
// irc_test.cpp
#ifdef _MSC_VER
#pragma warning ( disable : 4786 )
#endif//_MSC_VER
#include <time.h>
#include <stdio.h>
#include "File.h"
#include "ssprintf.h"
#include "trim.h"
#include "IRCClient.h"
#include "config.h"
using std::string;
using std::vector;
//vector<string> tech, module, dev, stru, period, status, type, func, irql, curse, cursecop;
class List
{
public:
string name;
bool macro;
std::vector<std::string> list;
string tag;
int last;
List() { last = -1; }
List ( const char* _name, bool _macro ) : name(_name), macro(_macro)
{
tag = ssprintf("%%%s%%",_name);
last = -1;
}
};
vector<List> lists;
vector<string> ops;
void ImportList ( const char* listname, bool macro )
{
lists.push_back ( List ( listname, macro ) );
List& list = lists.back();
File f ( ssprintf("%s.txt",listname).c_str(), "r" );
string line;
while ( f.next_line ( line, true ) )
list.list.push_back ( line );
}
const char* ListRand ( List& list )
{
vector<string>& l = list.list;
if ( !l.size() )
{
static string nothing;
nothing = ssprintf ( "<list '%s' empty>", list.name.c_str() );
return nothing.c_str();
}
else if ( l.size() == 1 )
return l[0].c_str();
int sel = list.last;
while ( sel == list.last )
sel = rand()%l.size();
list.last = sel;
return l[sel].c_str();
}
const char* ListRand ( int i )
{
return ListRand ( lists[i] );
}
int GetListIndex ( const char* listname )
{
for ( int i = 0; i < lists.size(); i++ )
{
if ( !stricmp ( lists[i].name.c_str(), listname ) )
return i;
}
return -1;
}
List& GetList ( const char* listname )
{
return lists[GetListIndex(listname)];
}
const char* ListRand ( const char* list )
{
int i = GetListIndex ( list );
if ( i < 0 )
return NULL;
return ListRand(i);
}
string TaggedReply ( const char* listname )
{
string t = ListRand(listname);
string out;
const char* p = t.c_str();
while ( *p )
{
if ( *p == '%' )
{
bool found = false;
for ( int i = 0; i < lists.size() && !found; i++ )
{
if ( lists[i].macro && !strnicmp ( p, lists[i].tag.c_str(), lists[i].tag.size() ) )
{
out += ListRand(i);
p += lists[i].tag.size();
found = true;
}
}
if ( !found )
out += *p++;
}
const char* p2 = strchr ( p, '%' );
if ( !p2 )
p2 = p + strlen(p);
if ( p2 > p )
{
out += string ( p, p2-p );
p = p2;
}
}
return out;
}
string gobble ( string& s, const char* delim )
{
const char* p = s.c_str();
p += strspn ( p, delim );
const char* p2 = strpbrk ( p, delim );
if ( !p2 ) p2 = p + strlen(p);
string out ( p, p2-p );
p2 += strspn ( p2, delim );
s = string ( p2 );
return out;
}
bool isop ( const string& who )
{
for ( int i = 0; i < ops.size(); i++ )
{
if ( ops[i] == who )
return true;
}
return false;
}
// do custom stuff with the IRCClient from your subclass via the provided callbacks...
class MyIRCClient : public IRCClient
{
File flog;
clock_t brake_silence;
// wait another 30 mins to brake the silence
#define NOIDLE brake_silence = clock () + 30 * CLK_TCK * 60
void CheckIdle ( void )
{
while (true) // _inRun
{
while (clock() < brake_silence)
Sleep(10000);
string out = TaggedReply("idle");
if ( !strnicmp ( out.c_str(), "/me ", 4 ) )
Action ( CHANNEL, &out[4] );
else
PrivMsg ( CHANNEL, out );
NOIDLE;
}
}
static void THREADAPI CallMe ( MyIRCClient* irc )
{
irc->CheckIdle();
}
public:
MyIRCClient()
{
NOIDLE;
ThreadPool::Instance().Launch ( (ThreadPoolFunc*)MyIRCClient::CallMe, this );
flog.open ( "arch.log", "r+" );
}
// see IRCClient.h for documentation on these callbacks...
bool OnConnected()
{
return true;
}
bool OnJoin ( const string& user, const string& channel )
{
//printf ( "user '%s' joined channel '%s'\n", user.c_str(), channel.c_str() );
return true;
}
bool OnPart ( const std::string& user, const std::string& channel )
{
std::vector<std::string>::iterator it = ops.begin();
for ( ; it != ops.end(); it++ )
{
if ( *it == user )
{
printf ( "remove '%s' to ops list\n", user.c_str() );
ops.erase ( it );
}
}
return true;
}
bool OnNick ( const std::string& oldNick, const std::string& newNick )
{
for ( int i = 0; i < ops.size(); i++ )
{
if ( ops[i] == oldNick )
{
printf ( "op '%s' changed nick to '%s'\n", oldNick.c_str(), newNick.c_str() );
ops[i] = newNick;
return true;
}
}
return true;
}
bool OnEndChannelUsers ( const string& channel )
{
return true;
}
bool OnPrivMsg ( const string& from, const string& text )
{
//flog.flush();
printf ( "<%s> %s\n", from.c_str(), text.c_str() );
flog.printf ( "<%s> %s\n", from.c_str(), text.c_str() );
if ( !isop(from) )
return PrivMsg ( from, "hey, your tongue doesn't belong there!" );
else if ( strnicmp ( text.c_str(), "!say ", 5 ) )
return PrivMsg ( from, "Talk to me on normal Chanel" );
string say = trim(&text[5]);
if ( !strnicmp ( say.c_str(), "/me ", 4 ) )
return Action ( CHANNEL, trim(&say[4]) );
else
return PrivMsg ( CHANNEL, trim(say) );
}
bool OnChannelMsg ( const string& channel, const string& from, const string& text )
{
fflush ( flog );
printf ( "%s <%s> %s\n", channel.c_str(), from.c_str(), text.c_str() );
flog.printf ( "%s <%s> %s\n", channel.c_str(), from.c_str(), text.c_str() );
NOIDLE; // add 30 mins till idle
bool found_name = false;
string text2 ( text );
strlwr ( &text2[0] );
if ( !strnicmp ( text.c_str(), BOTNAME, strlen(BOTNAME) ) )
found_name = true;
string s ( text );
if ( found_name )
gobble ( s, " \t" ); // remove bot name
// command
if ( s[0] == '!' )
{
bool from_op = isop(from);
string cmd = gobble ( s, " \t" );
// from all
if ( false && cmd == "!svn" && from == "TechBot" ) // || cmd == "!help" && !TechBotOnline
{
PrivMsg ( channel, "For my help try !what." );
}
// from normel user
else if ( !from_op )
{
if ( cmd == "!grovel" )
{
string out = ssprintf(TaggedReply("nogrovel").c_str(),from.c_str());
if ( !strnicmp ( out.c_str(), "/me ", 4 ) )
return Action ( channel, &out[4] );
else
return PrivMsg ( channel, out );
}
else if ( cmd == "!what" )
{
return PrivMsg ( channel, ssprintf("For you, %s, I only support the \"!grovel\" command.", from.c_str()).c_str() );
}
else if ( cmd == "!grovel" || cmd == "!kiss" || cmd == "!hug"
|| cmd == "!give" || cmd == "!what" || cmd == "!add" || cmd == "!remove" )
{
PrivMsg ( channel, ssprintf("%s: I only take commands from ops",from.c_str()) );
}
}
// from op
else if ( cmd == "!grovel" )
{
string out = ssprintf(TaggedReply("grovel").c_str(),from.c_str());
if ( !strnicmp ( out.c_str(), "/me ", 4 ) )
return Action ( channel, &out[4] );
else
return PrivMsg ( channel, out );
}
else if ( cmd == "!kiss" )
{
if ( s.size() )
return Action ( channel, ssprintf("kisses %s",s.c_str()) );
else
return PrivMsg ( channel, ssprintf("%s: huh?",from.c_str()) );
}
else if ( cmd == "!hug" )
{
if ( s.size() )
return Action ( channel, ssprintf("hugs %s",s.c_str()) );
else
return PrivMsg ( channel, ssprintf("%s: huh?",from.c_str()) );
}
else if ( cmd == "!give" )
{
string who = gobble(s," \t");
if ( who.size() && s.size() )
return Action ( channel, ssprintf("gives %s a %s",who.c_str(),s.c_str()) );
else
return PrivMsg ( channel, ssprintf("%s: huh?",from.c_str()) );
}
else if ( cmd == "!what" )
{
PrivMsg ( channel, "For ops I support the following commands:" );
PrivMsg ( channel, "!grovel" );
PrivMsg ( channel, "!kiss" );
PrivMsg ( channel, "!hug" );
PrivMsg ( channel, "!give" );
PrivMsg ( channel, "!say (the input is a private message)" );
PrivMsg ( channel, "!add" );
PrivMsg ( channel, "!remove" );
PrivMsg ( channel, " - for more info see wiki" );
}
else if ( cmd == "!add" )
{
string listname = gobble ( s, " \t" );
int i = GetListIndex ( listname.c_str() );
if ( i == -1 )
return PrivMsg ( channel, ssprintf("%s: I don't have a list named '%s'",from.c_str(),listname.c_str()) );
List& list = lists[i];
if ( s[0] == '\"' || s[0] == '\'' )
{
char delim = s[0];
const char* p = &s[1];
const char* p2 = strchr ( p, delim );
if ( !p2 )
return PrivMsg ( channel, ssprintf("%s: Couldn't add, unmatched quotes",from.c_str()) );
s = string ( p, p2-p );
}
for ( i = 0; i < list.list.size(); i++ )
{
if ( list.list[i] == s )
return PrivMsg ( channel, ssprintf("%s: entry already exists in list '%s'",from.c_str(),listname.c_str()) );
}
if ( !stricmp ( listname.c_str(), "curse" ) )
strlwr ( &s[0] );
list.list.push_back ( s );
{
File f ( ssprintf("%s.txt",list.name.c_str()), "w" );
for ( i = 0; i < list.list.size(); i++ )
f.printf ( "%s\n", list.list[i].c_str() );
}
return PrivMsg ( channel, ssprintf("%s: entry added to list '%s'",from.c_str(),listname.c_str()) );
}
else if ( cmd == "!remove" )
{
string listname = gobble ( s, " \t" );
int i = GetListIndex ( listname.c_str() );
if ( i == -1 )
return PrivMsg ( channel, ssprintf("%s: I don't have a list named '%s'",from.c_str(),listname.c_str()) );
List& list = lists[i];
if ( s[0] == '\"' || s[0] == '\'' )
{
char delim = s[0];
const char* p = &s[1];
const char* p2 = strchr ( p, delim );
if ( !p2 )
return PrivMsg ( channel, ssprintf("%s: Couldn't add, unmatched quotes",from.c_str()) );
s = string ( p, p2-p );
}
std::vector<std::string>::iterator it = list.list.begin();
for ( ; it != list.list.end(); it++ )
{
if ( *it == s )
{
list.list.erase ( it );
{
File f ( ssprintf("%s.txt",list.name.c_str()), "w" );
it = list.list.begin();
for ( ; it < list.list.end(); it++ )
f.printf ( "%s\n", it->c_str() );
}
return PrivMsg ( channel, ssprintf("%s: entry removed from list '%s'",from.c_str(),listname.c_str()) );
}
}
return PrivMsg ( channel, ssprintf("%s: entry doesn't exist in list '%s'",from.c_str(),listname.c_str()) );
}
else
{
if (found_name)
return PrivMsg ( channel, ssprintf("%s: huh?",from.c_str()) );
}
} // if (command)
bool found_curse = false;
static vector<string>& curse = GetList("curse").list;
text2 = " " + text2 + " ";
for ( int i = 0; i < curse.size() && !found_curse; i++ )
{
if ( strstr ( text2.c_str(), curse[i].c_str() ) )
found_curse = true;
}
if ( found_curse )
{
static List& cursecop = GetList("cursecop");
return PrivMsg ( channel, ssprintf("%s: %s", from.c_str(), ListRand(cursecop)) );
}
string botname (BOTNAME);
strlwr ( &botname[0] );
//botname = " " + botname + " ";
if ( strstr(text2.c_str(), botname.c_str()) || strstr(text2.c_str(), " arch ") || found_name )
{
string out = ssprintf("%s: %s", from.c_str(), TaggedReply("tech").c_str());
flog.printf ( "TECH-REPLY: %s\n", out.c_str() );
if ( !strnicmp ( out.c_str(), "/me ", 4 ) )
return Action ( channel, &out[4] );
else
return PrivMsg ( channel, out );
}
return true;
} // On Chanel Message
bool OnChannelMode ( const string& channel, const string& mode )
{
//printf ( "OnChannelMode(%s,%s)\n", channel.c_str(), mode.c_str() );
return true;
}
bool OnUserModeInChannel ( const string& src, const string& channel, const string& mode, const string& target )
{
printf ( "OnUserModeInChannel(%s,%s,%s,%s)\n", src.c_str(), channel.c_str(), mode.c_str(), target.c_str() );
const char* p = mode.c_str();
if ( !p )
return true;
while ( *p )
{
switch ( *p++ )
{
case '+':
while ( *p != 0 && *p != ' ' )
{
if ( *p == 'o' )
{
printf ( "adding '%s' to ops list\n", target.c_str() );
ops.push_back ( target );
}
break;
}
break;
case '-':
while ( *p != 0 && *p != ' ' )
{
if ( *p == 'o' )
{
std::vector<std::string>::iterator it = ops.begin();
for ( ; it != ops.end(); it++ )
{
if ( *it == target )
{
printf ( "remove '%s' to ops list\n", target.c_str() );
ops.erase ( it );
}
}
break;
}
}
}
}
return true;
}
bool OnMode ( const string& user, const string& mode )
{
//printf ( "OnMode(%s,%s)\n", user.c_str(), mode.c_str() );
return true;
}
bool OnChannelUsers ( const string& channel, const vector<string>& users )
{
//printf ( "[%s has %i users]: ", channel.c_str(), users.size() );
for ( int i = 0; i < users.size(); i++ )
{
if ( users[i][0] == '@' )
ops.push_back ( &users[i][1] );
/*if ( i )
printf ( ", " );
printf ( "%s", users[i].c_str() );*/
}
//printf ( "\n" );
return true;
}
bool OnKick ( void )
{
Join(CHANNEL);
return true;
}
bool OnBanned ( const std::string& channel )
{
Sleep(10000);
return Join(CHANNEL);
}
};
int main ( int argc, char** argv )
{
srand ( time(NULL) );
ImportList ( "dev", true );
ImportList ( "func", true );
ImportList ( "dev", true );
ImportList ( "func", true );
ImportList ( "irql", true );
ImportList ( "module", true );
ImportList ( "period", true );
ImportList ( "status", true );
ImportList ( "stru", true );
ImportList ( "type", true );
ImportList ( "tech", false );
ImportList ( "curse", false );
ImportList ( "cursecop", false );
ImportList ( "grovel", false );
ImportList ( "nogrovel", false );
ImportList ( "idle", false );
#ifdef _DEBUG
printf ( "initializing IRCClient debugging\n" );
IRCClient::SetDebug ( true );
#endif//_DEBUG
while (true)
{
printf ( "calling suStartup()\n" );
suStartup();
printf ( "creating IRCClient object\n" );
MyIRCClient irc;
printf ( "connecting to freenode\n" );
if ( !irc.Connect ( SERVER ) ) // irc.freenode.net
{
printf ( "couldn't connect to server\n" );
Sleep(10000);
continue;
}
printf ( "sending user command\n" );
if ( !irc.User ( BOTNAME, "reactos.com", SERVER, "ArchBlackmann" ) )
{
printf ( "USER command failed, retying ...\n" );
Sleep(10000);
continue;
}
printf ( "sending nick\n" );
if ( !irc.Nick ( BOTNAME ) )
{
printf ( "NICK command failed, retying ...\n" );
Sleep(10000);
continue;
}
printf ( "setting mode\n" );
if ( !irc.Mode ( MODE ) )
{
printf ( "MODE command failed, retying ...\n" );
Sleep(10000);
continue;
}
printf ( "joining channel\n" );
if ( !irc.Join ( CHANNEL ) )
{
printf ( "JOIN command failed, retying ...\n" );
Sleep(10000);
continue;
}
printf ( "entering irc client processor\n" );
irc.Run ( false ); // do the processing in this thread...
}
return 0;
}

View File

@@ -1,216 +0,0 @@
# Microsoft Developer Studio Project File - Name="ArchBlackmann" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=ArchBlackmann - 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 "ArchBlackmann.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 "ArchBlackmann.mak" CFG="ArchBlackmann - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "ArchBlackmann - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "ArchBlackmann - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "ArchBlackmann - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "ArchBlackmann - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "ArchBlackmann - Win32 Release"
# Name "ArchBlackmann - Win32 Debug"
# Begin Source File
SOURCE=.\ArchBlackmann.cpp
# End Source File
# Begin Source File
SOURCE=.\auto_ptr.h
# End Source File
# Begin Source File
SOURCE=.\auto_vector.h
# End Source File
# Begin Source File
SOURCE=.\base64.cpp
# End Source File
# Begin Source File
SOURCE=.\base64.h
# End Source File
# Begin Source File
SOURCE=.\chomp.cpp
# End Source File
# Begin Source File
SOURCE=.\chomp.h
# End Source File
# Begin Source File
SOURCE=.\config.h
# End Source File
# Begin Source File
SOURCE=.\cram_md5.cpp
# End Source File
# Begin Source File
SOURCE=.\cram_md5.h
# End Source File
# Begin Source File
SOURCE=.\File.cpp
# End Source File
# Begin Source File
SOURCE=.\File.h
# End Source File
# Begin Source File
SOURCE=.\IRCClient.cpp
# End Source File
# Begin Source File
SOURCE=.\IRCClient.h
# End Source File
# Begin Source File
SOURCE=.\MD5.cpp
# End Source File
# Begin Source File
SOURCE=.\MD5.h
# End Source File
# Begin Source File
SOURCE=.\panic.cpp
# End Source File
# Begin Source File
SOURCE=.\panic.h
# End Source File
# Begin Source File
SOURCE=.\QueueT.h
# End Source File
# Begin Source File
SOURCE=.\Reli.h
# End Source File
# Begin Source File
SOURCE=.\ReliMT.cpp
# End Source File
# Begin Source File
SOURCE=.\ReliMT.h
# End Source File
# Begin Source File
SOURCE=.\SockUtils.cpp
# End Source File
# Begin Source File
SOURCE=.\SockUtils.h
# End Source File
# Begin Source File
SOURCE=.\SplitJoin.cpp
# End Source File
# Begin Source File
SOURCE=.\SplitJoin.h
# End Source File
# Begin Source File
SOURCE=.\ssprintf.cpp
# End Source File
# Begin Source File
SOURCE=.\ssprintf.h
# End Source File
# Begin Source File
SOURCE=.\ThreadPool.cpp
# End Source File
# Begin Source File
SOURCE=.\ThreadPool.h
# End Source File
# Begin Source File
SOURCE=.\trim.cpp
# End Source File
# Begin Source File
SOURCE=.\trim.h
# End Source File
# Begin Source File
SOURCE=.\verify.h
# End Source File
# End Target
# End Project

View File

@@ -1,29 +0,0 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "ArchBlackmann"=.\ArchBlackmann.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,265 +0,0 @@
// File.cpp
// (C) 2002-2004 Royce Mitchell III
// Dually licensed under BSD & LGPL
#ifdef _MSC_VER
#pragma warning ( disable : 4786 )
#endif//_MSC_VER
#include <stdio.h>
#include <stdarg.h>
#include "File.h"
#ifndef nelem
#define nelem(x) ( sizeof(x) / sizeof(x[0]) )
#endif//nelem
typedef File::filesize_t filesize_t;
typedef File::fileoff_t fileoff_t;
fileoff_t File::seek ( fileoff_t offset )
{
#ifdef WIN32
if ( _f->_flag & _IOWRT ) // is there pending output?
fflush ( _f );
// reset "buffered input" variables
_f->_cnt = 0;
_f->_ptr = _f->_base;
// make sure we're going forward
if ( _f->_flag & _IORW )
_f->_flag &= ~(_IOREAD|_IOWRT);
return _lseeki64 ( _fileno(_f), offset, SEEK_SET );
#else//UNIX
return lseek64 ( fileno(_f), offset, SEEK_SET );
#endif
}
std::string File::getline ( bool strip_crlf /*= false*/ )
{
std::string s = "";
char buf[256];
for ( ;; )
{
*buf = 0;
fgets ( buf, nelem(buf)-1, _f );
if ( !*buf )
break;
s += buf;
if ( strchr ( "\r\n", buf[strlen(buf)-1] ) )
break;
}
if ( strip_crlf && s.size() )
{
char* p = strpbrk ( &s[0], "\r\n" );
if ( p )
{
*p = '\0';
s.resize ( p-&s[0] );
}
}
return s;
}
std::wstring File::wgetline ( bool strip_crlf /*= false*/ )
{
std::wstring s = L"";
wchar_t buf[256];
for ( ;; )
{
*buf = 0;
fgetws ( buf, nelem(buf)-1, _f );
if ( !*buf )
break;
s += buf;
if ( wcschr ( L"\r\n", buf[wcslen(buf)-1] ) )
break;
}
if ( strip_crlf && s.size() )
{
wchar_t* p = wcspbrk ( &s[0], L"\r\n" );
if ( p )
{
*p = L'\0';
s.resize ( (p-&s[0])/sizeof(wchar_t) );
}
}
return s;
}
// this function searches for the next end-of-line and puts all data it
// finds until then in the 'line' parameter.
//
// call continuously until the function returns false ( no more data )
bool File::next_line ( std::string& line, bool strip_crlf )
{
line = getline(strip_crlf);
// indicate that we're done *if*:
// 1) there's no more data, *and*
// 2) we're at the end of the file
return line.size()>0 || !eof();
}
bool File::next_line ( std::wstring& line, bool strip_crlf )
{
line = wgetline ( strip_crlf );
return line.size()>0 || !eof();
}
/*
example usage:
bool mycallback ( const std::string& line, int line_number, long lparam )
{
std::cout << line << std::endl;
return true; // continue enumeration
}
File f ( "file.txt", "rb" ); // open file for binary read-only ( i.e. "rb" )
f.enum_lines ( mycallback, 0, true );
*/
/*bool File::enum_lines ( bool (*callback)(const std::string& line, int line_number, long lparam), long lparam, bool strip_crlf )
{
int line_number = 0;
for ( ;; )
{
std::string s = getline(strip_crlf);
line_number++;
if ( !s.size() )
{
if ( eof() )
return true;
else
continue;
}
if ( !(*callback) ( s, line_number, lparam ) )
return false;
}
}*/
filesize_t File::length() const
{
#ifdef WIN32
return _filelengthi64 ( _fileno(_f) );
#elif defined(UNIX)
struct stat64 file_stat;
verify(fstat64(fileno(_f), &file_stat) == 0);
return file_stat.st_size;
#endif
}
void File::close()
{
if ( _f )
{
fclose(_f);
_f = 0;
}
}
void File::printf ( const char* fmt, ... )
{
va_list arg;
int done;
va_start(arg, fmt);
assert(_f);
done = vfprintf ( _f, fmt, arg );
va_end(arg);
}
/*static*/ bool File::LoadIntoString ( std::string& s, const std::string& filename )
{
File in ( filename, "rb" );
if ( !in.isopened() )
return false;
filesize_t flen = in.length();
size_t len = size_t(flen);
if ( len != flen )
return false; // file too big...
s.resize ( len + 1 );
if ( !in.read ( &s[0], len ) )
return false;
s[len] = '\0';
s.resize ( len );
return true;
}
/*static*/ bool File::LoadIntoString ( std::string& s, const std::wstring& filename )
{
File in ( filename, L"rb" );
if ( !in.isopened() )
return false;
filesize_t flen = in.length();
size_t len = size_t(flen);
if ( len != flen )
return false; // file too big...
s.resize ( len + 1 );
if ( !in.read ( &s[0], len ) )
return false;
s[len] = '\0';
s.resize ( len );
return true;
}
/*static*/ bool File::SaveFromString ( const std::string& filename, const std::string& s, bool binary )
{
File out ( filename, binary ? "wb" : "w" );
if ( !out.isopened() )
return false;
out.write ( s.c_str(), s.size() );
return true;
}
/*static*/ bool File::SaveFromString ( const std::wstring& filename, const std::string& s, bool binary )
{
File out ( filename, binary ? L"wb" : L"w" );
if ( !out.isopened() )
return false;
out.write ( s.c_str(), s.size() );
return true;
}
/*static*/ bool File::SaveFromBuffer ( const std::string& filename, const char* buf, size_t buflen, bool binary )
{
File out ( filename, binary ? "wb" : "w" );
if ( !out.isopened() )
return false;
out.write ( buf, buflen );
return true;
}
/*static*/ bool File::SaveFromBuffer ( const std::wstring& filename, const char* buf, size_t buflen, bool binary )
{
File out ( filename, binary ? L"wb" : L"w" );
if ( !out.isopened() )
return false;
out.write ( buf, buflen );
return true;
}
/*static*/ std::string File::TempFileName ( const std::string& prefix )
{
#ifdef WIN32
std::string s ( _tempnam ( ".", prefix.c_str() ) );
return s;
#else
// FIXME
return string("");
#endif
}
/*static*/ std::wstring File::TempFileName ( const std::wstring& prefix )
{
#ifdef WIN32
std::wstring s ( _wtempnam ( L".", prefix.c_str() ) );
return s;
#else
// FIXME
return std::wstring(L"");
#endif
}

View File

@@ -1,173 +0,0 @@
// File.h
// (C) 2002-2004 Royce Mitchell III
// Dually licensed under BSD & LGPL
#ifndef FILE_H
#define FILE_H
#ifdef WIN32
# include <stdio.h> // fgetc
# include <io.h>
#elif defined(UNIX)
# include <sys/stat.h>
# include <unistd.h>
#endif
#include <assert.h>
#include <string>
class File
{
public:
#ifdef WIN32
typedef __int64 fileoff_t;
typedef unsigned __int64 filesize_t;
#else//_MSC_VER
typedef __off64_t fileoff_t;
typedef __size64_t filesize_t;
#endif//_MSC_VER
File() : _f(0)
{
}
File ( const std::string& filename, const char* mode ) : _f(0)
{
open ( filename, mode );
}
File ( const std::wstring& filename, const wchar_t* mode ) : _f(0)
{
open ( filename, mode );
}
File ( const char* filename, const char* mode ) : _f(0)
{
open ( filename, mode );
}
File ( const wchar_t* filename, const wchar_t* mode ) : _f(0)
{
open ( filename, mode );
}
~File()
{
close();
}
bool open ( const std::string& filename, const char* mode )
{
assert ( !_f );
return ( _f = fopen ( filename.c_str(), mode ) ) != 0;
}
bool open ( const std::wstring& filename, const wchar_t* mode )
{
assert ( !_f );
return ( _f = _wfopen ( filename.c_str(), mode ) ) != 0;
}
bool open ( const char* filename, const char* mode )
{
assert ( !_f );
return ( _f = fopen ( filename, mode ) ) != 0;
}
bool open ( const wchar_t* filename, const wchar_t* mode )
{
assert ( !_f );
return ( _f = _wfopen ( filename, mode ) ) != 0;
}
fileoff_t seek ( fileoff_t offset );
int get()
{
return fgetc ( _f );
}
bool put ( int c )
{
return fputc ( c, _f ) != EOF;
}
std::string getline ( bool strip_crlf = false );
std::wstring wgetline ( bool strip_crlf = false );
// this function searches for the next end-of-line and puts all data it
// finds until then in the 'line' parameter.
//
// call continuously until the function returns false ( no more data )
bool next_line ( std::string& line, bool strip_crlf );
bool next_line ( std::wstring& line, bool strip_crlf );
bool read ( void* data, unsigned len )
{
return len == fread ( data, 1, len, _f );
}
bool write ( const void* data, unsigned len )
{
return len == fwrite ( data, 1, len, _f );
}
bool write ( const std::string& data )
{
return data.length() == fwrite ( data.c_str(), 1, data.length(), _f );
}
bool write ( const std::wstring& data )
{
return data.length() == fwrite ( data.c_str(), sizeof(data[0]), data.length(), _f );
}
filesize_t length() const;
void close();
bool isopened() const
{
return _f != 0;
}
bool is_open() const
{
return _f != 0;
}
bool eof() const
{
return feof(_f) ? true : false;
}
FILE* operator * ()
{
return _f;
}
operator FILE*()
{
return _f;
}
void printf ( const char* fmt, ... );
void printf ( const wchar_t* fmt, ... );
static bool LoadIntoString ( std::string& s, const std::string& filename );
static bool LoadIntoString ( std::string& s, const std::wstring& filename );
static bool SaveFromString ( const std::string& filename, const std::string& s, bool binary );
static bool SaveFromString ( const std::wstring& filename, const std::string& s, bool binary );
static bool SaveFromBuffer ( const std::string& filename, const char* buf, size_t buflen, bool binary );
static bool SaveFromBuffer ( const std::wstring& filename, const char* buf, size_t buflen, bool binary );
static std::string TempFileName ( const std::string& prefix );
static std::wstring TempFileName ( const std::wstring& prefix );
private:
File(const File&) {}
const File& operator = ( const File& ) { return *this; }
FILE * _f;
};
#endif//FILE_H

View File

@@ -1,418 +0,0 @@
// IRCClient.cpp
// This file is (C) 2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#ifdef _MSC_VER
#pragma warning ( disable : 4786 )
#endif//_MSC_VER
#include <vector>
#include <sstream>
#include "IRCClient.h"
#include "MD5.h"
#include "cram_md5.h"
#include "trim.h"
#include "chomp.h"
#include "SplitJoin.h"
#include "base64.h"
#include "config.h"
using std::string;
using std::stringstream;
using std::vector;
bool IRCClient::_debug = true;
// see rfc1459 for IRC-Protocoll Reference
IRCClient::IRCClient()
: _timeout(10*60*1000), _inRun(false)
{
}
bool IRCClient::Connect ( const string& server, short port )
{
string buf;
Close();
Attach ( suTcpSocket() );
if ( !suConnect ( *this, server.c_str(), port ) )
return false;
return true;
}
bool
IRCClient::User ( const string& user, const string& mode,
const string& network, const string& realname )
{
string buf;
buf = "USER " + user + " \"" + mode + "\" \"" + network + "\" :" + realname + "\n";
return Send ( buf );
}
bool
IRCClient::Nick ( const string& nick )
{
_nick = nick;
Send ( "NICK " + _nick + "\n" );
PrivMsg ("NickServ", "IDENTIFY " + (string)PASS);
return true;
}
bool
IRCClient::Mode ( const string& mode )
{
return Send ( "MODE " + _nick + " " + mode + "\n" );
}
bool
IRCClient::Names ( const string& channel )
{
return Send ( "NAMES " + channel + "\n" );
}
bool
IRCClient::Mode ( const string& channel, const string& mode, const string& target )
{
return Send ( "MODE " + channel + " " + mode + " " + target + "\n" );
}
bool
IRCClient::Join ( const string& channel )
{
return Send("JOIN " + channel + "\n");
}
bool
IRCClient::PrivMsg ( const string& to, const string& text )
{
return Send ( "PRIVMSG " + to + " :" + text + '\n' );
}
bool
IRCClient::Action ( const string& to, const string& text )
{
return Send ( "PRIVMSG " + to + " :" + (char)1 + "ACTION " + text + (char)1 + '\n' );
}
bool
IRCClient::Part ( const string& channel, const string& text )
{
return Send ( "PART " + channel + " :" + text + "\n" );
}
bool
IRCClient::Quit ( const string& text )
{
return Send( "QUIT :" + text + "\n");
}
bool IRCClient::_Recv ( string& buf )
{
bool b = (recvUntil ( buf, '\n', _timeout ) > 0);
if ( b && _debug )
{
printf ( ">> %s", buf.c_str() );
if ( buf[buf.length()-1] != '\n' )
printf ( "\n" );
}
return b;
}
bool IRCClient::Send ( const string& buf )
{
if ( _debug )
{
printf ( "<< %s", buf.c_str() );
if ( buf[buf.length()-1] != '\n' )
printf ( "\n" );
}
return ( buf.length() == (size_t)send ( *this, buf.c_str(), buf.length(), 0 ) );
}
bool IRCClient::OnPing( const string& text )
{
return Send( "PONG " + text + "\n" );
}
int THREADAPI IRCClient::Callback ( IRCClient* irc )
{
return irc->Run ( false );
}
int IRCClient::Run ( bool launch_thread )
{
if ( (SOCKET)*this == INVALID_SOCKET )
return 0;
if ( _inRun ) return 1;
if ( launch_thread )
{
ThreadPool::Instance().Launch ( (ThreadPoolFunc*)IRCClient::Callback, this );
return 1;
}
_inRun = true;
if ( _debug ) printf ( "IRCClient::Run() - waiting for responses\n" );
string buf;
while ( _Recv(buf) )
{
if ( !strnicmp ( buf.c_str(), "NOTICE ", 7 ) )
{
//printf ( "recv'd NOTICE msg...\n" );
// TODO...
//OnAuth (
}
else if ( !strnicmp ( buf.c_str(), "PING ", 5 ) )
{
const char* p = &buf[5]; // point to first char after "PING "
while ( *p == ':' ) // then read past the colons
p++;
const char* p2 = strpbrk ( p, "\r\n" ); // find the end of line
string text ( p, p2-p ); // and set the text
OnPing( text );
}
else if ( buf[0] == ':' )
{
const char* p = &buf[1]; // skip first colon...
const char* p2 = strpbrk ( p, " !" );
if ( !p2 )
{
printf ( "!!!:OnRecv failure 0: ", buf.c_str() );
continue;
}
string src ( p, p2-p );
if ( !src.length() )
{
printf ( "!!!:OnRecv failure 0.5: %s", buf.c_str() );
continue;
}
p = p2 + 1;
if ( *p2 == '!' )
{
p2 = strchr ( p, ' ' );
if ( !p2 )
{
printf ( "!!!:OnRecv failure 1: %s", buf.c_str() );
continue;
}
//string srchost ( p, p2-p );
p = p2 + 1;
}
p2 = strchr ( p, ' ' );
if ( !p2 )
{
printf ( "!!!:OnRecv failure 2: %s", buf.c_str() );
continue;
}
string cmd ( p, p2-p );
p = p2 + 1;
p2 = strpbrk ( p, " :" );
if ( !p2 )
{
printf ( "!!!:OnRecv failure 3: %s", buf.c_str() );
continue;
}
string tgt ( p, p2-p );
p = p2 + 1;
p += strspn ( p, " " );
if ( *p == '=' )
{
p++;
p += strspn ( p, " " );
}
if ( *p == ':' )
p++;
p2 = strpbrk ( p, "\r\n" );
if ( !p2 )
{
printf ( "!!!:OnRecv failure 4: %s", buf.c_str() );
continue;
}
string text ( p, p2-p );
strlwr ( &cmd[0] );
if ( cmd == "privmsg" )
{
if ( !tgt.length() )
{
printf ( "!!!:OnRecv failure 5 (PRIVMSG w/o target): %s", buf.c_str() );
continue;
}
if ( *p == 1 )
{
p++;
p2 = strchr ( p, ' ' );
if ( !p2 ) p2 = p + strlen(p);
cmd = string ( p, p2-p );
strlwr ( &cmd[0] );
p = p2 + 1;
p2 = strchr ( p, 1 );
if ( !p2 )
{
printf ( "!!!:OnRecv failure 6 (no terminating \x01 for initial \x01 found: %s", buf.c_str() );
continue;
}
text = string ( p, p2-p );
if ( cmd == "action" )
{
if ( tgt[0] == '#' )
OnChannelAction ( tgt, src, text );
else
OnPrivAction ( src, text );
}
else
{
printf ( "!!!:OnRecv failure 7 (unrecognized \x01 command '%s': %s", cmd.c_str(), buf.c_str() );
continue;
}
}
else
{
if ( tgt[0] == '#' )
OnChannelMsg ( tgt, src, text );
else
OnPrivMsg ( src, text );
}
}
else if ( cmd == "mode" )
{
// two diff. kinds of mode notifications...
//printf ( "[MODE] src='%s' cmd='%s' tgt='%s' text='%s'", src.c_str(), cmd.c_str(), tgt.c_str(), text.c_str() );
//OnMode (
// self mode change:
// [MODE] src=Nick cmd=mode tgt=Nick text=+i
// channel mode change:
// [MODE] src=Nick cmd=mode tgt=#Channel text=+o Nick
if ( tgt[0] == '#' )
{
p = text.c_str();
p2 = strchr ( p, ' ' );
if ( p2 && *p2 )
{
string mode ( p, p2-p );
p = p2 + 1;
p += strspn ( p, " " );
OnUserModeInChannel ( src, tgt, mode, trim(p) );
}
else
OnChannelMode ( tgt, text );
}
else
OnMode ( tgt, text );
}
else if ( cmd == "join" )
{
mychannel = text;
OnJoin ( src, text );
}
else if ( cmd == "part" )
{
OnPart ( src, text );
}
else if ( cmd == "nick" )
{
OnNick ( src, text );
}
else if ( cmd == "kick" )
{
OnKick ();
}
else if ( isdigit(cmd[0]) )
{
int i = atoi(cmd.c_str());
switch ( i )
{
case 1: // "Welcome!" - i.e. it's okay to issue commands now...
OnConnected();
break;
case 353: // user list for channel....
{
p = text.c_str();
p2 = strpbrk ( p, " :" );
if ( !p2 ) continue;
string channel ( p, p2-p );
p = strchr ( p2, ':' );
if ( !p ) continue;
p++;
vector<string> users;
while ( *p )
{
p2 = strchr ( p, ' ' );
if ( !p2 )
p2 = p + strlen(p);
users.push_back ( string ( p, p2-p ) );
p = p2+1;
p += strspn ( p, " " );
}
OnChannelUsers ( channel, users );
}
break;
case 366: // END of user list for channel
{
p = text.c_str();
p2 = strpbrk ( p, " :" );
if ( !p2 ) continue;
string channel ( p, p2-p );
OnEndChannelUsers ( channel );
}
break;
case 474: // You are banned
{
p = text.c_str();
p2 = strpbrk ( p, " :" );
if ( !p2 ) continue;
string channel ( p, p2-p );
OnBanned ( channel );
}
break;
case 433: // Nick in Use
{
string nick = _nick;
Nick (nick + "_");
PrivMsg ("NickServ", "GHOST " + nick + " " + PASS);
// HACK HACK HACK
Mode ( "+i" );
Join ( CHANNEL ); // this is because IRC client does not review if his commands were sucessfull
Sleep ( 1000 );
Nick ( nick );
}
break;
case 2: //MOTD
case 376: //MOTD
case 372:
break;
default:
if ( _debug ) printf ( "unknown command %i: %s", i, buf.c_str() );
break;
}
}
else
{
if ( strstr ( buf.c_str(), "ACTION" ) )
{
printf ( "ACTION: " );
for ( int i = 0; i < buf.size(); i++ )
printf ( "%c(%xh)", buf[i], (unsigned)(unsigned char)buf[i] );
}
else if ( _debug ) printf ( "unrecognized ':' response: %s", buf.c_str() );
}
}
else
{
if ( _debug ) printf ( "unrecognized irc msg: %s", buf.c_str() );
}
//OnRecv ( buf );
}
if ( _debug ) printf ( "IRCClient::Run() - exiting\n" );
_inRun = false;
return 0;
}

View File

@@ -1,148 +0,0 @@
// IRCClient.h
// This file is (C) 2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#ifndef IRCCLIENT_H
#define IRCCLIENT_H
#include <string>
#include <vector>
#include "SockUtils.h"
#include "ThreadPool.h"
class IRCClient : public suBufferedRecvSocket
{
public:
IRCClient();
std::string mychannel;
static bool GetDebug() { return _debug; }
static bool SetDebug ( bool debug ) { bool old = _debug; _debug = debug; return old; }
// connect to server ( record greeting for apop if it exists )
bool Connect ( const std::string& server, short port = 6667 );
bool Running() { return _inRun; }
////////////////////////// IRC Client Protocol commands ///////////////////////
// first thing you must call... mode can be ""
// network can be same as name of server used in Connect() above
bool User ( const std::string& user, const std::string& mode,
const std::string& network, const std::string& realname );
// change nick...
bool Nick ( const std::string& nick );
// change mode for self...
bool Mode ( const std::string& mode );
// set someone's mode in channel ( like oping someone )
bool Mode ( const std::string& channel, const std::string& mode, const std::string& target );
// request a list of names of clients in a channel
bool Names ( const std::string& channel );
// join a channel...
bool Join ( const std::string& channel );
// send message to someone or some channel
bool PrivMsg ( const std::string& to, const std::string& text );
// send /me to someone or some channel
bool Action ( const std::string& to, const std::string& text );
// leave a channel
bool Part ( const std::string& channel, const std::string& text );
// log off
bool Quit ( const std::string& text );
////////////////////// callback functions ////////////////////////////
// OnConnected: you just successfully logged into irc server
virtual bool OnConnected() = 0;
virtual bool OnNick ( const std::string& oldNick, const std::string& newNick ) { return true; }
// OnJoin: someone just successfully joined a channel you are in ( also sent when you successfully join a channel )
virtual bool OnJoin ( const std::string& user, const std::string& channel ) { return true; }
// OnPart: someone just left a channel you are in
virtual bool OnPart ( const std::string& user, const std::string& channel ) { return true; }
// OnPrivMsg: you just received a private message from a user
virtual bool OnPrivMsg ( const std::string& from, const std::string& text ) { return true; }
virtual bool OnPrivAction ( const std::string& from, const std::string& text ) { return true; }
// OnChannelMsg: you just received a chat line in a channel
virtual bool OnChannelMsg ( const std::string& channel, const std::string& from,
const std::string& text ) { return true; }
// OnChannelAction: you just received a "/me" line in a channel
virtual bool OnChannelAction ( const std::string& channel, const std::string& from,
const std::string& text ) { return true; }
// OnChannelMode: notification of a change of a channel's mode
virtual bool OnChannelMode ( const std::string& channel, const std::string& mode )
{ return true; }
// OnUserModeInChannel: notification of a mode change of a user with respect to a channel.
// f.ex.: this will be called when someone is oped in a channel.
virtual bool OnUserModeInChannel ( const std::string& src, const std::string& channel,
const std::string& mode, const std::string& target ) { return true; }
// OnMode: you will receive this when you change your own mode, at least...
virtual bool OnMode ( const std::string& user, const std::string& mode ) { return true; }
// notification of what users are in a channel ( you may get multiple of these... )
virtual bool OnChannelUsers ( const std::string& channel, const std::vector<std::string>& users )
{ return true; }
// OnKick: if the client has been kicked
virtual bool OnKick ( void ) { return true; }
// OnKick: if the client has been kicked
virtual bool OnBanned ( const std::string& channel ) { return true; }
// notification that you have received the entire list of users for a channel
virtual bool OnEndChannelUsers ( const std::string& channel ) { return true; }
// OnPing - default implementation replies to PING with a valid PONG. required on some systems to
// log in. Most systems require a response in order to stay connected, used to verify a client hasn't
// dropped.
virtual bool OnPing ( const std::string& text );
////////////////////// other functions ////////////////////////////
// this is for sending data to irc server. it's public in case you need to send some
// command not supported by this base class...
bool Send ( const std::string& buf );
// if launch_thread is true, this function will spawn a thread that will process
// incoming packets until the socket dies.
// otherwise ( launch_thread is false ) this function will do that processing
// in *this* thread, and not return until the socket dies.
int Run ( bool launch_thread );
////////////////////// private stuff ////////////////////////////
private:
bool _Recv ( std::string& buf );
static int THREADAPI Callback ( IRCClient* irc );
static bool _debug;
std::string _nick;
int _timeout;
std::string _apop_challenge;
volatile bool _inRun;
// disable copy semantics
IRCClient ( const IRCClient& );
IRCClient& operator = ( const IRCClient& );
};
#endif//IRCCLIENT_H

View File

@@ -1,418 +0,0 @@
// MD5.CPP - RSA Data Security, Inc., MD5 message-digest algorithm
/*
Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
rights reserved.
License to copy and use this software is granted provided that it
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
Algorithm" in all material mentioning or referencing this software
or this function.
License is also granted to make and use derivative works provided
that such works are identified as "derived from the RSA Data
Security, Inc. MD5 Message-Digest Algorithm" in all material
mentioning or referencing the derived work.
RSA Data Security, Inc. makes no representations concerning either
the merchantability of this software or the suitability of this
software for any particular purpose. It is provided "as is"
without express or implied warranty of any kind.
These notices must be retained in any copies of any part of this
documentation and/or software.
*/
//#include <assert.h>
#include <memory.h>
#include <ctype.h>
#include <vector>
#include "MD5.h"
using std::string;
using std::vector;
// Constants for MD5Transform routine.
#define S11 7
#define S12 12
#define S13 17
#define S14 22
#define S21 5
#define S22 9
#define S23 14
#define S24 20
#define S31 4
#define S32 11
#define S33 16
#define S34 23
#define S41 6
#define S42 10
#define S43 15
#define S44 21
static void MD5Transform ( UINT4 [4], const uchar [64] );
static void Encode ( unsigned char *, UINT4 *, unsigned int );
static void Decode ( UINT4 *, const uchar *, unsigned int );
static unsigned char PADDING[64] =
{
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
// F, G, H and I are basic MD5 functions.
#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
#define H(x, y, z) ((x) ^ (y) ^ (z))
#define I(x, y, z) ((y) ^ ((x) | (~z)))
// ROTATE_LEFT rotates x left n bits.
#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
// FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
// Rotation is separate from addition to prevent recomputation.
#define FF(a, b, c, d, x, s, ac) { \
(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#define GG(a, b, c, d, x, s, ac) { \
(a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#define HH(a, b, c, d, x, s, ac) { \
(a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#define II(a, b, c, d, x, s, ac) { \
(a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
// MD5 initialization. Begins an MD5 operation, writing a new context.
void MD5Init (
MD5_CTX *context ) // context
{
context->count[0] = context->count[1] = 0;
// Load magic initialization constants.
context->state[0] = 0x67452301;
context->state[1] = 0xefcdab89;
context->state[2] = 0x98badcfe;
context->state[3] = 0x10325476;
}
// MD5 block update operation. Continues an MD5 message-digest
// operation, processing another message block, and updating the
// context.
void MD5Update (
MD5_CTX *context, // context
const char *input_, // input block
unsigned int inputLen ) // length of input block
{
unsigned int i, index, partLen;
const uchar* input = (const uchar*)input_;
// Compute number of bytes mod 64
index = (unsigned int)((context->count[0] >> 3) & 0x3F);
// Update number of bits
if ((context->count[0] += ((UINT4)inputLen << 3))
< ((UINT4)inputLen << 3))
context->count[1]++;
context->count[1] += ((UINT4)inputLen >> 29);
partLen = 64 - index;
// Transform as many times as possible.
if (inputLen >= partLen)
{
memcpy
((POINTER)&context->buffer[index], (POINTER)input, partLen);
MD5Transform (context->state, context->buffer);
for (i = partLen; i + 63 < inputLen; i += 64)
MD5Transform (context->state, &input[i]);
index = 0;
}
else
i = 0;
// Buffer remaining input
memcpy
((POINTER)&context->buffer[index], (POINTER)&input[i],
inputLen-i);
}
// MD5 finalization. Ends an MD5 message-digest operation, writing the
// the message digest and zeroizing the context.
void MD5Final (
unsigned char digest[16], // message digest
MD5_CTX *context ) // context
{
uchar bits[8];
unsigned int index, padLen;
// Save number of bits
Encode (bits, context->count, 8);
// Pad out to 56 mod 64.
index = (unsigned int)((context->count[0] >> 3) & 0x3f);
padLen = (index < 56) ? (56 - index) : (120 - index);
MD5Update (context, (const char*)PADDING, padLen);
// Append length (before padding)
MD5Update (context, (const char*)bits, 8);
// Store state in digest
Encode (digest, context->state, 16);
// Zeroize sensitive information.
memset ((POINTER)context, 0, sizeof (*context));
}
// MD5 basic transformation. Transforms state based on block.
static void MD5Transform (
UINT4 state[4],
const uchar block[64] )
{
UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
Decode (x, block, 64);
// Round 1
FF (a, b, c, d, x[ 0], S11, 0xd76aa478); // 1
FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); // 2
FF (c, d, a, b, x[ 2], S13, 0x242070db); // 3
FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); // 4
FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); // 5
FF (d, a, b, c, x[ 5], S12, 0x4787c62a); // 6
FF (c, d, a, b, x[ 6], S13, 0xa8304613); // 7
FF (b, c, d, a, x[ 7], S14, 0xfd469501); // 8
FF (a, b, c, d, x[ 8], S11, 0x698098d8); // 9
FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); // 10
FF (c, d, a, b, x[10], S13, 0xffff5bb1); // 11
FF (b, c, d, a, x[11], S14, 0x895cd7be); // 12
FF (a, b, c, d, x[12], S11, 0x6b901122); // 13
FF (d, a, b, c, x[13], S12, 0xfd987193); // 14
FF (c, d, a, b, x[14], S13, 0xa679438e); // 15
FF (b, c, d, a, x[15], S14, 0x49b40821); // 16
// Round 2
GG (a, b, c, d, x[ 1], S21, 0xf61e2562); // 17
GG (d, a, b, c, x[ 6], S22, 0xc040b340); // 18
GG (c, d, a, b, x[11], S23, 0x265e5a51); // 19
GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); // 20
GG (a, b, c, d, x[ 5], S21, 0xd62f105d); // 21
GG (d, a, b, c, x[10], S22, 0x2441453); // 22
GG (c, d, a, b, x[15], S23, 0xd8a1e681); // 23
GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); // 24
GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); // 25
GG (d, a, b, c, x[14], S22, 0xc33707d6); // 26
GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); // 27
GG (b, c, d, a, x[ 8], S24, 0x455a14ed); // 28
GG (a, b, c, d, x[13], S21, 0xa9e3e905); // 29
GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); // 30
GG (c, d, a, b, x[ 7], S23, 0x676f02d9); // 31
GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); // 32
// Round 3
HH (a, b, c, d, x[ 5], S31, 0xfffa3942); // 33
HH (d, a, b, c, x[ 8], S32, 0x8771f681); // 34
HH (c, d, a, b, x[11], S33, 0x6d9d6122); // 35
HH (b, c, d, a, x[14], S34, 0xfde5380c); // 36
HH (a, b, c, d, x[ 1], S31, 0xa4beea44); // 37
HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); // 38
HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); // 39
HH (b, c, d, a, x[10], S34, 0xbebfbc70); // 40
HH (a, b, c, d, x[13], S31, 0x289b7ec6); // 41
HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); // 42
HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); // 43
HH (b, c, d, a, x[ 6], S34, 0x4881d05); // 44
HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); // 45
HH (d, a, b, c, x[12], S32, 0xe6db99e5); // 46
HH (c, d, a, b, x[15], S33, 0x1fa27cf8); // 47
HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); // 48
// Round 4
II (a, b, c, d, x[ 0], S41, 0xf4292244); // 49
II (d, a, b, c, x[ 7], S42, 0x432aff97); // 50
II (c, d, a, b, x[14], S43, 0xab9423a7); // 51
II (b, c, d, a, x[ 5], S44, 0xfc93a039); // 52
II (a, b, c, d, x[12], S41, 0x655b59c3); // 53
II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); // 54
II (c, d, a, b, x[10], S43, 0xffeff47d); // 55
II (b, c, d, a, x[ 1], S44, 0x85845dd1); // 56
II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); // 57
II (d, a, b, c, x[15], S42, 0xfe2ce6e0); // 58
II (c, d, a, b, x[ 6], S43, 0xa3014314); // 59
II (b, c, d, a, x[13], S44, 0x4e0811a1); // 60
II (a, b, c, d, x[ 4], S41, 0xf7537e82); // 61
II (d, a, b, c, x[11], S42, 0xbd3af235); // 62
II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); // 63
II (b, c, d, a, x[ 9], S44, 0xeb86d391); // 64
state[0] += a;
state[1] += b;
state[2] += c;
state[3] += d;
// Zeroize sensitive information.
memset ((POINTER)x, 0, sizeof (x));
}
// Encodes input (UINT4) into output (unsigned char). Assumes len is
// a multiple of 4.
static void Encode (
unsigned char *output,
UINT4 *input,
unsigned int len )
{
unsigned int i, j;
for (i = 0, j = 0; j < len; i++, j += 4) {
output[j] = (unsigned char)(input[i] & 0xff);
output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
}
}
// Decodes input (unsigned char) into output (UINT4). Assumes len is
// a multiple of 4.
static void Decode (
UINT4 *output,
const uchar *input,
unsigned int len )
{
unsigned int i, j;
for (i = 0, j = 0; j < len; i++, j += 4)
output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
(((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
}
void digest2ascii ( char *ascii, const unsigned char *digest )
{
int i;
static char* table = "0123456789abcdef";
for ( i = 0; i < 16; i++ )
{
*ascii++ = table[(*digest)>>4];
*ascii++ = table[(*digest++)%16];
}
*ascii++ = 0;
}
void ascii2digest ( unsigned char *digest, const char *ascii )
{
int i;
#define CONV(c) (unsigned char)( (toupper(c)>='A') ? (toupper(c)+10-'A') : ((c)-'0') )
#define MAKECHAR(a,b) ((CONV(a)%16)<<4)|(CONV(b)%16)
for ( i = 0; i < 16; i++ )
{
*digest++ = MAKECHAR(ascii[0],ascii[1]);
ascii += 2;
}
}
#ifdef __cplusplus
MD5::MD5()
{
Init();
}
void MD5::Init()
{
MD5Init(&_ctx);
}
void MD5::Update ( const string& s )
{
MD5Update ( &_ctx, s.c_str(), s.size() );
}
string MD5::Final ( char* digest )
{
vector<uchar> v;
v.resize(16);
MD5Final ( &v[0], &_ctx );
if ( digest )
memmove ( digest, &v[0], 16 );
string s;
static char* tohex = "0123456789abcdef";
for ( int i = 0; i < 16; i++ )
{
uchar c = v[i];
s += tohex[ (c>>4) & 0xF ];
s += tohex[ c & 0xF ];
}
return s;
}
string MD5Hex ( const string& s )
{
MD5 md5;
md5.Update ( s );
return md5.Final();
}
string MD5Bin ( const string& s )
{
MD5 md5;
md5.Update ( s );
char digest[16];
md5.Final ( digest );
return string ( digest, 16 );
}
string HMAC_MD5 ( const string& key, const string& text, char* out_bin )
{
MD5 md5;
char k_ipad[65]; // inner padding - key XORd with ipad
char k_opad[65]; // outer padding - key XORd with opad
string tmp;
char digest[16];
int i;
// if key is longer than 64 bytes reset it to key=MD5(key)
if ( key.length() > 64 )
{
md5.Init();
md5.Update ( key );
md5.Final ( digest );
tmp = string ( digest, 16 );
}
else
tmp = key;
// start out by storing key in pads
memset ( k_ipad, 0, sizeof(k_ipad) );
memset ( k_opad, 0, sizeof(k_opad) );
memcpy ( k_ipad, tmp.c_str(), tmp.length() );
memcpy ( k_opad, tmp.c_str(), tmp.length() );
// XOR key with ipad and opad values
for ( i=0; i<64; i++ )
{
k_ipad[i] ^= 0x36;
k_opad[i] ^= 0x5c;
}
// "inner" MD5
md5.Init();
md5.Update(k_ipad);
md5.Update(text);
md5.Final ( digest );
// "outer" MD5
md5.Init();
md5.Update(k_opad);
md5.Update(string(digest,16));
return md5.Final(out_bin);
}
#endif//__cplusplus

View File

@@ -1,95 +0,0 @@
// MD5.H - header file for MD5.CPP
/*
Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
rights reserved.
License to copy and use this software is granted provided that it
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
Algorithm" in all material mentioning or referencing this software
or this function.
License is also granted to make and use derivative works provided
that such works are identified as "derived from the RSA Data
Security, Inc. MD5 Message-Digest Algorithm" in all material
mentioning or referencing the derived work.
RSA Data Security, Inc. makes no representations concerning either
the merchantability of this software or the suitability of this
software for any particular purpose. It is provided "as is"
without express or implied warranty of any kind.
These notices must be retained in any copies of any part of this
documentation and/or software.
*/
#ifndef __MD5_H
#define __MD5_H
#ifdef __cplusplus
#include <string>
#endif//__cplusplus
#ifndef uchar
#define uchar unsigned char
#endif//uchar
#ifndef ushort
#define ushort unsigned short
#endif//ushort
#ifndef ulong
#define ulong unsigned long
#endif//ulong
#ifdef __cplusplus
extern "C" {
#endif//__cplusplus
typedef uchar *POINTER; // POINTER defines a generic pointer type
typedef ushort UINT2; // UINT2 defines a two byte word
typedef ulong UINT4; // UINT4 defines a four byte word
// MD5 context.
typedef struct
{
UINT4 state[4]; // state (ABCD)
UINT4 count[2]; // number of bits, modulo 2^64 (lsb first)
unsigned char buffer[64]; // input buffer
} MD5_CTX;
void MD5Init ( MD5_CTX * );
void MD5Update ( MD5_CTX *, const char *, unsigned int );
void MD5Final ( uchar [16], MD5_CTX * );
void digest2ascii ( char *ascii, const uchar *digest );
void ascii2digest ( uchar *digest, const char *ascii );
#ifdef __cplusplus
} // extern "C"
class MD5
{
public:
MD5();
void Init();
void Update ( const std::string& s );
std::string Final ( char* digest = 0 );
private:
MD5_CTX _ctx;
};
std::string MD5Hex ( const std::string& s );
std::string MD5Bin ( const std::string& s );
std::string HMAC_MD5 (
const std::string& key,
const std::string& text,
char* out_bin = NULL );
#endif//__cplusplus
#endif//__MD5_H

View File

@@ -1,315 +0,0 @@
/*
** Author: Samuel R. Blackburn
** Internet: wfc@pobox.com
**
** You can use it any way you like as long as you don't try to sell it.
**
** Any attempt to sell WFC in source code form must have the permission
** of the original author. You can produce commercial executables with
** WFC but you can't sell WFC.
**
** Copyright, 2000, Samuel R. Blackburn
**
** NOTE: I modified the info block below so it hopefully wouldn't conflict
** with the original file. Royce Mitchell III
*/
#ifndef QUEUET_CLASS_HEADER
#define QUEUET_CLASS_HEADER
#include "ReliMT.h"
#ifdef WIN32
#include <sys/types.h> // off_t
#define HEAPCREATE(size) m_Heap = ::HeapCreate ( HEAP_NO_SERIALIZE, size, 0 )
#define HEAPALLOC(size) ::HeapAlloc ( m_Heap, HEAP_NO_SERIALIZE, size )
#define HEAPREALLOC(p,size) ::HeapReAlloc( m_Heap, HEAP_NO_SERIALIZE, p, size )
#define HEAPFREE(p) ::HeapFree ( m_Heap, HEAP_NO_SERIALIZE, p )
#define HEAPDESTROY() ::HeapDestroy ( m_Heap ); m_Heap = 0;
#else
#define HEAPCREATE(size)
#define HEAPALLOC(size) malloc(size)
#define HEAPREALLOC(p,size) realloc(p,size);
#define HEAPFREE(p) free(p)
#define HEAPDESTROY()
#endif
template <class T>
class CQueueT : public Uncopyable
{
protected:
// What we want to protect
Mutex m_AddMutex;
Mutex m_GetMutex;
T* m_Items;
off_t m_AddIndex;
off_t m_GetIndex;
size_t m_Size;
#ifdef WIN32
HANDLE m_Heap;
#endif//WIN32
inline void m_GrowBy ( size_t number_of_new_items );
public:
inline CQueueT ( size_t initial_size = 1024 );
inline ~CQueueT();
inline bool Add( const T& new_item );
inline void Empty() { m_AddIndex = 0; m_GetIndex = 0; };
inline bool Get( T& item );
inline size_t GetLength() const;
inline size_t GetMaximumLength() const { return( m_Size ); };
inline bool AddArray ( const T* new_items, int item_count );
inline int GetArray ( T* items, const int maxget, const T& tEnd );
inline bool Contains ( const T& t );
};
template <class T>
inline CQueueT<T>::CQueueT ( size_t initial_size )
{
m_AddIndex = 0;
m_GetIndex = 0;
m_Items = NULL;
if ( initial_size == 0 )
initial_size = 1;
/*
** 1999-11-05
** We create our own heap because all of the pointers used are allocated
** and freed be us. We don't have to worry about a non-serialized thread
** accessing something we allocated. Because of this, we can perform our
** memory allocations in a heap dedicated to queueing. This means when we
** have to allocate more memory, we don't have to wait for all other threads
** to pause while we allocate from the shared heap (like the C Runtime heap)
*/
HEAPCREATE( ( ( ( 2 * initial_size * sizeof(T) ) < 65536 ) ? 65536 : (2 * initial_size * sizeof(T) ) ) );
m_Items = (T*)HEAPALLOC ( initial_size * sizeof(T) );
m_Size = ( m_Items == NULL ) ? 0 : initial_size;
}
template <class T>
inline CQueueT<T>::~CQueueT()
{
m_AddIndex = 0;
m_GetIndex = 0;
m_Size = 0;
if ( m_Items != NULL )
{
HEAPFREE(m_Items);
m_Items = NULL;
}
HEAPDESTROY();
}
template <class T>
inline bool CQueueT<T>::Add ( const T& item )
{
// Block other threads from entering Add();
Mutex::Lock addlock ( m_AddMutex );
// Add the item
m_Items[ m_AddIndex ] = item;
// 1999-12-08
// Many many thanks go to Lou Franco (lfranco@spheresoft.com)
// for finding an bug here. It rare but recreatable situations,
// m_AddIndex could be in an invalid state.
// Make sure m_AddIndex is never invalid
off_t new_add_index = ( ( m_AddIndex + 1 ) >= (off_t)m_Size ) ? 0 : m_AddIndex + 1;
if ( new_add_index == m_GetIndex )
{
// The queue is full. We need to grow.
// Stop anyone from getting from the queue
Mutex::Lock getlock ( m_GetMutex );
m_AddIndex = new_add_index;
// One last double-check.
if ( m_AddIndex == m_GetIndex )
{
m_GrowBy ( m_Size );
}
}
else
{
m_AddIndex = new_add_index;
}
return true;
}
template <class T>
inline bool CQueueT<T>::Get( T& item )
{
// Prevent other threads from entering Get()
Mutex::Lock getlock ( m_GetMutex );
if ( m_GetIndex == m_AddIndex )
{
// Let's check to see if our queue has grown too big
// If it has, then shrink it
if ( m_Size > 1024 )
{
// Yup, we're too big for our britches
Mutex::TryLock addlock ( m_AddMutex );
if ( addlock )
{
// Now, no one can add to the queue
if ( m_GetIndex == m_AddIndex ) // is queue empty?
{
// See if we can just shrink it...
T* return_value = (T*)HEAPREALLOC(m_Items,1024 * sizeof(T));
if ( return_value != NULL )
{
m_Items = (T*) return_value;
}
else
{
// Looks like we'll have to do it the hard way
HEAPFREE ( m_Items );
m_Items = (T*) HEAPALLOC ( 1024 * sizeof(T) );
}
m_Size = ( m_Items == NULL ) ? 0 : 1024;
m_AddIndex = 0;
m_GetIndex = 0;
}
else
{
// m_GetIndex != m_AddIndex, this means that someone added
// to the queue between the time we checked m_Size for being
// too big and the time we entered the add critical section.
// If this happened then we are too busy to shrink
}
}
}
return false;
}
item = m_Items[ m_GetIndex ];
// Make sure m_GetIndex is never invalid
m_GetIndex = ( ( m_GetIndex + 1 ) >= (off_t)m_Size ) ? 0 : m_GetIndex + 1;
return true;
}
template <class T>
inline int CQueueT<T>::GetArray ( T* items, const int maxget, const T& tEnd )
{
// TODO - oooh baby does this need to be optimized
// Prevent other threads from entering Get()
Mutex::Lock getlock ( m_GetMutex ); //::EnterCriticalSection( &m_GetCriticalSection );
int iResult = 0;
for ( int i = 0; i < maxget; i++ )
{
if ( !Get(items[i]) )
break;
iResult++;
if ( items[i] == tEnd )
break;
}
// Let other threads call Get() now
//::LeaveCriticalSection( &m_GetCriticalSection );
return iResult;
}
template <class T>
inline size_t CQueueT<T>::GetLength() const
{
// This is a very expensive process!
// No one can call Add() or Get() while we're computing this
size_t number_of_items_in_the_queue = 0;
Mutex::Lock addlock ( m_AddMutex );
Mutex::Lock getlock ( m_GetMutex );
number_of_items_in_the_queue = ( m_AddIndex >= m_GetIndex ) ?
( m_AddIndex - m_GetIndex ) :
( ( m_AddIndex + m_Size ) - m_GetIndex );
return number_of_items_in_the_queue;
}
template <class T>
inline void CQueueT<T>::m_GrowBy ( size_t number_of_new_items )
{
// Prevent other threads from calling Get().
// We don't need to enter the AddCriticalSection because
// m_GrowBy() is only called from Add();
T* new_array = NULL;
T* pointer_to_free = NULL;
size_t new_size = m_Size + number_of_new_items;
{ // Prevent other threads from getting
Mutex::Lock getlock ( m_GetMutex );
// 2000-05-16
// Thanks go to Royce Mitchell III (royce3@aim-controls.com) for finding
// a HUGE bug here. I was using HeapReAlloc as a short cut but my logic
// was flawed. In certain circumstances, queue items were being dropped.
new_array = (T*)HEAPALLOC ( new_size * sizeof(T) );
// Now copy all of the old items from the old queue to the new one.
// Get the entries from the get-index to the end of the array
memcpy ( new_array, &m_Items[m_GetIndex], ( m_Size - m_GetIndex ) * sizeof(T) );
// Get the entries from the beginning of the array to the add-index
memcpy ( &new_array[m_Size-m_GetIndex], m_Items, m_AddIndex * sizeof(T) );
m_AddIndex = (off_t)m_Size;
m_GetIndex = 0;
m_Size = new_size;
pointer_to_free = m_Items;
m_Items = new_array;
} // Mutex::Lock
HEAPFREE ( pointer_to_free );
}
template <class T>
inline bool CQueueT<T>::Contains ( const T& t )
{
Mutex::Lock addlock ( m_AddMutex );
Mutex::Lock getlock ( m_GetMutex );
for ( int i = m_GetIndex; i != m_AddIndex; i++ )
{
if ( i == m_Size )
i = 0;
if ( m_Items[i] == t )
return true;
}
return m_Items[m_AddIndex] == t;
}
typedef CQueueT<char> CCharQueue;
#endif // QUEUE_CLASS_HEADER

View File

@@ -1,143 +0,0 @@
// Reli.h
// lots of code here is (c) Bartosz Milewski, 1996, www.relisoft.com
// The rest is (C) 2002-2004 Royce Mitchell III
// and released under the LGPL & BSD licenses
#ifndef __RELI_H
#define __RELI_H
////////////////////////////////////////////////////////////////////////////////
// Assert
#undef Assert
#ifdef NDEBUG
#define Assert(exp) ((void)0)
#else
void _wassert (char* szExpr, char* szFile, int line);
#define Assert(exp) (void)( (exp) || (_wassert(#exp, __FILE__, __LINE__), 0) )
#endif /* NDEBUG */
////////////////////////////////////////////////////////////////////////////////
// Swap
template <class T>
void Swap(T a,T b)
{
T t = a;
a = b;
b = t;
}
////////////////////////////////////////////////////////////////////////////////
// Uncopyable - base class disabling copy ctors
class Uncopyable
{
public:
Uncopyable(){} // need a default ctor
private:
Uncopyable ( const Uncopyable& );
const Uncopyable& operator = ( const Uncopyable& );
};
////////////////////////////////////////////////////////////////////////////////
// SPtr - Smart Pointer's must be passed by reference or const reference
template <class T>
class SPtr : public Uncopyable
{
public:
virtual ~SPtr () { Destroy(); }
T * operator->() { return _p; }
T const * operator->() const { return _p; }
operator T&() { Assert(_p); return *_p; }
operator const T&() const { Assert(_p); return *_p; }
void Acquire ( SPtr<T>& t ) { Destroy(); Swap(_p,t._p); }
void Destroy() { if ( _p ) { delete _p; _p = 0; } }
protected:
SPtr (): _p (0) {}
explicit SPtr (T* p): _p (p) {}
T * _p;
private:
operator T* () { return _p; }
};
#define DECLARE_SPTR(cls,init,init2) \
class S##cls : public SPtr<cls> \
{ \
public: \
S##cls ( cls* p ) : SPtr<cls>(p) {} \
explicit S##cls init : SPtr<cls> (new cls init2) {} \
};
/* Example Usage of DECLARE_SPTR:
class MyClass
{
public: // can be protected
MyClass ( int i )
{
...
}
...
}; DECLARE_SPTR(MyClass,(int i),(i))
SMyClass ptr(i);
*/
#define DECLARE_SPTRV(cls) typedef SPtr<cls> S##cls;
/* Example Usage of DECLARE_SPTRV:
class MyAbstractClass
{
public: // can be protected
MyAbstractClass ( int i )
{
...
}
void MyPureVirtFunc() = 0;
...
}; DECLARE_SPTRV(MyAbstractClass)
SMyAbstractClass ptr ( new MySubClass(i) );
*/
#define DECLARE_PTR(cls,init,init2) \
class Ptr : public SPtr<cls> \
{ \
Ptr(cls* p) : SPtr<cls> ( p ) \
{ \
} \
Ptr init : SPtr<cls> ( new cls init2 ) {} \
};
/* Example Usage of DECLARE_PTR:
class MyClass
{
DECLARE_PTR(MyClass,(int i),(i))
public: // can be protected
MyClass ( int i )
{
...
}
void MyPureVirtFunc() = 0;
...
};
MyClass::Ptr ptr ( i );
*/
#define DECLARE_PTRV(cls) \
class Ptr : public SPtr<cls> \
{ \
Ptr(cls* p) : SPtr<cls> ( p ) \
{ \
} \
};
/* Example Usage of DECLARE_PTRV:
class MyAbstractClass
{
DECLARE_PTRV(MyAbstractClass)
public: // can be protected
MyAbstractClass ( int i )
{
...
}
void MyPureVirtFunc() = 0;
...
};
MyAbstractClass::Ptr ptr ( new MySubClass(i) );
*/
#endif//__RELI_H

View File

@@ -1,331 +0,0 @@
// ReliMT.cpp
// lots of code here is (c) Bartosz Milewski, 1996, www.relisoft.com
// The rest is (C) 2002-2004 Royce Mitchell III
// and released under the LGPL & BSD licenses
#include <stdlib.h>
#include <stdio.h>
#ifdef WIN32
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
# define snprintf _snprintf
#elif defined(UNIX)
# include <errno.h>
# include <sys/sem.h>
#else
# error unrecognized target
#endif//WIN32|UNIX
#include "verify.h"
#include "ReliMT.h"
////////////////////////////////////////////////////////////////////////////////
// Assert
void _wassert ( char* szExpr, char* szFile, int line )
{
fprintf ( stderr, "Assertion Failure: \"%s\" in file %s, line %d", szExpr, szFile, line );
exit (-1);
}
////////////////////////////////////////////////////////////////////////////////
// Thread
Thread::Thread ( long (THREADAPI * pFun) (void* arg), void* pArg )
{
#ifdef WIN32
verify ( _handle = CreateThread (
0, // Security attributes
0, // Stack size
(DWORD (WINAPI*)(void*))pFun,
pArg,
0, // don't create suspended.
&_tid ));
#elif defined(UNIX)
// set up the thread attribute: right now, we do nothing with it.
pthread_attr_t attr;
pthread_attr_init(&attr);
// this will make the threads created by this process really concurrent
verify ( !pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM) );
// create the new OS thread object
verify ( !pthread_create ( &_threadId, &attr, (void* (*) (void*))pFun, pArg ) );
verify ( !pthread_attr_destroy(&attr) );
#else
# error unrecognized target
#endif//WIN32|UNIX
}
Thread::~Thread()
{
#ifdef WIN32
verify ( CloseHandle ( _handle ) );
#elif defined(UNIX)
verify ( !pthread_cancel ( _threadId ) );
#else
# error unrecognized target
#endif//WIN32|UNIX
}
/*void Thread::Resume()
{
#ifdef WIN32
ResumeThread (_handle);
#elif defined(UNIX)
# error how to resume thread in unix?
#else
# error unrecognized target
#endif//WIN32|UNIX
}*/
void Thread::WaitForDeath()
{
#ifdef WIN32
DWORD dw = WaitForSingleObject ( _handle, 2000 );
ASSERT ( dw != WAIT_FAILED );
#elif defined(UNIX)
verify ( !pthread_join ( _threadId, (void**)NULL ) );
#else
# error unrecognized target
#endif//WIN32|UNIX
}
////////////////////////////////////////////////////////////////////////////////
// ActiveObject
// The constructor of the derived class
// should call
// _thread.Resume();
// at the end of construction
ActiveObject::ActiveObject() : _isDying (0), _thread (0)
{
}
ActiveObject::~ActiveObject()
{
ASSERT ( !_thread ); // call Kill() from subclass's dtor
// Kill() - // You can't call a virtual function from a dtor, EVEN INDIRECTLY
// so, you must call Kill() in the subclass's dtor
}
// FlushThread must reset all the events on which the thread might be waiting.
void ActiveObject::Kill()
{
if ( _thread )
{
_isDying++;
FlushThread();
// Let's make sure it's gone
_thread->WaitForDeath();
delete _thread;
_thread = 0;
}
}
void ActiveObject::Start()
{
ASSERT ( !_thread );
_thread = new Thread ( ThreadEntry, this );
}
long THREADAPI ActiveObject::ThreadEntry ( void* pArg )
{
ActiveObject * pActive = (ActiveObject*)pArg;
pActive->InitThread();
pActive->Run();
pActive->Kill();
return 0;
}
///////////////////////////////////////////////////////////////////////////////
// Mutex
Mutex::Mutex()
{
#ifdef WIN32
verify ( _h = CreateMutex ( NULL, FALSE, NULL ) );
#elif defined(UNIX)
pthread_mutexattr_t attrib;
verify ( !pthread_mutexattr_init( &attrib ) );
// allow recursive locks
verify ( !pthread_mutexattr_settype( &attrib, PTHREAD_MUTEX_RECURSIVE ) );
verify ( !pthread_mutex_init ( &_mutex, &attrib ) );
#else
# error unrecognized target
#endif
}
Mutex::~Mutex()
{
#ifdef WIN32
verify ( CloseHandle ( _h ) );
#elif defined(UNIX)
verify ( !pthread_mutex_destroy(&_mutex) );
#else
# error unrecognized target
#endif
}
void Mutex::Acquire()
{
#ifdef WIN32
DWORD dw = WaitForSingleObject ( _h, INFINITE );
ASSERT ( dw == WAIT_OBJECT_0 || dw == WAIT_ABANDONED );
#elif defined(UNIX)
verify ( !pthread_mutex_lock(&_mutex) );
#else
# error unrecognized target
#endif
}
bool Mutex::TryAcquire()
{
#ifdef WIN32
DWORD dw = WaitForSingleObject ( _h, 1 );
ASSERT ( dw == WAIT_OBJECT_0 || dw == WAIT_TIMEOUT || dw == WAIT_ABANDONED );
return (dw != WAIT_TIMEOUT);
#elif defined(UNIX)
int err = pthread_mutex_trylock(&_mutex);
ASSERT ( err == EBUSY || err == 0 );
return (err == 0);
#else
# error unrecognized target
#endif
}
void Mutex::Release()
{
#ifdef WIN32
verify ( ReleaseMutex ( _h ) );
#elif defined(UNIX)
verify ( !pthread_mutex_unlock(&_mutex) );
// we could allow EPERM return value too, but we are forcing user into RIIA
#else
# error unrecognized target
#endif
}
Mutex::Lock::Lock ( Mutex& m ) : _m(m)
{
_m.Acquire();
}
Mutex::Lock::~Lock()
{
_m.Release();
}
Mutex::TryLock::TryLock ( Mutex& m ) : _m(m)
{
_bLocked = _m.TryAcquire();
}
Mutex::TryLock::~TryLock()
{
if ( _bLocked )
_m.Release();
}
///////////////////////////////////////////////////////////////////////////////
// Event
Event::Event()
{
#ifdef WIN32
// start in non-signaled state (red light)
// auto reset after every Wait
verify ( _handle = CreateEvent ( 0, FALSE, FALSE, 0 ) );
#elif defined(UNIX)
//verify ( !pthread_cond_init ( &_cond, NULL /* default attributes */) );
sem_init();
//verify(sem_init());
#else
# error unrecognized target
#endif
}
Event::~Event()
{
#ifdef WIN32
verify ( CloseHandle ( _handle ) );
#elif defined(UNIX)
//verify ( !pthread_cond_destroy ( &_cond ) );
sem_destroy();
#else
# error unrecognized target
#endif
}
void Event::Release() // put into signaled state
{
#ifdef WIN32
verify ( SetEvent ( _handle ) );
#elif defined(UNIX)
//verify ( !pthread_cond_signal ( &_cond ) );
verify(!sem_V());
#else
# error unrecognized target
#endif
}
void Event::Wait()
{
#ifdef WIN32
// Wait until event is in signaled (green) state
DWORD dw = WaitForSingleObject ( _handle, INFINITE );
ASSERT ( dw == WAIT_OBJECT_0 || dw == WAIT_ABANDONED );
#elif defined(UNIX)
// According to docs: The pthread_cond_wait() and pthread_cond_timedwait()
// functions are used to block on a condition variable. They are called
// with mutex locked by the calling thread or undefined behaviour will
// result.
//Mutex::Lock lock ( _mutex );
//verify ( !pthread_cond_wait ( &_cond, _mutex ) );
verify(!sem_P());
#else
# error unrecognized target
#endif
}
#ifdef UNIX
void Event::sem_init()
{
sem_id = semget(IPC_PRIVATE, 1, 0666 | IPC_CREAT);
ASSERT(sem_id != -1);
}
int Event::sem_P()
{
struct sembuf sb;
sb.sem_num = 0;
sb.sem_op = -1;
sb.sem_flg = 0;
return semop(sem_id, &sb, 1);
}
int Event::sem_V()
{
struct sembuf sb;
sb.sem_num = 0;
sb.sem_op = 1;
sb.sem_flg = 0;
return semop(sem_id, &sb, 1);
}
void Event::sem_destroy()
{
#ifdef MACOSX
semun mactmp;
mactmp.val = 0;
semctl(sem_id, 0, IPC_RMID, mactmp);
#else
semctl(sem_id, 0, IPC_RMID, 0);
#endif
}
#endif

View File

@@ -1,229 +0,0 @@
// ReliMT.h
// lots of code here is (c) Bartosz Milewski, 1996, www.relisoft.com
// The rest is (C) 2003-2004 Royce Mitchell III
// and released under the LGPL & BSD licenses
#ifndef __RELIMT_H
#define __RELIMT_H
#include "Reli.h"
#ifdef WIN32
# ifndef _WINDOWS_
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
# endif
# define THREADAPI WINAPI
#elif defined(UNIX)
# include <pthread.h>
# include <stdlib.h>
# include "string.h"
# include <sys/types.h> //Semaphore
# include <sys/ipc.h> //Semaphore
# include <sys/sem.h> //Semaphore
# define THREADAPI
#else
# error unrecognized target
#endif
////////////////////////////////////////////////////////////////////////////////
// Thread
class Thread : public Uncopyable
{
public:
Thread ( long (THREADAPI * pFun) (void* arg), void* pArg );
~Thread();
//void Resume();
void WaitForDeath();
// platform-specific stuff:
private:
#ifdef WIN32
HANDLE _handle;
DWORD _tid; // thread id
#elif defined(UNIX)
pthread_t _threadId; // id of the thread
#else
# error unrecognized target
#endif
//DECLARE_PTR(Thread,(long (THREADAPI * pFun) (void* arg), void* pArg),(pFun,pArg));
}; //DECLARE_SPTR(Thread,(long (THREADAPI * pFun) (void* arg), void* pArg),(pFun,pArg));
////////////////////////////////////////////////////////////////////////////////
// ActiveObject
class ActiveObject : public Uncopyable
{
public:
ActiveObject();
virtual ~ActiveObject();
void Kill();
void Start();
protected:
virtual void InitThread() = 0;
virtual void Run() = 0;
virtual void FlushThread() = 0;
int _isDying;
static long THREADAPI ThreadEntry ( void *pArg );
Thread *_thread;
//DECLARE_PTRV(ActiveObject);
}; //DECLARE_SPTRV(ActiveObject);
// Last thing in the constructor of a class derived from
// ActiveObject you must call
// Start();
// Inside the loop the Run method you must keep checking _isDying
// if (_isDying)
// return;
// FlushThread must reset all the events on which the thread might be waiting.
// Example:
#if 0
// MyAsyncOutputter - class that outputs strings to a file asynchronously
class MyAsyncOutputter : public ActiveObject
{
public:
MyAsyncOutputter ( const string& filename ) : _filename(filename), _currentBuf(0)
{
Start(); // start thread
}
void InitThread()
{
_f.open ( _filename, "wb" );
}
void Output ( const string& s )
{
{
// acquire lock long enough to add the string to the active buffer
Mutex::Lock lock ( _mutex );
_buf[_currentBuf].push_back ( s );
}
_event.Release(); // don't need the lock fire the event
}
void Run()
{
while ( !_isDying )
{
// wait for signal from Output() or FlushThread()
_event.Wait();
{
// acquire lock long enough to switch active buffers
Mutex::Lock lock ( _mutex );
_currentBuf = 1-_currentBuf;
ASSERT ( !_buf[_currentBuf].size() );
}
// get a reference to the old buffer
vector<string>& buf = _buf[1-_currentBuf];
// write each string out to file and then empty the buffer
for ( int i = 0; i < buf.size(); i++ )
_f.write ( buf[i].c_str(), buf[i].size() );
buf.resize(0);
}
}
void FlushThread()
{
// _isDying is already set: signal thread so it can see that too
_event.Release();
}
private:
string _filename;
File _f;
int _currentBuf;
vector<string> _buf[2];
Event _event;
Mutex _mutex;
};
#endif
////////////////////////////////////////////////////////////////////////////////
// Mutex
class Mutex : public Uncopyable
{
public:
Mutex();
~Mutex();
private:
void Acquire();
bool TryAcquire();
void Release();
public:
// sub-class used to lock the Mutex
class Lock : public Uncopyable
{
public:
Lock ( Mutex& m );
~Lock();
private:
// private data
Mutex& _m;
};
friend class Mutex::Lock;
// sub-class used to attempt to lock the mutex. Use operator bool()
// to test if the lock was successful
class TryLock : public Uncopyable
{
public:
TryLock ( Mutex& m );
~TryLock();
operator bool () { return _bLocked; }
private:
// private data
bool _bLocked;
Mutex& _m;
};
friend class Mutex::TryLock;
private:
// platform-specific stuff:
#ifdef WIN32
HANDLE _h;
#elif defined(UNIX)
pthread_mutex_t _mutex;
public: operator pthread_mutex_t* () { return &_mutex; }
#else
# error unrecognized target
#endif
};
////////////////////////////////////////////////////////////////////////////////
// Event
class Event : public Uncopyable
{
public:
Event();
~Event();
void Release(); // put into signaled state
void Wait();
private:
#ifdef WIN32
HANDLE _handle;
#elif defined(UNIX)
//Sem util functions
void sem_init();
int sem_P();
int sem_V();
void sem_destroy();
int sem_id;
//pthread_cond_t _cond;
//Mutex _mutex;
#else
# error unrecognized target
#endif
//DECLARE_PTR(Event,(),());
}; //DECLARE_SPTR(Event,(),());
#endif//__RELIWIN32_H

View File

@@ -1,504 +0,0 @@
// SockUtils.cpp - Some basic socket utility functions.
// (C) 2002-2004 Royce Mitchell III
// This file is under the BSD & LGPL licenses
#include <stdio.h>
#include "SockUtils.h"
#ifdef WIN32
# ifndef SD_SEND // defined in winsock2.h, but not winsock.h
# define SD_SEND 1
# endif
# define snprintf _snprintf
# ifdef _MSC_VER
# pragma comment ( lib, "ws2_32.lib" )
# endif//_MSC_VER
#elif defined(UNIX)
# include <errno.h>
# include "string.h" // memset
# include <netdb.h> // hostent
# include <arpa/inet.h> //inet_addr
# include <sys/time.h>
# define SD_SEND SHUT_WR //bah thou shalt name thy defines the same
#else
# error unrecognized target
#endif
//// Constants /////////////////////////////////////////////////////////
const int kBufferSize = 1024;
// creates broadcast address
SockAddrIn::SockAddrIn()
{
memset ( this, 0, sizeof(sockaddr_in) );
sin_family = AF_INET;
}
SockAddrIn::SockAddrIn ( const char* szAddr, u_short iPort )
{
memset ( this, 0, sizeof(sockaddr_in) );
sin_family = AF_INET;
sin_addr.s_addr = suLookupAddress(szAddr);
sin_port = htons(iPort);
}
SockAddrIn::SockAddrIn ( in_addr_t iAddr, u_short iPort )
{
memset ( this, 0, sizeof(sockaddr_in) );
sin_family = AF_INET;
sin_addr.s_addr = iAddr;
sin_port = htons(iPort);
}
bool suStartup()
{
#ifdef WIN32
WSADATA wsaData;
if ( WSAStartup ( MAKEWORD(2,0), &wsaData ) )
return false;
if ( wsaData.wVersion != MAKEWORD(2,0) )
{
WSACleanup();
return false;
}
return true;
#elif defined(UNIX)
// nothing special required here
return true;
#else
# error unrecognized target
#endif
}
//// suTcpSocket ////////////////////////////////////////////////
// Creates a TCP socket.
SOCKET suTcpSocket()
{
SOCKET so = socket ( AF_INET, SOCK_STREAM, 0 );
#if defined(_DEBUG) && defined(WIN32)
if ( so == INVALID_SOCKET && WSANOTINITIALISED == WSAGetLastError() )
MessageBox ( NULL, "You forgot to call suStartup()!", "SockUtils", MB_OK|MB_ICONEXCLAMATION );
#endif
return so;
}
//// suUdpSocket ////////////////////////////////////////////////
// Creates a UDP socket. Compensates for new "functionality" introduced
// in Win2K with regards to select() calls
// MS Transport Provider IOCTL to control
// reporting PORT_UNREACHABLE messages
// on UDP sockets via recv/WSARecv/etc.
// Path TRUE in input buffer to enable (default if supported),
// FALSE to disable.
#ifndef SIO_UDP_CONNRESET
#define SIO_UDP_CONNRESET _WSAIOW(IOC_VENDOR,12)
#endif//SIO_UDP_CONNRESET
SOCKET suUdpSocket()
{
SOCKET so = socket ( AF_INET, SOCK_DGRAM, 0 );
#if defined(_DEBUG) && defined(WIN32)
if ( so == INVALID_SOCKET && WSANOTINITIALISED == WSAGetLastError() )
MessageBox ( NULL, "You forgot to call suStartup()!", "SockUtils", MB_OK|MB_ICONEXCLAMATION );
#endif
#ifdef WIN32
// for Windows 2000, disable new behavior...
// see: http://www-pc.uni-regensburg.de/systemsw/W2KPRO/UPDATE/POSTSP1/Q263823.htm
// this code is innocuous on other win32 platforms
DWORD dwBytesReturned = 0;
BOOL bNewBehavior = FALSE;
// disable new Win2K behavior using
// IOCTL: SIO_UDP_CONNRESET
// we don't care about return value :)
WSAIoctl(so, SIO_UDP_CONNRESET,
&bNewBehavior, sizeof(bNewBehavior),
NULL, 0, &dwBytesReturned,
NULL, NULL);
#endif
return so;
}
//// suShutdownConnection ////////////////////////////////////////////////
// Gracefully shuts the connection sd down. Returns true if it was able
// to shut it down nicely, false if we had to "slam" it shut.
// (either way, the socket does get closed)
bool suShutdownConnection(SOCKET sd)
{
if ( sd == INVALID_SOCKET )
return true;
// Disallow any further data sends. This will tell the other side
// that we want to go away now. If we skip this step, we don't
// shut the connection down nicely.
if (shutdown(sd, SD_SEND) == SOCKET_ERROR)
{
closesocket(sd);
return false;
}
// Receive any extra data still sitting on the socket. After all
// data is received, this call will block until the remote host
// acknowledges the TCP control packet sent by the shutdown above.
// Then we'll get a 0 back from recv, signalling that the remote
// host has closed its side of the connection.
char acReadBuffer[kBufferSize];
for ( ;; )
{
int nNewBytes = recv(sd, acReadBuffer, kBufferSize, 0);
if (nNewBytes == SOCKET_ERROR)
{
closesocket(sd);
return false;
}
else if (nNewBytes != 0)
{
// FYI, received (nNewBytes) unexpected bytes during shutdown.
}
else
{
// Okay, we're done!
break;
}
}
// Close the socket.
if (closesocket(sd) == SOCKET_ERROR)
{
return false;
}
return true;
}
//// suLookupAddress ////////////////////////////////////////////////
// Basically converts a name address to an ip address
in_addr_t suLookupAddress ( const char* pcHost )
{
in_addr_t nRemoteAddr = inet_addr(pcHost);
if ( nRemoteAddr == INADDR_NONE )
{
// pcHost isn't a dotted IP, so resolve it through DNS
hostent* pHE = gethostbyname(pcHost);
if ( pHE == 0 )
{
#if defined(_DEBUG) && defined(WIN32)
if ( WSANOTINITIALISED == WSAGetLastError() )
MessageBox ( NULL, "You forgot to call suStartup()!", "SockUtils", MB_OK|MB_ICONEXCLAMATION );
#endif
return INADDR_NONE;
}
nRemoteAddr = *((in_addr_t*)pHE->h_addr_list[0]);
}
return nRemoteAddr;
}
bool suConnect ( SOCKET so, in_addr_t iAddress, u_short iPort )
{
SockAddrIn sinRemote ( iAddress, iPort );
if ( SOCKET_ERROR == connect(so,sinRemote,sizeof(sinRemote)) )
{
#if defined(_DEBUG) && defined(WIN32)
if ( WSANOTINITIALISED == WSAGetLastError() )
MessageBox ( NULL, "You forgot to call suStartup()!", "SockUtils", MB_OK|MB_ICONEXCLAMATION );
#endif
return false;
}
return true;
}
bool suConnect ( SOCKET so, const char* szAddress, u_short iPort )
{
return suConnect ( so, suLookupAddress(szAddress), iPort );
}
//// suEstablishConnection ////////////////////////////////////////////////
// creates a socket of the specified type, connects to the ip address/port
// requested, and returns the SOCKET created
SOCKET suEstablishConnection ( in_addr_t iAddress, u_short iPort, int type )
{
// Create a socket
if ( type != SOCK_STREAM && type != SOCK_DGRAM )
return INVALID_SOCKET;
SOCKET so = socket(AF_INET, type, 0);
if ( so == INVALID_SOCKET )
return so;
if ( !suConnect(so, iAddress, iPort) )
{
closesocket(so);
return INVALID_SOCKET;
}
return so;
}
//// suEstablishConnection ////////////////////////////////////////////////
// creates a socket of the specified type, connects to the address/port
// requested, and returns the SOCKET created
SOCKET suEstablishConnection ( const char* szAddress, u_short iPort, int type )
{
return suEstablishConnection ( suLookupAddress ( szAddress ), iPort, type );
}
//// suBroadcast ////////////////////////////////////////////////
// takes a previously created broadcast-enabled UDP socket, and broadcasts
// a message on the local network
bool suBroadcast ( SOCKET so, u_short port, const char* buf, int len /* = -1 */ )
{
if ( len == -1 )
len = (int)strlen(buf);
#if 1
SockAddrIn to ( INADDR_BROADCAST, port );
#else // some strange MS OS's don't broadcast to localhost...
SockAddrIn to ( "127.0.0.1", port );
if ( SOCKET_ERROR == sendto ( so, buf, len, 0, to, sizeof(to) ) )
return false;
to.sin_addr.s_addr = INADDR_BROADCAST;
#endif
if ( SOCKET_ERROR == sendto ( so, buf, len, 0, to, sizeof(to) ) )
return false;
return true;
}
//// suRecv ////////////////////////////////////////////////
// retrieves data sent to our TCP socket. If no data, waits for
// a period of timeout ms.
// returns bytes received
// -1 == SOCKET_ERROR
// -2 == timed out waiting for data
int suRecv ( SOCKET so, char* buf, int buflen, int timeout )
{
struct timeval to;
fd_set rread;
int res;
FD_ZERO(&rread); // clear the fd_set
FD_SET(so,&rread); // indicate which socket(s) we want to check
memset((char *)&to,0,sizeof(to)); // clear the timeval struct
to.tv_sec = timeout; // timeout select after (timeout) seconds
// select returns > 0 if there is an event on the socket
res = select((int)so+1, &rread, (fd_set *)0, (fd_set *)0, &to );
if (res < 0)
return -1; // socket error
// there was an event on the socket
if ( (res>0) && (FD_ISSET(so,&rread)) )
return recv ( so, buf, buflen, 0 );
return -2;
}
//// suRecvFrom ////////////////////////////////////////////////
// retrieves data sent to our UDP socket. If no data, waits for
// a period of timeout ms.
// returns bytes received
// returns bytes received
// -1 == SOCKET_ERROR
// -2 == timed out waiting for data
int suRecvFrom ( SOCKET so, char* buf, int buflen, int timeout, sockaddr_in* from, socklen_t* fromlen )
{
struct timeval to;
fd_set rread;
int res;
FD_ZERO(&rread); // clear the fd_set
FD_SET(so,&rread); // indicate which socket(s) we want to check
memset((char *)&to,0,sizeof(to)); // clear the timeval struct
to.tv_sec = timeout; // timeout select after (timeout) seconds
// select returns > 0 if there is an event on the socket
res = select((int)so+1, &rread, (fd_set *)0, (fd_set *)0, &to );
if (res < 0)
return -1; // socket error
// there was an event on the socket
if ( (res>0) && (FD_ISSET(so,&rread)) )
return recvfrom ( so, buf, buflen, 0, (sockaddr*)from, fromlen );
return -2; // timeout
}
//// suBind ////////////////////////////////////////////////
// binds a UDP socket to an interface & port to receive
// data on that port
bool suBind ( SOCKET so, in_addr_t iInterfaceAddress, u_short iListenPort, bool bReuseAddr /* = false */ )
{
SockAddrIn sinInterface ( iInterfaceAddress, iListenPort );
if ( bReuseAddr )
{
int optval = -1; // true
if ( SOCKET_ERROR == setsockopt ( so, SOL_SOCKET, SO_REUSEADDR, (const char*)&optval, sizeof(optval) ) )
{
#if defined(_DEBUG) && defined(WIN32)
if ( WSANOTINITIALISED == WSAGetLastError() )
MessageBox ( NULL, "You forgot to call suStartup()!", "SockUtils", MB_OK|MB_ICONEXCLAMATION );
#endif
return false;
}
}
if ( SOCKET_ERROR == bind(so, sinInterface, sizeof(sinInterface)) )
{
int err = SUERRNO;
if ( err != EADDRINUSE )
return false;
#if defined(_DEBUG) && defined(WIN32)
if ( WSANOTINITIALISED == WSAGetLastError() )
MessageBox ( NULL, "You forgot to call suStartup()!", "SockUtils", MB_OK|MB_ICONEXCLAMATION );
#endif
}
return true;
}
//// suBind ////////////////////////////////////////////////
// binds a UDP socket to an interface & port to receive
// data on that port
bool suBind ( SOCKET so, const char* szInterfaceAddress, u_short iListenPort, bool bReuseAddr /* = false */ )
{
in_addr_t iInterfaceAddr = inet_addr(szInterfaceAddress);
if ( iInterfaceAddr == INADDR_NONE )
return false;
return suBind ( so, iInterfaceAddr, iListenPort, bReuseAddr );
}
//// suEnableBroadcast ////////////////////////////////////////////////
// in order to send broadcast messages on a UDP socket, this function
// must be called first
bool suEnableBroadcast ( SOCKET so, bool bEnable /* = true */ )
{
int optval = bEnable ? -1 : 0;
if ( SOCKET_ERROR == setsockopt ( so, SOL_SOCKET, SO_BROADCAST, (const char*)&optval, sizeof(optval) ) )
return false;
return true;
}
//// suErrDesc ////////////////////////////////////////////////
// returns text description of error code
const char* suErrDesc ( int err )
{
static char errbuf[256];
#ifdef WIN32
switch ( err )
{
#define X(E) case E: return #E;
X(WSAEINTR) X(WSAEBADF)
X(WSAEACCES) X(WSAEFAULT)
X(WSAEINVAL) X(WSAEMFILE)
X(WSAEWOULDBLOCK) X(WSAEINPROGRESS)
X(WSAEALREADY) X(WSAENOTSOCK)
X(WSAEDESTADDRREQ) X(WSAEMSGSIZE)
X(WSAEPROTOTYPE) X(WSAENOPROTOOPT)
X(WSAEPROTONOSUPPORT) X(WSAESOCKTNOSUPPORT)
X(WSAEOPNOTSUPP) X(WSAEPFNOSUPPORT)
X(WSAEAFNOSUPPORT) X(WSAEADDRINUSE)
X(WSAEADDRNOTAVAIL) X(WSAENETDOWN)
X(WSAENETUNREACH) X(WSAENETRESET)
X(WSAECONNABORTED) X(WSAECONNRESET)
X(WSAENOBUFS) X(WSAEISCONN)
X(WSAENOTCONN) X(WSAESHUTDOWN)
X(WSAETOOMANYREFS) X(WSAETIMEDOUT)
X(WSAECONNREFUSED) X(WSAELOOP)
X(WSAENAMETOOLONG) X(WSAEHOSTDOWN)
X(WSAEHOSTUNREACH) X(WSAENOTEMPTY)
X(WSAEPROCLIM) X(WSAEUSERS)
X(WSAEDQUOT) X(WSAESTALE)
X(WSAEREMOTE) X(WSASYSNOTREADY)
X(WSAVERNOTSUPPORTED) X(WSANOTINITIALISED)
X(WSAEDISCON) X(WSAENOMORE)
X(WSAECANCELLED) X(WSAEINVALIDPROCTABLE)
X(WSAEINVALIDPROVIDER) X(WSAEPROVIDERFAILEDINIT)
X(WSASYSCALLFAILURE) X(WSASERVICE_NOT_FOUND)
X(WSATYPE_NOT_FOUND) X(WSA_E_NO_MORE)
X(WSA_E_CANCELLED) X(WSAEREFUSED)
#undef X
}
snprintf ( errbuf, sizeof(errbuf), "Unknown socket error (%lu)", err );
errbuf[sizeof(errbuf)-1] = '\0';
return errbuf;
#elif defined(UNIX)
perror(errbuf);
return errbuf;
#else
# error unrecognized target
#endif
}
#if defined(UNICODE) || defined(_UNICODE)
in_addr_t suLookupAddress ( const wchar_t* pcHost )
{
int len = wcslen(pcHost);
char* p = new char[len+1];
wcstombs ( p, pcHost, len );
p[len] = 0;
in_addr_t rc = suLookupAddress ( p );
delete[] p;
return rc;
}
bool suBroadcast ( SOCKET so, u_short port, const wchar_t* buf, int len /* = -1 */ )
{
char* p = new char[len+1];
wcstombs ( p, buf, len );
p[len] = 0;
bool rc = suBroadcast ( so, port, p, len );
delete[] p;
return rc;
}
int suRecv ( SOCKET so, wchar_t* buf, int buflen, int timeout )
{
char* p = new char[buflen+1];
int rc = suRecv ( so, p, buflen, timeout );
p[buflen] = 0;
mbstowcs ( buf, p, buflen );
delete[] p;
return rc;
}
int suRecvFrom ( SOCKET so, wchar_t* buf, int buflen, int timeout, sockaddr_in* from, int* fromlen )
{
char* p = new char[buflen+1];
int rc = suRecvFrom ( so, p, buflen, timeout, from, fromlen );
p[buflen] = 0;
mbs2wcs ( buf, p, buflen );
delete[] p;
return rc;
}
bool suBind ( SOCKET so, const wchar_t* szInterfaceAddress, u_short iListenPort, bool bReuseAddr /* = false */ )
{
int len = wcslen(szInterfaceAddress);
char* p = new char[len+1];
wcstombs ( p, szInterfaceAddress, len );
p[len] = 0;
bool rc = suBind ( so, p, iListenPort, bReuseAddr );
delete[] p;
return rc;
}
#endif//UNICODE
suBufferedRecvSocket::suBufferedRecvSocket ( SOCKET so )
: suSocket ( so ), _off(0), _len(0)
{
}
int suBufferedRecvSocket::recvUntil ( std::string& buf, char until, int timeout )
{
if ( !_len )
_off = 0;
else if ( _off > (sizeof(_buf)>>1) )
{
memmove ( _buf, &_buf[_off], _len );
_off = 0;
}
char* poff = &_buf[_off];
for ( ;; )
{
char* p = (char*)memchr ( poff, until, _len );
if ( p /*&& p < &poff[_len]*/ )
{
int ret_len = p-poff+1;
buf.resize ( ret_len );
memmove ( &buf[0], poff, ret_len );
_off += ret_len;
_len -= ret_len;
return ret_len;
}
int rc = suRecv ( *this, &poff[_len], sizeof(_buf)-_len-_off, timeout );
if ( rc < 0 )
{
if ( _len )
{
rc = _len;
buf.resize ( rc );
memmove ( &buf[0], &_buf[_off], rc );
_len = 0;
}
return rc;
}
_len += rc;
}
}
void suBufferedRecvSocket::recvPending()
{
if ( !_len )
_off = 0;
else if ( _off > (sizeof(_buf)>>1) )
{
memmove ( _buf, &_buf[_off], _len );
_off = 0;
}
char* poff = &_buf[_off];
while ( sizeof(_buf)-_len-_off )
{
int rc = suRecv ( *this, &poff[_len], sizeof(_buf)-_len-_off, 1 );
if ( rc <= 0 )
break;
_len += rc;
}
}
bool suBufferedRecvSocket::recvInStr ( char c )
{
return NULL != memchr ( &_buf[_off], c, _len );
}

View File

@@ -1,132 +0,0 @@
// SockUtils.h - Declarations for the Winsock utility functions module.
// (C) 2002-2004 Royce Mitchell III
// This file is under the BSD & LGPL licenses
#ifndef __SOCKUTILS_H
#define __SOCKUTILS_H
#include <string>
#ifdef WIN32
# include <winsock2.h>
# define in_addr_t u_long
# define SUERRNO WSAGetLastError()
# define EADDRINUSE WSAEADDRINUSE
# define ENOTSOCK WSAENOTSOCK
# define socklen_t int
#elif defined(UNIX)
# include <sys/types.h>
# include <sys/socket.h>
# include <netinet/in.h>
# include <unistd.h>
# include <errno.h>
# define closesocket(so) close(so)
# define SOCKET int
# define INVALID_SOCKET -1
# define SOCKET_ERROR -1
# define SUERRNO errno
# ifdef MACOSX
# define socklen_t int //Stupid mac
# endif
#else
# error unrecognized target
#endif
#include <assert.h>
extern bool suStartup();
extern SOCKET suTcpSocket();
extern SOCKET suUdpSocket();
extern bool suShutdownConnection(SOCKET sd);
extern in_addr_t suLookupAddress ( const char* pcHost );
extern bool suConnect ( SOCKET so, in_addr_t iAddress, u_short iPort );
extern bool suConnect ( SOCKET so, const char* szAddress, u_short iPort );
extern SOCKET suEstablishConnection ( in_addr_t iAddress, u_short iPort, int type );
extern SOCKET suEstablishConnection ( const char* szAddress, u_short iPort, int type );
extern bool suBroadcast ( SOCKET so, u_short port, const char* buf, int len = -1 );
extern int suRecv ( SOCKET so, char* buf, int buflen, int timeout );
extern int suRecvFrom ( SOCKET so, char* buf, int buflen, int timeout, sockaddr_in* from, socklen_t* fromlen );
extern bool suBind ( SOCKET so, in_addr_t iInterfaceAddress, u_short iListenPort, bool bReuseAddr = false );
extern bool suBind ( SOCKET so, const char* szInterfaceAddress, u_short iListenPort, bool bReuseAddr = false );
extern bool suEnableBroadcast ( SOCKET so, bool bEnable = true );
extern const char* suErrDesc ( int err );
#if defined(UNICODE) || defined(_UNICODE)
extern in_addr_t suLookupAddress ( const wchar_t* pcHost );
extern bool suBroadcast ( SOCKET so, u_short port, const wchar_t* buf, int len = -1 );
extern int suRecv ( SOCKET so, wchar_t* buf, int buflen, int timeout );
extern int suRecvFrom ( SOCKET so, wchar_t* buf, int buflen, int timeout, sockaddr_in* from, int* fromlen );
extern bool suBind ( SOCKET so, const wchar_t* szInterfaceAddress, u_short iListenPort, bool bReuseAddr = false );
#endif//UNICODE
class suSocket
{
SOCKET _so;
public:
suSocket ( SOCKET so = INVALID_SOCKET ) : _so(so)
{
}
const suSocket& operator = ( SOCKET so )
{
assert ( _so == INVALID_SOCKET ); // must Detach() or Close() existing socket first
_so = so;
return *this;
}
virtual ~suSocket()
{
Close();
}
void Close()
{
if ( _so != INVALID_SOCKET )
{
//suShutdownConnection ( _so ); // TODO - only valid on TCP sockets
closesocket ( _so );
_so = INVALID_SOCKET;
}
}
operator SOCKET() const
{
return _so;
}
SOCKET Attach ( SOCKET so )
{
SOCKET old = Detach();
_so = so;
return old;
}
SOCKET Detach()
{
SOCKET so = _so;
_so = INVALID_SOCKET;
return so;
}
private:
// disable copy semantics
suSocket ( const suSocket& );
const suSocket& operator = ( const suSocket& );
};
class suBufferedRecvSocket : public suSocket
{
char _buf[2048];
int _off;
int _len;
public:
suBufferedRecvSocket ( SOCKET so = INVALID_SOCKET );
int recvUntil ( std::string& buf, char until, int timeout );
void recvPending();
bool recvInStr ( char c );
};
class SockAddrIn : public sockaddr_in
{
public:
SockAddrIn(); // creates broadcast address
SockAddrIn ( const char* szAddr, u_short iPort );
SockAddrIn ( in_addr_t iAddr, u_short iPort );
operator sockaddr* () { return (sockaddr*)this; }
operator sockaddr_in* () { return (sockaddr_in*)this; }
};
#endif//__SOCKUTILS_H

View File

@@ -1,96 +0,0 @@
// SplitJoin.cpp
//
// This code is copyright 2003-2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#ifdef _MSC_VER
#pragma warning ( disable : 4786 ) // MSVC6 can't handle too-long template names
#endif//_MSC_VER
//#include <sstream>
#include "SplitJoin.h"
#include <string.h>
using std::string;
using std::vector;
//using std::stringstream;
static const char* quotes = "\"\'";
bool Split ( vector<string>& vec, const char* csv, char sep, bool merge )
{
string scsv ( csv );
char* col = &scsv[0];
vec.resize ( 0 );
for ( ;; )
{
char* p = col;
while ( isspace(*p) && *p != sep )
p++;
char quote = 0;
if ( strchr ( quotes, *p ) )
quote = *p++;
while ( *p && (*p != sep || quote) )
{
if ( *p++ == quote )
break;
}
while ( isspace(*p) && *p != sep )
p++;
if ( *p && *p != sep )
return false;
string scol ( col, p-col );
//quote = scol[0];
if ( quote )
{
if ( scol[scol.size()-1] == quote )
scol = string ( &scol[1], scol.size()-2 );
}
if ( scol.length() || !merge )
vec.push_back ( scol );
if ( !*p )
break;
col = p + 1;
}
return true;
}
bool Join ( string& csv, vector<string>& vec, char sep )
{
csv.resize(0);
for ( int i = 0; i < vec.size(); i++ )
{
if ( i )
csv += sep;
string& s = vec[i];
if ( strchr ( s.c_str(), sep ) )
{
if ( strchr ( s.c_str(), '\"' ) )
{
if ( strchr ( s.c_str(), '\'' ) )
return false; // the sep, " and ' are all in the string, can't build valid output
csv += '\'';
csv += s;
csv += '\'';
}
else
{
csv += '\"';
csv += s;
csv += '\"';
}
}
else
csv += s;
}
return true;
}

View File

@@ -1,32 +0,0 @@
// SplitJoin.h
//
// This code is copyright 2003-2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#ifndef SPLITJOIN_H
#define SPLITJOIN_H
#include <vector>
#include <string>
bool Split (
std::vector<std::string>& vec,
const char* csv,
char sep=',',
bool merge=false );
bool Join (
std::string& csv,
std::vector<std::string>& vec,
char sep=',' );
inline bool Split (
std::vector<std::string>& vec,
const std::string& csv,
char sep=',',
bool merge=false )
{
return Split ( vec, csv.c_str(), sep, merge );
}
#endif//SPLIT_H

View File

@@ -1,240 +0,0 @@
// ThreadPool.cpp
// This file is (C) 2003-2004 Royce Mitchell III
// and released under the LGPL & BSD licenses
#include <vector>
using std::vector;
#include "ThreadPool.h"
#include "QueueT.h"
#include "auto_vector.h"
#include "verify.h"
#include "ReliMT.h"
class PoolableThread : public ActiveObject
{
public:
PoolableThread ( ThreadPoolImpl& );
~PoolableThread()
{
Kill();
}
void InitThread();
void Run();
void FlushThread();
ThreadPoolImpl& _pool;
};
class ThreadPoolLaunchData
{
public:
ThreadPoolFunc* pFun;
void* pArg;
};
template <class T>
class AtomicCounter : public Uncopyable
{
Mutex _m;
T _t;
public:
AtomicCounter ( T init = 0 ) : _t(init)
{
}
AtomicCounter ( const AtomicCounter<T>& t )
{
//Mutex::Lock l ( _m ); // don't need to lock since this is a ctor
Mutex::Lock l2 ( t._m );
_t = t._t;
}
const AtomicCounter<T>& operator = ( const AtomicCounter<T>& t )
{
Mutex::Lock l ( _m );
Mutex::Lock l2 ( t._m );
_t = t._t;
return *this;
}
T operator ++ ()
{
Mutex::Lock l ( _m );
T t = _t++;
return t;
}
const AtomicCounter<T>& operator ++ ( int )
{
Mutex::Lock l ( _m );
++_t;
return *this;
}
T operator -- ()
{
Mutex::Lock l ( _m );
T t = _t--;
return t;
}
const AtomicCounter<T>& operator -- ( int )
{
Mutex::Lock l ( _m );
--_t;
return *this;
}
const AtomicCounter<T>& operator += ( T t )
{
Mutex::Lock l ( _m );
return _t += t;
return *this;
}
const AtomicCounter<T>& operator -= ( T t )
{
Mutex::Lock l ( _m );
return _t -= t;
return *this;
}
operator const T& () const
{
//Mutex::Lock l ( _m );
return _t;
}
T operator !() const
{
//Mutex::Lock l ( _m );
return !_t;
}
};
class ThreadPoolImpl : public Uncopyable
{
public:
ThreadPoolImpl() : _isDying(false), _idleThreads(0)
{
}
~ThreadPoolImpl()
{
}
void Shutdown()
{
_isDying = true;
while ( _idleThreads )
{
_threadWaitEvent.Release();
_threadStartEvent.Wait(); // let thread actually get a grip
}
}
void Launch ( ThreadPoolFunc* pFun, void* pArg )
{
// this mutex is necessary to make sure we never have a conflict
// between checking !_idleThreads and the call to _threadStartEvent.Wait()
// basically if 2 threads call Launch() simultaneously, and there is only
// 1 idle thread, it's possible that a new thread won't be created to
// satisfy the 2nd request until an existing thread finishes.
Mutex::Lock launchlock ( _launchMutex );
ASSERT ( pFun );
ThreadPoolLaunchData* data;
{
Mutex::Lock lock ( _vectorMutex );
if ( !_spareData.size() )
_spareData.push_back ( new ThreadPoolLaunchData() );
data = _spareData.pop_back().release();
if ( !_idleThreads )
_threads.push_back ( new PoolableThread(*this) );
}
data->pFun = pFun;
data->pArg = pArg;
verify ( _pendingData.Add ( data ) );
_threadWaitEvent.Release(); // tell a thread to do it's thing...
_threadStartEvent.Wait(); // wait on a thread to pick up the request
}
// functions for threads to call...
ThreadPoolLaunchData* GetPendingData()
{
ThreadPoolLaunchData* data = NULL;
++_idleThreads;
_threadWaitEvent.Wait(); // waits until there's a request
--_idleThreads;
_threadStartEvent.Release(); // tell requester we got it
if ( _isDying )
return NULL;
_pendingData.Get ( data );
ASSERT ( data );
return data;
}
void RecycleData ( ThreadPoolLaunchData* data )
{
Mutex::Lock lock ( _vectorMutex );
_spareData.push_back ( data );
}
bool _isDying;
Mutex _vectorMutex, _launchMutex;
auto_vector<PoolableThread> _threads;
auto_vector<ThreadPoolLaunchData> _spareData;
CQueueT<ThreadPoolLaunchData*> _pendingData;
Event _threadWaitEvent, _threadStartEvent;
AtomicCounter<int> _idleThreads;
};
///////////////////////////////////////////////////////////////////////////////
// ThreadPool
/*static*/ ThreadPool& ThreadPool::Instance()
{
static ThreadPool tp;
return tp;
}
ThreadPool::ThreadPool() : _pimpl ( new ThreadPoolImpl )
{
};
ThreadPool::~ThreadPool()
{
_pimpl->Shutdown();
delete _pimpl;
_pimpl = 0;
}
void ThreadPool::Launch ( ThreadPoolFunc* pFun, void* pArg )
{
_pimpl->Launch ( pFun, pArg );
}
int ThreadPool::IdleThreads()
{
return _pimpl->_idleThreads;
}
///////////////////////////////////////////////////////////////////////////////
// PoolableThread
PoolableThread::PoolableThread ( ThreadPoolImpl& pool ) : _pool(pool)
{
Start();
}
void PoolableThread::InitThread()
{
}
void PoolableThread::Run()
{
ThreadPoolLaunchData* data;
while ( !_isDying )
{
data = _pool.GetPendingData(); // enter wait state if none...
if ( !data ) // NULL data means kill thread
break;
(*data->pFun) ( data->pArg ); // call the function
_pool.RecycleData ( data );
}
}
void PoolableThread::FlushThread()
{
}

View File

@@ -1,28 +0,0 @@
// ThreadPool.h
// This file is (C) 2003-2004 Royce Mitchell III
// and released under the LGPL & BSD licenses
#ifndef THREADPOOL_H
#define THREADPOOL_H
#include "ReliMT.h"
typedef void THREADAPI ThreadPoolFunc ( void* );
class ThreadPoolImpl;
class ThreadPool : public Uncopyable
{
public:
static ThreadPool& Instance();
~ThreadPool();
void Launch ( ThreadPoolFunc* pFun, void* pArg );
int IdleThreads();
private:
ThreadPool();
ThreadPoolImpl *_pimpl;
};
#endif// THREADPOOL_H

View File

@@ -1,87 +0,0 @@
// auto_ptr.h
// This file is (C) 2002-2003 Royce Mitchell III
// and released under the LGPL & BSD licenses
#ifndef AUTO_PTR_H
#define AUTO_PTR_H
template<class T>
class auto_ptr
{
public:
typedef T element_type;
explicit auto_ptr(T *p = 0) : _p(p)
{
}
auto_ptr(auto_ptr<T>& rhs) : _p(rhs.release())
{
}
auto_ptr<T>& operator=(auto_ptr<T>& rhs)
{
if ( &rhs != this )
{
dispose();
_p = rhs.release();
}
return *this;
}
auto_ptr<T>& set ( auto_ptr<T>& rhs )
{
if ( &rhs != this )
{
dispose();
_p = rhs.release();
}
return *this;
}
~auto_ptr()
{
dispose();
}
void dispose()
{
if ( _p )
{
delete _p;
_p = 0;
}
}
T& operator[] ( int i )
{
return _p[i];
}
T& operator*() const
{
return *_p;
}
T* operator->() const
{
return _p;
}
T* get() const
{
return _p;
}
T* release()
{
T* p = _p;
_p = 0;
return p;
}
private:
T* _p;
};
#endif//AUTO_PTR_H

View File

@@ -1,141 +0,0 @@
// auto_vector.h
// This file is (C) 2002-2004 Royce Mitchell III
// and released under the LGPL & BSD licenses
#ifndef AUTO_VECTOR_H
#define AUTO_VECTOR_H
#include <sys/types.h>
#include "verify.h"
#include "auto_ptr.h"
template<class T>
class auto_vector
{
public:
explicit auto_vector ( size_t capacity = 0 )
: _arr(0), _capacity(0), _end(0)
{
if ( capacity != 0 )
_arr = new auto_ptr<T>[capacity];
_capacity = capacity;
}
~auto_vector()
{
delete []_arr;
}
size_t size() const
{
return _end;
}
const auto_ptr<T>& operator [] ( size_t i ) const
{
ASSERT ( i < _end );
return _arr[i];
}
auto_ptr<T>& operator [] ( size_t i )
{
ASSERT ( i < _end );
return _arr[i];
}
void assign ( size_t i, auto_ptr<T>& p )
{
ASSERT ( i < _end );
_arr[i] = p;
}
void assign_direct ( size_t i, T * p )
{
ASSERT ( i < _end );
reserve ( i + 1 );
_arr[i].reset ( p );
}
void push_back ( auto_ptr<T>& p )
{
reserve ( _end + 1 );
_arr[_end++] = p;
}
auto_ptr<T>& back()
{
ASSERT ( _end != 0 );
return _arr[_end-1];
}
void push_back ( T * p )
{
reserve ( _end + 1 );
auto_ptr<T> tmp(p);
_arr[_end++] = tmp;
//GCC is pedantic, this is an error.
//_arr[_end++] = auto_ptr<T>(p);
}
auto_ptr<T> pop_back()
{
ASSERT ( _end != 0 );
if ( !_end )
{
auto_ptr<T> tmp((T*)0);
return tmp;
//GCC, this is an error.
//return auto_ptr<T>(NULL);
}
return _arr[--_end];
}
void resize ( size_t newSize )
{
ASSERT ( newSize >= 0 );
reserve ( newSize ); // make sure we have at least this much room
_end = newSize;
}
void reserve ( size_t reqCapacity )
{
if ( reqCapacity <= _capacity )
return;
size_t newCapacity = 2 * _capacity;
if ( reqCapacity > newCapacity )
newCapacity = reqCapacity;
// allocate new array
auto_ptr<T> * arrNew = new auto_ptr<T> [newCapacity];
// transfer all entries
for ( size_t i = 0; i < _capacity; ++i )
arrNew[i] = _arr[i];
_capacity = newCapacity;
// free old memory
delete[] _arr;
// substitute new array for old array
_arr = arrNew;
}
void remove ( size_t off )
{
size_t last = _end-1;
if ( off == last )
resize ( last );
else if ( off < last )
{
auto_ptr<T> tmp ( pop_back().release() );
_arr[off] = tmp;
}
}
//typedef const_auto_iterator<T> const_iterator;
//const_iterator begin () const { return _arr; }
//const_iterator end () const { return _arr + _end; }
private:
auto_ptr<T> *_arr;
size_t _capacity;
size_t _end;
};
#endif//AUTO_VECTOR_H

View File

@@ -1,58 +0,0 @@
// base64.cpp
#include "base64.h"
using std::string;
static const char* alfabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
string base64_encode ( const string& sInput )
{
unsigned char x=0, topbit=0;
int v=0;
string sOutput;
do
{
if ( topbit < 6 )
{
x++;
v <<= 8;
if ( x <= sInput.length() ) v += sInput[x-1];
topbit += 8;
}
topbit -= 6;
if ( x > sInput.length() && !v )
break;
sOutput += alfabet[(v >> topbit) & 63];
v &= (1 << topbit) - 1;
} while ( x < sInput.length() || v );
int eq = (8 - (sOutput.length() % 4)) % 4;
while ( eq-- )
sOutput += '=';
return sOutput;
}
string base64_decode ( const string& sInput )
{
unsigned char x=0, topbit=0;
int v=0, inlen = sInput.length();
string sOutput;
while ( inlen && sInput[inlen-1] == '=' )
inlen--;
do
{
while ( topbit < 8 )
{
x++;
v <<= 6;
if ( x <= inlen ) v += (strchr(alfabet, sInput[x-1]) - alfabet);
topbit += 6;
}
topbit -= 8;
if ( x > inlen && !v )
break;
sOutput += (char)((v >> topbit) & 255);
v &= ((1 << topbit) - 1);
} while ( x <= inlen || v );
return sOutput;
}

View File

@@ -1,12 +0,0 @@
// base64.h
#ifndef BASE64_H
#define BASE64_H
#include <string>
std::string base64_encode ( const std::string& s );
std::string base64_decode ( const std::string& s );
#endif//BASE64_H

View File

@@ -1,15 +0,0 @@
// chomp.cpp
// This file is (C) 2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#include "chomp.h"
std::string chomp ( const std::string& s )
{
const char* p = &s[0];
const char* p2 = &s[0] + s.size();
while ( p2 > p && strchr("\r\n", p2[-1]) )
p2--;
return std::string ( p, p2-p );
}

View File

@@ -1,13 +0,0 @@
// chomp.h
// This file is (C) 2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#ifndef CHOMP_H
#define CHOMP_H
#include <string>
std::string chomp ( const std::string& s );
#endif//TRIM_H

View File

@@ -1,7 +0,0 @@
#define SERVER "irc.freenode.net"
#define BOTNAME "ArchBlackmann"
#define CHANNEL "#ReactOS"
#define MODE "+i"
#define PASS "ilovebunnies"

View File

@@ -1,23 +0,0 @@
// cram_md5.cpp
// This file is (C) 2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#include "MD5.h"
#include "cram_md5.h"
#include "base64.h"
using std::string;
string cram_md5 ( const string& username, const string& password, const string& greeting )
{
string challenge = base64_decode ( greeting );
string hmac = HMAC_MD5 ( password, challenge );
//printf ( "(cram_md5): hmac = %s\n", hmac.c_str() );
string raw_response = username;
raw_response += " ";
raw_response += hmac;
//printf ( "(cram_md5): raw_response = %s\n", raw_response.c_str() );
return base64_encode ( raw_response );
}

View File

@@ -1,15 +0,0 @@
// cram_md5.h
// This file is (C) 2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#ifndef CRAM_MD5_H
#define CRAM_MD5_H
#include <string>
std::string cram_md5 (
const std::string& username,
const std::string& password,
const std::string& greeting );
#endif//CRAM_MD5_H

View File

@@ -1,27 +0,0 @@
shit
fuck
pussy
ass
ass-
-ass
dumbass
jackass
fatass
asshole
smartass
cunt
fucker
bitch
dick
penile
stfu
omfg
lmao
ass.
-ass.
semprini
goat.cx
ekush
akshor
poop
guten morgen

View File

@@ -1,10 +0,0 @@
You should have your mouth washed out with soap!
This is a clean channel... please watch your language
Please try to keep it clean
Hey, there's children present ( I'm not even a year old yet! )
Could you find a less-offensive way to express yourself, please?
Such language :(
Those aren't nice words to use
Oh, my poor innocent ears :(
Help! My mind is being corrupted!
filthy mouths are not appreciated here

View File

@@ -1,15 +0,0 @@
Royce3
kjk_hyperion
tamlin
GvG
filip2307
hardon
w3seek
arty
sedwards
Exception
blight_
jimtabor
mtempel
Gge
Alex_Ionescu

View File

@@ -1,580 +0,0 @@
CcCanIWrite
CcCopyRead
CcCopyWrite
CcDeferWrite
CcFastCopyRead
CcFastCopyWrite
CcFlushCache
CcGetDirtyPages
CcGetFileObjectFromBcb
CcGetFileObjectFromSectionPtrs
CcGetFlushedValidData
CcGetLsnForFileObject
CcInitializeCacheMap
CcIsThereDirtyData
CcMapData
CcMdlRead
CcMdlReadComplete
CcMdlWriteAbort
CcMdlWriteComplete
CcPinMappedData
CcPinRead
CcPrepareMdlWrite
CcPreparePinWrite
CcPurgeCacheSection
CcRemapBcb
CcRepinBcb
CcScheduleReadAhead
CcSetAdditionalCacheAttributes
CcSetBcbOwnerPointer
CcSetDirtyPageThreshold
CcSetDirtyPinnedData
CcSetFileSizes
CcSetLogHandleForFile
CcSetReadAheadGranularity
CcUninitializeCacheMap
CcUnpinData
CcUnpinDataForThread
CcUnpinRepinnedBcb
CcWaitForCurrentLazyWriterActivity
CcZeroData
DbgLoadImageSymbols
DbgQueryDebugFilterState
DbgSetDebugFilterState
EVENT_TYPE
ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
ExAcquireResourceSharedLite
ExAcquireSharedStarveExclusive
ExAcquireSharedWaitForExclusive
ExAllocateFromZone
ExAllocatePool
ExAllocatePoolWithQuota
ExAllocatePoolWithQuotaTag
ExAllocatePoolWithTag
ExConvertExclusiveToSharedLite
ExCreateCallback
ExDeleteNPagedLookasideList
ExDeletePagedLookasideList
ExDeleteResource
ExDeleteResourceLite
ExDisableResourceBoostLite
ExEnumHandleTable
ExExtendZone
ExFreePool
ExGetCurrentProcessorCounts
ExGetCurrentProcessorCpuUsage
ExGetExclusiveWaiterCount
ExGetPreviousMode
ExGetSharedWaiterCount
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
ExInitializeResource
ExInitializeResourceLite
ExInitializeZone
ExInterlockedAddLargeInteger
ExInterlockedAddUlong
ExInterlockedDecrementLong
ExInterlockedExchangeUlong
ExInterlockedExtendZone
ExInterlockedIncrementLong
ExInterlockedInsertHeadList
ExInterlockedInsertTailList
ExInterlockedPopEntryList
ExInterlockedPushEntryList
ExInterlockedRemoveHeadList
ExIsProcessorFeaturePresent
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredSharedLite
ExLocalTimeToSystemTime
ExNotifyCallback
ExPostSystemEvent
ExQueryPoolBlockSize
ExQueueWorkItem
ExRaiseAccessViolation
ExRaiseDatatypeMisalignment
ExRaiseException
ExRaiseHardError
ExRaiseStatus
ExRegisterCallback
ExReinitializeResourceLite
ExReleaseResource
ExReleaseResourceForThread
ExReleaseResourceForThreadLite
ExRosDumpPagedPoolByTag
ExRosQueryPoolTag
ExSetResourceOwnerPointer
ExSetTimerResolution
ExSystemExceptionFilter
ExSystemTimeToLocalTime
ExTryToAcquireResourceExclusiveLite
ExUnregisterCallback
ExUuidCreate
ExVerifySuite
FsRtlAcquireFileExclusive
FsRtlAddMcbEntry
FsRtlAddToTunnelCache
FsRtlAllocateFileLock
FsRtlAllocatePool
FsRtlAllocatePoolWithQuota
FsRtlAllocatePoolWithQuotaTag
FsRtlAllocatePoolWithTag
FsRtlAllocateResource
FsRtlAreNamesEqual
FsRtlBalanceReads
FsRtlCheckLockForReadAccess
FsRtlCheckLockForWriteAccess
FsRtlCopyRead
FsRtlCopyWrite
FsRtlFastCheckLockForRead
FsRtlFastCheckLockForWrite
FsRtlFastUnlockAll
FsRtlFastUnlockAllByKey
FsRtlFastUnlockSingle
FsRtlFindInTunnelCache
FsRtlFreeFileLock
FsRtlGetFileSize
FsRtlGetNextFileLock
FsRtlGetNextMcbEntry
FsRtlIncrementCcFastReadNoWait
FsRtlIncrementCcFastReadNotPossible
FsRtlIncrementCcFastReadResourceMiss
FsRtlIncrementCcFastReadWait
FsRtlInitializeFileLock
FsRtlInitializeMcb
FsRtlInitializeTunnelCache
FsRtlInsertPerFileObjectContext
FsRtlInsertPerStreamContext
FsRtlIsDbcsInExpression
FsRtlIsFatDbcsLegal
FsRtlIsHpfsDbcsLegal
FsRtlIsNameInExpression
FsRtlLookupLastLargeMcbEntryAndIndex
FsRtlLookupLastMcbEntry
FsRtlLookupMcbEntry
FsRtlLookupPerFileObjectContext
FsRtlLookupPerStreamContextInternal
FsRtlMdlRead
FsRtlMdlReadComplete
FsRtlMdlReadCompleteDev
FsRtlMdlReadDev
FsRtlMdlWriteComplete
FsRtlMdlWriteCompleteDev
FsRtlNotifyChangeDirectory
FsRtlNotifyCleanup
FsRtlNotifyFilterChangeDirectory
FsRtlNotifyFilterReportChange
FsRtlNotifyFullChangeDirectory
FsRtlNotifyFullReportChange
FsRtlNotifyReportChange
FsRtlNotifyUninitializeSync
FsRtlNumberOfRunsInMcb
FsRtlPostPagingFileStackOverflow
FsRtlPostStackOverflow
FsRtlPrepareMdlWrite
FsRtlPrepareMdlWriteDev
FsRtlPrivateLock
FsRtlProcessFileLock
FsRtlRegisterFileSystemFilterCallbacks
FsRtlReleaseFile
FsRtlRemoveMcbEntry
FsRtlRemovePerFileObjectContext
FsRtlRemovePerStreamContext
FsRtlResetLargeMcb
FsRtlSyncVolumes
FsRtlTeardownPerStreamContexts
FsRtlTruncateMcb
FsRtlUninitializeFileLock
FsRtlUninitializeMcb
HalAdjustResourceList
HalAllocateCommonBuffer
HalAssignSlotResources
HalCalibratePerformanceCounter
HalFlushCommonBuffer
HalFreeCommonBuffer
HalGetAdapter
HalGetBusData
HalGetBusDataByOffset
HalGetDmaAlignmentRequirement
HalMakeBeep
HalQueryDisplayParameters
HalQueryRealTimeClock
HalReadDmaCounter
HalRequestIpi
HalSetBusData
HalSetBusDataByOffset
HalSetDisplayParameters
HalSetRealTimeClock
HalStartNextProcessor
IoAcquireCancelSpinLock
IoAcquireRemoveLockEx
IoAcquireVpbSpinLock
IoAllocateAdapterChannel
IoAllocateController
IoAllocateDriverObjectExtension
IoAllocateErrorLogEntry
IoAllocateIrp
IoAllocateMdl
IoAllocateWorkItem
IoAssignResources
IoAttachDevice
IoAttachDeviceByPointer
IoAttachDeviceToDeviceStack
IoAttachDeviceToDeviceStackSafe
IoBuildAsynchronousFsdRequest
IoBuildDeviceIoControlRequest
IoBuildPartialMdl
IoBuildSynchronousFsdRequest
IoCallDriver
IoCancelFileOpen
IoCancelIrp
IoCheckQuerySetFileInformation
IoCheckQuerySetVolumeInformation
IoCheckQuotaBufferValidity
IoCheckShareAccess
IoCompleteRequest
IoConnectInterrupt
IoCreateController
IoCreateDevice
IoCreateDisk
IoCreateDriver
IoCreateFile
IoCreateFileSpecifyDeviceObjectHint
IoCreateNotificationEvent
IoCreateStreamFileObject
IoCreateStreamFileObjectEx
IoCreateStreamFileObjectLite
IoCreateSymbolicLink
IoCreateSynchronizationEvent
IoCreateUnprotectedSymbolicLink
IoDeleteController
IoDeleteDevice
IoDeleteDriver
IoDeleteSymbolicLink
IoDetachDevice
IoDisconnectInterrupt
IoEnqueueIrp
IoEnumerateDeviceObjectList
IoFlushAdapterBuffers
IoForwardIrpSynchronously
IoFreeAdapterChannel
IoFreeController
IoFreeErrorLogEntry
IoFreeIrp
IoFreeMapRegisters
IoFreeMdl
IoFreeWorkItem
IoGetAttachedDevice
IoGetAttachedDeviceReference
IoGetBaseFileSystemDeviceObject
IoGetBootDiskInformation
IoGetConfigurationInformation
IoGetCurrentProcess
IoGetDeviceAttachmentBaseRef
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceObjectPointer
IoGetDeviceProperty
IoGetDeviceToVerify
IoGetDiskDeviceObject
IoGetDriverObjectExtension
IoGetFileObjectGenericMapping
IoGetInitialStack
IoGetLowerDeviceObject
IoGetRelatedDeviceObject
IoGetRequestorProcess
IoGetRequestorProcessId
IoGetRequestorSessionId
IoGetStackLimits
IoGetTopLevelIrp
IoInitializeIrp
IoInitializeRemoveLockEx
IoInitializeTimer
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoIsFileOriginRemote
IoIsOperationSynchronous
IoIsSystemThread
IoIsValidNameGraftingBuffer
IoMakeAssociatedIrp
IoMapTransfer
IoOpenDeviceInstanceKey
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoPageRead
IoPnPDeliverServicePowerNotification
IoQueryDeviceDescription
IoQueryDeviceEnumInfo
IoQueryFileDosDeviceName
IoQueryFileInformation
IoQueryVolumeInformation
IoQueueThreadIrp
IoQueueWorkItem
IoRaiseHardError
IoRaiseInformationalHardError
IoReadDiskSignature
IoReadPartitionTableEx
IoRegisterBootDriverReinitialization
IoRegisterDeviceInterface
IoRegisterDriverReinitialization
IoRegisterFileSystem
IoRegisterFsRegistrationChange
IoRegisterLastChanceShutdownNotification
IoRegisterPlugPlayNotification
IoRegisterShutdownNotification
IoReleaseCancelSpinLock
IoReleaseRemoveLockAndWaitEx
IoReleaseRemoveLockEx
IoReleaseVpbSpinLock
IoRemoveShareAccess
IoReportDetectedDevice
IoReportHalResourceUsage
IoReportResourceForDetection
IoReportResourceUsage
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoReuseIrp
IoSetCompletionRoutineEx
IoSetDeviceInterfaceState
IoSetDeviceToVerify
IoSetFileOrigin
IoSetHardErrorOrVerifyDevice
IoSetInformation
IoSetIoCompletion
IoSetPartitionInformationEx
IoSetShareAccess
IoSetStartIoAttributes
IoSetSystemPartition
IoSetThreadHardErrorMode
IoSetTopLevelIrp
IoStartNextPacket
IoStartNextPacketByKey
IoStartPacket
IoStartTimer
IoStopTimer
IoSynchronousInvalidateDeviceRelations
IoSynchronousPageWrite
IoUnregisterFileSystem
IoUnregisterFsRegistrationChange
IoUnregisterPlugPlayNotification
IoUnregisterShutdownNotification
IoUpdateShareAccess
IoValidateDeviceIoControlAccess
IoVerifyPartitionTable
IoVerifyVolume
IoVolumeDeviceToDosName
IoWMIAllocateInstanceIds
IoWMIDeviceObjectToInstanceName
IoWMIExecuteMethod
IoWMIHandleToInstanceName
IoWMIOpenBlock
IoWMIQueryAllData
IoWMIQueryAllDataMultiple
IoWMIQuerySingleInstance
IoWMIQuerySingleInstanceMultiple
IoWMIRegistrationControl
IoWMISetNotificationCallback
IoWMISetSingleInstance
IoWMISetSingleItem
IoWMISuggestInstanceName
IoWMIWriteEvent
IoWriteErrorLogEntry
IoWritePartitionTableEx
KPRIORITY
KdPortGetByte
KdPortPollByte
KdPortPutByte
Ke386QueryIoAccessMap
Ke386SetIoAccessMap
KeAcquireInterruptSpinLock
KeAreApcsDisabled
KeCapturePersistentThreadState
KeDeregisterBugCheckReasonCallback
KeFindConfigurationEntry
KeFindConfigurationNextEntry
KeFlushEntireTb
KeFlushQueuedDpcs
KeGetRecommendedSharedDataAlignment
KeIsExecutingDpc
KeQueryActiveProcessors
KeQueryPerformanceCounter
KeQueryPriorityThread
KeQueryRuntimeThread
KeQuerySystemTime
KeQueryTickCount
KeQueryTimeIncrement
KeRaiseIrql
KeRaiseIrqlToDpcLevel
KeRaiseUserException
KeReadStateEvent
KeRegisterBugCheckCallback
KeRegisterBugCheckReasonCallback
KeReleaseInterruptSpinLock
KeReleaseMutant
KeReleaseMutex
KeReleaseSemaphore
KeReleaseSpinLock
KeReleaseSpinLockFromDpcLevel
KeReleaseSpinLockFromDpcLevel
KeRemoveByKeyDeviceQueue
KeRemoveByKeyDeviceQueueIfBusy
KeRemoveDeviceQueue
KeRemoveEntryDeviceQueue
KeRemoveSystemServiceTable
KeRestoreFloatingPointState
KeRevertToUserAffinityThread
KeRosDumpStackFrames
KeRosGetStackFrames
KeRosPrintAddress
KeSaveFloatingPointState
KeSetDmaIoCoherency
KeSetEvent
KeSetEventBoostPriority
KeSetIdealProcessorThread
KeSetKernelStackSwapEnable
KeSetProfileIrql
KeSetSystemAffinityThread
KeSetTimeIncrement
KeTerminateThread
KeUserModeCallback
KeWaitForMutexObject
KeWaitForSingleObject
KiCoprocessorError
KiUnexpectedInterrupt
LONG
LdrFindResourceDirectory_U
MmAddPhysicalMemory
MmAddVerifierThunks
MmAdjustWorkingSetSize
MmAdvanceMdl
MmAllocateContiguousMemory
MmAllocateContiguousMemorySpecifyCache
MmAllocateMappingAddress
MmAllocateNonCachedMemory
MmBuildMdlForNonPagedPool
MmCanFileBeTruncated
MmCreateMdl
MmCreateSection
MmDbgTranslatePhysicalAddress
MmDisableModifiedWriteOfSection
MmFlushImageSection
MmForceSectionClosed
MmFreeContiguousMemory
MmFreeMappingAddress
MmFreeNonCachedMemory
MmGetPhysicalAddress
MmGetPhysicalMemoryRanges
MmGetSystemRoutineAddress
MmGetVirtualForPhysical
MmGrowKernelStack
MmIsAddressValid
MmIsDriverVerifying
MmIsNonPagedSystemAddressValid
MmIsRecursiveIoFault
MmIsThisAnNtAsSystem
MmIsVerifierEnabled
MmLockPagableDataSection
MmLockPagableImageSection
MmLockPagableSectionByHandle
MmMapIoSpace
MmMapLockedPages
MmMapLockedPagesWithReservedMapping
MmMapMemoryDumpMdl
MmMapUserAddressesToPage
MmMapVideoDisplay
MmMapViewInSessionSpace
MmMapViewInSystemSpace
MmMapViewOfSection
MmMarkPhysicalMemoryAsBad
MmMarkPhysicalMemoryAsGood
MmPageEntireDriver
MmPrefetchPages
MmProbeAndLockPages
MmProbeAndLockProcessPages
MmProbeAndLockSelectedPages
MmProtectMdlSystemAddress
MmQuerySystemSize
MmRemovePhysicalMemory
MmResetDriverPaging
MmSecureVirtualMemory
MmSetAddressRangeModified
MmSetBankedSection
MmSizeOfMdl
MmTrimAllSystemPagableMemory
MmUnlockPagableImageSection
MmUnlockPages
MmUnmapIoSpace
MmUnmapLockedPages
MmUnmapReservedMapping
MmUnmapVideoDisplay
MmUnmapViewInSessionSpace
MmUnmapViewInSystemSpace
MmUnmapViewOfSection
MmUnsecureVirtualMemory
OUT
ObCreateObject
PEJOB
PEPROCESS
PKBUGCHECK_CALLBACK_RECORD
PKDEVICE_QUEUE_ENTRY
PKIRQL
PULONG
PVOID
PW32_THREAD_CALLBACK
PoCallDriver
PoRegisterDeviceForIdleDetection
PoRegisterSystemState
PoRequestPowerIrp
PoSetDeviceBusy
PoSetPowerState
PoSetSystemState
PoStartNextPowerIrp
PoUnregisterSystemState
ProbeForRead
ProbeForWrite
PsAssignImpersonationToken
PsCreateSystemProcess
PsCreateSystemThread
PsGetCurrentProcessId
PsGetCurrentThreadId
PsImpersonateClient
PsReferenceImpersonationToken
PsReferencePrimaryToken
PsRevertThreadToSelf
PsRevertToSelf
PsTerminateSystemThread
READ_PORT_BUFFER_UCHAR
READ_PORT_BUFFER_ULONG
READ_PORT_BUFFER_USHORT
READ_PORT_UCHAR
READ_PORT_ULONG
READ_PORT_USHORT
SeAssignSecurityEx
SeAuditHardLinkCreation
SeAuditingFileEvents
SeAuditingFileEventsWithContext
SeAuditingFileOrGlobalEvents
SeAuditingHardLinkEvents
SeAuditingHardLinkEventsWithContext
SeCaptureSecurityDescriptor
SeCaptureSubjectContext
SeCloseObjectAuditAlarm
SeCreateAccessState
SeCreateClientSecurityFromSubjectContext
SeFilterToken
SeImpersonateClientEx
SePrivilegeObjectAuditAlarm
SeQueryInformationToken
SeQuerySessionIdToken
SeReleaseSecurityDescriptor
SeSetSecurityDescriptorInfoEx
SeTokenIsAdmin
SeTokenIsRestricted
SeTokenIsWriteRestricted
WRITE_PORT_BUFFER_UCHAR
WRITE_PORT_BUFFER_ULONG
WRITE_PORT_BUFFER_USHORT
WRITE_PORT_UCHAR
WRITE_PORT_ULONG
WRITE_PORT_USHORT

View File

@@ -1,10 +0,0 @@
/me bows humbly and begs %s's forgiveness
%s is soo cool... I hope to be like him some day
/me hides in a corner and hopes %s doesn't beat him with the whipping noodle again
/me prostrates at %s's feet and begs his majesty's forgiveness
%s: please don't hurt me!
I'm not worthy... I'm not worthy...
/me sings %s's praises to the world!
/me thinks %s is smarter than %dev%
%s: oh please may I defrag your sock drawer?
/me gives %s a cookie, hoping it will make up for breaking %func% the other day...

View File

@@ -1 +0,0 @@
/me is bored

View File

@@ -1,9 +0,0 @@
PASSIVE_LEVEL
APC_LEVEL
DISPATCH_LEVEL
PROFILE_LEVEL
CLOCK1_LEVEL
IPI_LEVEL
POWER_LEVEL
HIGH_LEVEL
SYNCH_LEVEL

View File

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

View File

@@ -1,13 +0,0 @@
the kernel
ntoskrnl
win32k
msafd
ws2_32
user32
shell32
the cache manager
tdi
the scheduler
the thread queue
the message queue
atapi

View File

@@ -1,5 +0,0 @@
/me slaps %s with a large trout
recycle(%s)
Did I hear something? Musta been a %s-fly... Where's that fly-swatter?
%s: go away son, you bother me....
/me beats %s with the whipping noodle

View File

@@ -1,34 +0,0 @@
// panic.cpp
// This file is (C) 2003-2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#ifdef WIN32
#include <conio.h>
#include <windows.h>
#endif//WIN32
#include "panic.h"
void panic ( const char* format, ... )
{
va_list arg;
int done;
va_start(arg, format);
#if defined(WIN32) && !defined(_CONSOLE)
char buf[4096];
_vsnprintf ( buf, sizeof(buf)-1, format, arg );
MessageBox ( NULL, buf, "Panic!", MB_OK|MB_ICONEXCLAMATION );
#else
done = vprintf(format, arg);
printf ( "\n" );
#endif
va_end(arg);
#if defined(WIN32) && defined(_CONSOLE)
printf ( "Press any key to exit\n" );
(void)getch();
#endif//WIN32 && _CONSOLE
exit ( -1 );
}

View File

@@ -1,18 +0,0 @@
// panic.h
// This file is (C) 2003-2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#ifndef PANIC_H
#define PANIC_H
void panic ( const char* format, ... );
#define suAssert(expr) if ( !(expr) ) panic ( "%s(%lu): SOCKET ERROR %s\nExpression: %s\n", __FILE__, __LINE__, suErrDesc(SUERRNO), #expr )
#if defined(DEBUG) || defined(_DEBUG)
# define suVerify(expr) suAssert(expr)
#else
# define suVerify(expr) expr
#endif
#endif//PANIC_H

View File

@@ -1,11 +0,0 @@
minute
hour
day
week
fortnight
month
year
decade
century
millenium
eon

View File

@@ -1,44 +0,0 @@
This doc can be also found on the wiki.
ArchBlackman is a IRC-Chat bot of the #reactos irc channel. He has been coded by Royce3 and DrFred (mbosma) currently runs him.
If some one use a swear word he'll tell him not to do so and you can also ask him something technical about reactos. :)
Besides this he also knows some commands. The systax for giving him commands "ArchBlackmann: !grovel". (don't forget to address him)
- !grovel - This is the only command that non ops can do (No Parameter)
- !kiss <person>
- !hug <person>
- !give <someone> <something>
- !say <something> - You can tell him to say something on the channel via PrivateMessage
ArchBlackmann know what he should say from some text files. They can be found on the svn-dir. But can also edit them online if you are op using:
- !add <list> <item>
- !remove <list> <item>
List that are used directly to create responses are:
- tech - here are the sentences ArchBlackmann says when he finds his name
- curse - this are the curses he looks for
- cursecop - this the responces to them
- grovel - this is said when an op does the grovel command
- nogrovel - this when someone else does it
The remaining lists are not used directly, but by the other lists.
They are:
- dev
- func
- irql
- module
- period
- status
- stru
- type
And they are used like this:
/me thinks %s is smarter than %dev%

View File

@@ -1,998 +0,0 @@
// ssprintf.cpp
#include <malloc.h>
#include <math.h>
#include <float.h>
#include <assert.h>
#include "ssprintf.h"
#ifdef _MSC_VER
#define alloca _alloca
#endif//_MSC_VER
typedef __int64 LONGLONG;
typedef unsigned __int64 ULONGLONG;
typedef struct {
unsigned int mantissa:23;
unsigned int exponent:8;
unsigned int sign:1;
} ieee_float_t;
typedef struct {
unsigned int mantissal:32;
unsigned int mantissah:20;
unsigned int exponent:11;
unsigned int sign:1;
} ieee_double_t;
typedef struct {
unsigned int mantissal:32;
unsigned int mantissah:32;
unsigned int exponent:15;
unsigned int sign:1;
unsigned int empty:16;
} ieee_long_double_t;
std::string ssprintf ( const char* fmt, ... )
{
va_list arg;
va_start(arg, fmt);
std::string f = ssvprintf ( fmt, arg );
va_end(arg);
return f;
}
#define ZEROPAD 1 /* pad with zero */
#define SIGN 2 /* unsigned/signed long */
#define PLUS 4 /* show plus */
#define SPACE 8 /* space if plus */
#define LEFT 16 /* left justified */
#define SPECIAL 32 /* 0x */
#define LARGE 64 /* use 'ABCDEF' instead of 'abcdef' */
#define ZEROTRUNC 128 /* truncate zero 's */
static int skip_atoi(const char **s)
{
int i=0;
while (isdigit(**s))
i = i*10 + *((*s)++) - '0';
return i;
}
static int do_div(LONGLONG *n,int base)
{
int __res = ((ULONGLONG) *n) % (unsigned) base;
*n = ((ULONGLONG) *n) / (unsigned) base;
return __res;
}
static bool number(std::string& f, LONGLONG num, int base, int size, int precision ,int type)
{
char c,sign,tmp[66];
const char *digits="0123456789abcdefghijklmnopqrstuvwxyz";
int i;
if (type & LARGE)
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if (type & LEFT)
type &= ~ZEROPAD;
if (base < 2 || base > 36)
return 0;
c = (type & ZEROPAD) ? '0' : ' ';
sign = 0;
if (type & SIGN) {
if (num < 0) {
sign = '-';
num = -num;
size--;
} else if (type & PLUS) {
sign = '+';
size--;
} else if (type & SPACE) {
sign = ' ';
size--;
}
}
if (type & SPECIAL) {
if (base == 16)
size -= 2;
else if (base == 8)
size--;
}
i = 0;
if (num == 0)
tmp[i++]='0';
else while (num != 0)
tmp[i++] = digits[do_div(&num,base)];
if (i > precision)
precision = i;
size -= precision;
if (!(type&(ZEROPAD+LEFT)))
while(size-->0)
f += ' ';
if (sign)
f += sign;
if (type & SPECIAL)
{
if (base==8)
f += '0';
else if (base==16)
{
f += '0';
f += digits[33];
}
}
if (!(type & LEFT))
{
while (size-- > 0)
f += c;
}
while (i < precision--)
{
f += '0';
}
while (i-- > 0)
{
f += tmp[i];
}
while (size-- > 0)
{
f += ' ';
}
return true;
}
static bool numberf(std::string& f, double __n, char exp_sign, int size, int precision, int type)
{
double exponent = 0.0;
double e;
long ie;
//int x;
char *buf, *tmp;
int i = 0;
int j = 0;
//int k = 0;
double frac, intr;
double p;
char sign;
char c;
char ro = 0;
int result;
union
{
double* __n;
ieee_double_t* n;
} n;
n.__n = &__n;
if ( exp_sign == 'g' || exp_sign == 'G' || exp_sign == 'e' || exp_sign == 'E' ) {
ie = ((unsigned int)n.n->exponent - (unsigned int)0x3ff);
exponent = ie/3.321928;
}
if ( exp_sign == 'g' || exp_sign == 'G' ) {
type |= ZEROTRUNC;
if ( exponent < -4 || fabs(exponent) >= precision )
exp_sign -= 2; // g -> e and G -> E
}
if ( exp_sign == 'e' || exp_sign == 'E' ) {
frac = modf(exponent,&e);
if ( frac > 0.5 )
e++;
else if ( frac < -0.5 )
e--;
result = numberf(f,__n/pow(10.0L,e),'f',size-4, precision, type);
if (result < 0)
return false;
f += exp_sign;
size--;
ie = (long)e;
type = LEFT | PLUS;
if ( ie < 0 )
type |= SIGN;
result = number(f,ie, 10,2, 2,type );
if (result < 0)
return false;
return true;
}
if ( exp_sign == 'f' ) {
buf = (char*)alloca(4096);
if (type & LEFT) {
type &= ~ZEROPAD;
}
c = (type & ZEROPAD) ? '0' : ' ';
sign = 0;
if (type & SIGN) {
if (__n < 0) {
sign = '-';
__n = fabs(__n);
size--;
} else if (type & PLUS) {
sign = '+';
size--;
} else if (type & SPACE) {
sign = ' ';
size--;
}
}
frac = modf(__n,&intr);
// # flags forces a . and prevents trucation of trailing zero's
if ( precision > 0 ) {
//frac = modfl(__n,&intr);
i = precision-1;
while ( i >= 0 ) {
frac*=10.0L;
frac = modf(frac, &p);
buf[i] = (int)p + '0';
i--;
}
i = precision;
size -= precision;
ro = 0;
if ( frac > 0.5 ) {
ro = 1;
}
if ( precision >= 1 || type & SPECIAL) {
buf[i++] = '.';
size--;
}
}
if ( intr == 0.0 ) {
buf[i++] = '0';
size--;
}
else {
while ( intr > 0.0 ) {
p = intr;
intr/=10.0L;
modf(intr, &intr);
p -= 10.0*intr;
buf[i++] = (int)p + '0';
size--;
}
}
j = 0;
while ( j < i && ro == 1) {
if ( buf[j] >= '0' && buf[j] <= '8' ) {
buf[j]++;
ro = 0;
}
else if ( buf[j] == '9' ) {
buf[j] = '0';
}
j++;
}
if ( ro == 1 )
buf[i++] = '1';
buf[i] = 0;
size -= precision;
if (!(type&(ZEROPAD+LEFT)))
{
while(size-->0)
f += ' ';
}
if (sign)
{
f += sign;
}
if (!(type&(ZEROPAD+LEFT)))
while(size-->0)
{
f += ' ';
}
if (type & SPECIAL) {
}
if (!(type & LEFT))
while (size-- > 0)
{
f += c;
}
tmp = buf;
if ( type & ZEROTRUNC && ((type & SPECIAL) != SPECIAL) )
{
j = 0;
while ( j < i && ( *tmp == '0' || *tmp == '.' ))
{
tmp++;
i--;
}
}
// else
// while (i < precision--)
// putc('0', f);
while (i-- > 0)
{
f += tmp[i];
}
while (size-- > 0)
{
f += ' ';
}
}
return true;
}
static bool numberfl(std::string& f, long double __n, char exp_sign, int size, int precision, int type)
{
long double exponent = 0.0;
long double e;
long ie;
//int x;
char *buf, *tmp;
int i = 0;
int j = 0;
//int k = 0;
long double frac, intr;
long double p;
char sign;
char c;
char ro = 0;
int result;
union
{
long double* __n;
ieee_long_double_t* n;
} n;
n.__n = &__n;
if ( exp_sign == 'g' || exp_sign == 'G' || exp_sign == 'e' || exp_sign == 'E' ) {
ie = ((unsigned int)n.n->exponent - (unsigned int)0x3fff);
exponent = ie/3.321928;
}
if ( exp_sign == 'g' || exp_sign == 'G' ) {
type |= ZEROTRUNC;
if ( exponent < -4 || fabs(exponent) >= precision )
exp_sign -= 2; // g -> e and G -> E
}
if ( exp_sign == 'e' || exp_sign == 'E' ) {
frac = modfl(exponent,&e);
if ( frac > 0.5 )
e++;
else if ( frac < -0.5 )
e--;
result = numberf(f,__n/powl(10.0L,e),'f',size-4, precision, type);
if (result < 0)
return false;
f += exp_sign;
size--;
ie = (long)e;
type = LEFT | PLUS;
if ( ie < 0 )
type |= SIGN;
result = number(f,ie, 10,2, 2,type );
if (result < 0)
return false;
return true;
}
if ( exp_sign == 'f' )
{
buf = (char*)alloca(4096);
if (type & LEFT)
{
type &= ~ZEROPAD;
}
c = (type & ZEROPAD) ? '0' : ' ';
sign = 0;
if (type & SIGN)
{
if (__n < 0)
{
sign = '-';
__n = fabs(__n);
size--;
} else if (type & PLUS)
{
sign = '+';
size--;
} else if (type & SPACE)
{
sign = ' ';
size--;
}
}
frac = modfl(__n,&intr);
// # flags forces a . and prevents trucation of trailing zero's
if ( precision > 0 )
{
//frac = modfl(__n,&intr);
i = precision-1;
while ( i >= 0 )
{
frac*=10.0L;
frac = modfl((long double)frac, &p);
buf[i] = (int)p + '0';
i--;
}
i = precision;
size -= precision;
ro = 0;
if ( frac > 0.5 )
{
ro = 1;
}
if ( precision >= 1 || type & SPECIAL)
{
buf[i++] = '.';
size--;
}
}
if ( intr == 0.0 )
{
buf[i++] = '0';
size--;
}
else
{
while ( intr > 0.0 )
{
p=intr;
intr/=10.0L;
modfl(intr, &intr);
p -= 10.0L*intr;
buf[i++] = (int)p + '0';
size--;
}
}
j = 0;
while ( j < i && ro == 1) {
if ( buf[j] >= '0' && buf[j] <= '8' )
{
buf[j]++;
ro = 0;
}
else if ( buf[j] == '9' )
{
buf[j] = '0';
}
j++;
}
if ( ro == 1 )
buf[i++] = '1';
buf[i] = 0;
size -= precision;
if (!(type&(ZEROPAD+LEFT)))
{
while(size-->0)
f += ' ';
}
if (sign)
{
f += sign;
}
if (!(type&(ZEROPAD+LEFT)))
{
while(size-->0)
f += ' ';
}
if (type & SPECIAL) {
}
if (!(type & LEFT))
while (size-- > 0)
{
f += c;
}
tmp = buf;
if ( type & ZEROTRUNC && ((type & SPECIAL) != SPECIAL) )
{
j = 0;
while ( j < i && ( *tmp == '0' || *tmp == '.' ))
{
tmp++;
i--;
}
}
// else
// while (i < precision--)
// putc( '0', f);
while (i-- > 0)
{
f += tmp[i];
}
while (size-- > 0)
{
f += ' ';
}
}
return true;
}
static int stringa(std::string& f, const char* s, int len, int field_width, int precision, int flags)
{
int i, done = 0;
if (s == NULL)
{
s = "<NULL>";
len = 6;
}
else
{
if (len == -1)
{
len = 0;
while ((unsigned int)len < (unsigned int)precision && s[len])
len++;
}
else
{
if ((unsigned int)len > (unsigned int)precision)
len = precision;
}
}
if (!(flags & LEFT))
while (len < field_width--)
{
f += ' ';
done++;
}
for (i = 0; i < len; ++i)
{
f += *s++;
done++;
}
while (len < field_width--)
{
f += ' ';
done++;
}
return done;
}
static int stringw(std::string& f, const wchar_t* sw, int len, int field_width, int precision, int flags)
{
int i, done = 0;
if (sw == NULL)
{
sw = L"<NULL>";
len = 6;
}
else
{
if (len == -1)
{
len = 0;
while ((unsigned int)len < (unsigned int)precision && sw[len])
len++;
}
else
{
if ((unsigned int)len > (unsigned int)precision)
len = precision;
}
}
if (!(flags & LEFT))
while (len < field_width--)
{
f += ' ';
done++;
}
for (i = 0; i < len; ++i)
{
#define MY_MB_CUR_MAX 1
char mb[MY_MB_CUR_MAX];
int mbcount, j;
mbcount = wctomb(mb, *sw++);
if (mbcount <= 0)
{
break;
}
for (j = 0; j < mbcount; j++)
{
f += mb[j];
done++;
}
}
while (len < field_width--)
{
f += ' ';
done++;
}
return done;
}
#define _isnanl _isnan
#define _finitel _finite
std::string ssvprintf ( const char *fmt, va_list args )
{
ULONGLONG num;
int base;
long double _ldouble;
double _double;
const char *s;
const wchar_t* sw;
int result;
std::string f;
int flags; /* flags to number() */
int field_width; /* width of output field */
int precision; /* min. # of digits for integers; max
number of chars for from string */
int qualifier = 0; /* 'h', 'l', 'L' or 'I64' for integer fields */
for (; *fmt ; ++fmt)
{
if (*fmt != '%')
{
f += *fmt;
continue;
}
/* process flags */
flags = 0;
repeat:
++fmt; /* this also skips first '%' */
switch (*fmt) {
case '-': flags |= LEFT; goto repeat;
case '+': flags |= PLUS; goto repeat;
case ' ': flags |= SPACE; goto repeat;
case '#': flags |= SPECIAL; goto repeat;
case '0': flags |= ZEROPAD; goto repeat;
}
/* get field width */
field_width = -1;
if (isdigit(*fmt))
field_width = skip_atoi(&fmt);
else if (*fmt == '*') {
++fmt;
/* it's the next argument */
field_width = va_arg(args, int);
if (field_width < 0) {
field_width = -field_width;
flags |= LEFT;
}
}
/* get the precision */
precision = -1;
if (*fmt == '.') {
++fmt;
if (isdigit(*fmt))
precision = skip_atoi(&fmt);
else if (*fmt == '*') {
++fmt;
/* it's the next argument */
precision = va_arg(args, int);
}
if (precision < 0)
precision = 0;
}
/* get the conversion qualifier */
qualifier = 0;
// %Z can be just stand alone or as size_t qualifier
if ( *fmt == 'Z' ) {
qualifier = *fmt;
switch ( *(fmt+1)) {
case 'o':
case 'b':
case 'X':
case 'x':
case 'd':
case 'i':
case 'u':
++fmt;
break;
default:
break;
}
} else if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L' || *fmt == 'w') {
qualifier = *fmt;
++fmt;
} else if (*fmt == 'I' && *(fmt+1) == '6' && *(fmt+2) == '4') {
qualifier = *fmt;
fmt += 3;
}
// go fine with ll instead of L
if ( *fmt == 'l' ) {
++fmt;
qualifier = 'L';
}
/* default base */
base = 10;
switch (*fmt) {
case 'c':
if (!(flags & LEFT))
while (--field_width > 0)
{
f += ' ';
}
if (qualifier == 'l' || qualifier == 'w')
{
f += (char)(unsigned char)(wchar_t) va_arg(args,int);
}
else
{
f += (char)(unsigned char) va_arg(args,int);
}
while (--field_width > 0)
{
f += ' ';
}
continue;
case 'C':
if (!(flags & LEFT))
while (--field_width > 0)
{
f += ' ';
}
if (qualifier == 'h')
{
f += (char)(unsigned char) va_arg(args,int);
}
else
{
f += (char)(unsigned char)(wchar_t) va_arg(args,int);
}
while (--field_width > 0)
{
f += ' ';
}
continue;
case 's':
if (qualifier == 'l' || qualifier == 'w') {
/* print unicode string */
sw = (const wchar_t*)va_arg(args, wchar_t *);
result = stringw(f, sw, -1, field_width, precision, flags);
} else {
/* print ascii string */
s = va_arg(args, char *);
result = stringa(f, s, -1, field_width, precision, flags);
}
if (result < 0)
{
assert(!"TODO FIXME handle error better");
return f;
}
continue;
case 'S':
if (qualifier == 'h') {
/* print ascii string */
s = va_arg(args, char *);
result = stringa(f, s, -1, field_width, precision, flags);
} else {
/* print unicode string */
sw = (const wchar_t*)va_arg(args, wchar_t *);
result = stringw(f, sw, -1, field_width, precision, flags);
}
if (result < 0)
{
assert(!"TODO FIXME handle error better");
return f;
}
continue;
/*case 'Z':
if (qualifier == 'w') {
// print counted unicode string
PUNICODE_STRING pus = va_arg(args, PUNICODE_STRING);
if ((pus == NULL) || (pus->Buffer == NULL)) {
sw = NULL;
len = -1;
} else {
sw = pus->Buffer;
len = pus->Length / sizeof(WCHAR);
}
result = stringw(f, sw, len, field_width, precision, flags);
} else {
// print counted ascii string
PANSI_STRING pas = va_arg(args, PANSI_STRING);
if ((pas == NULL) || (pas->Buffer == NULL)) {
s = NULL;
len = -1;
} else {
s = pas->Buffer;
len = pas->Length;
}
result = stringa(f, s, -1, field_width, precision, flags);
}
if (result < 0)
return -1;
continue;*/
case 'e':
case 'E':
case 'f':
case 'g':
case 'G':
if (qualifier == 'l' || qualifier == 'L' ) {
_ldouble = va_arg(args, long double);
if ( _isnanl(_ldouble) )
{
f += "Nan";
}
else if ( !_finitel(_ldouble) )
{
if ( _ldouble < 0 )
f += "-Inf";
else
f += "+Inf";
} else {
if ( precision == -1 )
precision = 6;
result = numberfl(f,_ldouble,*fmt,field_width,precision,flags);
if (result < 0)
{
assert(!"TODO FIXME handle error better");
return f;
}
}
} else {
_double = (double)va_arg(args, double);
if ( _isnan(_double) )
{
f += "Nan";
}
else if ( !_finite(_double) )
{
if ( _double < 0 )
f += "-Inf";
else
f += "+Inf";
}
else
{
if ( precision == -1 )
precision = 6;
result = numberf(f,_double,*fmt,field_width,precision,flags);
if (result < 0)
{
assert(!"TODO FIXME handle error better");
return f;
}
}
}
continue;
case 'p':
if (field_width == -1) {
field_width = 2*sizeof(void *);
flags |= ZEROPAD;
}
result = number(f,
(unsigned long) va_arg(args, void *), 16,
field_width, precision, flags);
if (result < 0)
{
assert(!"TODO FIXME handle error better");
return f;
}
continue;
case 'n':
if (qualifier == 'l') {
long * ip = va_arg(args, long *);
*ip = 0;
} else {
int * ip = va_arg(args, int *);
*ip = 0;
}
continue;
/* integer number formats - set up the flags and "break" */
case 'o':
base = 8;
break;
case 'b':
base = 2;
break;
case 'X':
flags |= LARGE;
case 'x':
base = 16;
break;
case 'd':
case 'i':
flags |= SIGN;
case 'u':
break;
default:
if (*fmt != '%')
{
f += '%';
}
if (*fmt)
{
f += *fmt;
}
else
--fmt;
continue;
}
if (qualifier == 'I')
num = va_arg(args, ULONGLONG);
else if (qualifier == 'l') {
if (flags & SIGN)
num = va_arg(args, long);
else
num = va_arg(args, unsigned long);
}
else if (qualifier == 'h') {
if (flags & SIGN)
num = va_arg(args, int);
else
num = va_arg(args, unsigned int);
}
else if (flags & SIGN)
num = va_arg(args, int);
else
num = va_arg(args, unsigned int);
result = number(f, num, base, field_width, precision, flags);
if (result < 0)
{
assert(!"TODO FIXME handle error better");
return f;
}
}
//putc('\0',f);
return f;
}

View File

@@ -1,12 +0,0 @@
// ssprintf.h
#ifndef SSPRINTF_H
#define SSPRINTF_H
#include <string>
#include <stdarg.h>
std::string ssprintf ( const char* fmt, ... );
std::string ssvprintf ( const char* fmt, va_list args );
#endif//SSPRINTF_H

View File

@@ -1,654 +0,0 @@
RPC_NT_ALREADY_LISTENING
RPC_NT_ALREADY_REGISTERED
RPC_NT_CALL_FAILED
RPC_NT_CALL_FAILED_DNE
RPC_NT_CANT_CREATE_ENDPOINT
RPC_NT_INVALID_BINDING
RPC_NT_INVALID_ENDPOINT_FORMAT
RPC_NT_INVALID_NETWORK_OPTIONS
RPC_NT_INVALID_NET_ADDR
RPC_NT_INVALID_RPC_PROTSEQ
RPC_NT_INVALID_STRING_BINDING
RPC_NT_INVALID_STRING_UUID
RPC_NT_INVALID_TIMEOUT
RPC_NT_NOT_LISTENING
RPC_NT_NO_BINDINGS
RPC_NT_NO_CALL_ACTIVE
RPC_NT_NO_ENDPOINT_FOUND
RPC_NT_NO_PROTSEQS
RPC_NT_NO_PROTSEQS_REGISTERED
RPC_NT_OBJECT_NOT_FOUND
RPC_NT_OUT_OF_RESOURCES
RPC_NT_PROTOCOL_ERROR
RPC_NT_PROTSEQ_NOT_SUPPORTED
RPC_NT_SERVER_TOO_BUSY
RPC_NT_SERVER_UNAVAILABLE
RPC_NT_SS_IN_NULL_CONTEXT
RPC_NT_TYPE_ALREADY_REGISTERED
RPC_NT_UNKNOWN_IF
RPC_NT_UNKNOWN_MGR_TYPE
RPC_NT_WRONG_KIND_OF_BINDING
STATUS_ABANDONED
STATUS_ABANDONED_WAIT_0
STATUS_ABANDONED_WAIT_63
STATUS_ABIOS_INVALID_COMMAND
STATUS_ABIOS_INVALID_LID
STATUS_ABIOS_INVALID_SELECTOR
STATUS_ABIOS_LID_ALREADY_OWNED
STATUS_ABIOS_LID_NOT_EXIST
STATUS_ABIOS_NOT_LID_OWNER
STATUS_ABIOS_NOT_PRESENT
STATUS_ABIOS_SELECTOR_NOT_AVAILABLE
STATUS_ACCESS_DENIED
STATUS_ACCESS_VIOLATION
STATUS_ACCOUNT_DISABLED
STATUS_ACCOUNT_EXPIRED
STATUS_ACCOUNT_LOCKED_OUT
STATUS_ACCOUNT_RESTRICTION
STATUS_ADAPTER_HARDWARE_ERROR
STATUS_ADDRESS_ALREADY_ASSOCIATED
STATUS_ADDRESS_ALREADY_EXISTS
STATUS_ADDRESS_CLOSED
STATUS_ADDRESS_NOT_ASSOCIATED
STATUS_AGENTS_EXHAUSTED
STATUS_ALERTED
STATUS_ALIAS_EXISTS
STATUS_ALLOCATE_BUCKET
STATUS_ALLOTTED_SPACE_EXCEEDED
STATUS_ALREADY_COMMITTED
STATUS_ALREADY_DISCONNECTED
STATUS_ALREADY_WIN32
STATUS_APP_INIT_FAILURE
STATUS_ARBITRATION_UNHANDLED
STATUS_ARRAY_BOUNDS_EXCEEDED
STATUS_AUDIT_FAILED
STATUS_BACKUP_CONTROLLER
STATUS_BAD_COMPRESSION_BUFFER
STATUS_BAD_CURRENT_DIRECTORY
STATUS_BAD_DESCRIPTOR_FORMAT
STATUS_BAD_DEVICE_TYPE
STATUS_BAD_DLL_ENTRYPOINT
STATUS_BAD_FUNCTION_TABLE
STATUS_BAD_IMPERSONATION_LEVEL
STATUS_BAD_INHERITANCE_ACL
STATUS_BAD_INITIAL_PC
STATUS_BAD_INITIAL_STACK
STATUS_BAD_LOGON_SESSION_STATE
STATUS_BAD_MASTER_BOOT_RECORD
STATUS_BAD_NETWORK_NAME
STATUS_BAD_NETWORK_PATH
STATUS_BAD_REMOTE_ADAPTER
STATUS_BAD_SERVICE_ENTRYPOINT
STATUS_BAD_STACK
STATUS_BAD_TOKEN_TYPE
STATUS_BAD_VALIDATION_CLASS
STATUS_BAD_WORKING_SET_LIMIT
STATUS_BEGINNING_OF_MEDIA
STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT
STATUS_BREAKPOINT
STATUS_BUFFER_OVERFLOW
STATUS_BUFFER_TOO_SMALL
STATUS_BUS_RESET
STATUS_CANCELLED
STATUS_CANNOT_DELETE
STATUS_CANNOT_IMPERSONATE
STATUS_CANNOT_LOAD_REGISTRY_FILE
STATUS_CANT_ACCESS_DOMAIN_INFO
STATUS_CANT_DISABLE_MANDATORY
STATUS_CANT_OPEN_ANONYMOUS
STATUS_CANT_TERMINATE_SELF
STATUS_CANT_WAIT
STATUS_CARDBUS_NOT_SUPPORTED
STATUS_CHECKING_FILE_SYSTEM
STATUS_CHILD_MUST_BE_VOLATILE
STATUS_CLIENT_SERVER_PARAMETERS_INVALID
STATUS_COMMITMENT_LIMIT
STATUS_CONFLICTING_ADDRESSES
STATUS_CONNECTION_ABORTED
STATUS_CONNECTION_ACTIVE
STATUS_CONNECTION_COUNT_LIMIT
STATUS_CONNECTION_DISCONNECTED
STATUS_CONNECTION_INVALID
STATUS_CONNECTION_IN_USE
STATUS_CONNECTION_REFUSED
STATUS_CONNECTION_RESET
STATUS_CONTROL_C_EXIT
STATUS_CONVERT_TO_LARGE
STATUS_COULD_NOT_INTERPRET
STATUS_CRC_ERROR
STATUS_CTL_FILE_NOT_SUPPORTED
STATUS_DATATYPE_MISALIGNMENT
STATUS_DATA_ERROR
STATUS_DATA_LATE_ERROR
STATUS_DATA_NOT_ACCEPTED
STATUS_DATA_OVERRUN
STATUS_DEBUG_ATTACH_FAILED
STATUS_DELETE_PENDING
STATUS_DEVICE_ALREADY_ATTACHED
STATUS_DEVICE_BUSY
STATUS_DEVICE_CONFIGURATION_ERROR
STATUS_DEVICE_DATA_ERROR
STATUS_DEVICE_DOES_NOT_EXIST
STATUS_DEVICE_NOT_CONNECTED
STATUS_DEVICE_NOT_PARTITIONED
STATUS_DEVICE_NOT_READY
STATUS_DEVICE_OFF_LINE
STATUS_DEVICE_PAPER_EMPTY
STATUS_DEVICE_POWERED_OFF
STATUS_DEVICE_POWER_FAILURE
STATUS_DEVICE_PROTOCOL_ERROR
STATUS_DFS_EXIT_PATH_FOUND
STATUS_DFS_UNAVAILABLE
STATUS_DIRECTORY_NOT_EMPTY
STATUS_DISK_CORRUPT_ERROR
STATUS_DISK_FULL
STATUS_DISK_OPERATION_FAILED
STATUS_DISK_RECALIBRATE_FAILED
STATUS_DISK_RESET_FAILED
STATUS_DLL_INIT_FAILED
STATUS_DLL_INIT_FAILED_LOGOFF
STATUS_DLL_NOT_FOUND
STATUS_DOMAIN_CONTROLLER_NOT_FOUND
STATUS_DOMAIN_CTRLR_CONFIG_ERROR
STATUS_DOMAIN_EXISTS
STATUS_DOMAIN_LIMIT_EXCEEDED
STATUS_DOMAIN_TRUST_INCONSISTENT
STATUS_DRIVER_CANCEL_TIMEOUT
STATUS_DRIVER_ENTRYPOINT_NOT_FOUND
STATUS_DRIVER_INTERNAL_ERROR
STATUS_DRIVER_ORDINAL_NOT_FOUND
STATUS_DRIVER_UNABLE_TO_LOAD
STATUS_DUPLICATE_NAME
STATUS_DUPLICATE_OBJECTID
STATUS_EAS_NOT_SUPPORTED
STATUS_EA_CORRUPT_ERROR
STATUS_EA_LIST_INCONSISTENT
STATUS_EA_TOO_LARGE
STATUS_END_OF_FILE
STATUS_END_OF_MEDIA
STATUS_ENTRYPOINT_NOT_FOUND
STATUS_EOM_OVERFLOW
STATUS_EVALUATION_EXPIRATION
STATUS_EVENTLOG_CANT_START
STATUS_EVENTLOG_FILE_CHANGED
STATUS_EVENTLOG_FILE_CORRUPT
STATUS_EVENT_DONE
STATUS_EVENT_PENDING
STATUS_EXTRANEOUS_INFORMATION
STATUS_FAIL_CHECK
STATUS_FATAL_APP_EXIT
STATUS_FILEMARK_DETECTED
STATUS_FILES_OPEN
STATUS_FILE_CLOSED
STATUS_FILE_CORRUPT_ERROR
STATUS_FILE_DELETED
STATUS_FILE_FORCED_CLOSED
STATUS_FILE_INVALID
STATUS_FILE_IS_A_DIRECTORY
STATUS_FILE_IS_OFFLINE
STATUS_FILE_LOCK_CONFLICT
STATUS_FILE_RENAMED
STATUS_FLOAT_DENORMAL_OPERAND
STATUS_FLOAT_DIVIDE_BY_ZERO
STATUS_FLOAT_INEXACT_RESULT
STATUS_FLOAT_INVALID_OPERATION
STATUS_FLOAT_OVERFLOW
STATUS_FLOAT_STACK_CHECK
STATUS_FLOAT_UNDERFLOW
STATUS_FLOPPY_BAD_REGISTERS
STATUS_FLOPPY_ID_MARK_NOT_FOUND
STATUS_FLOPPY_UNKNOWN_ERROR
STATUS_FLOPPY_VOLUME
STATUS_FLOPPY_WRONG_CYLINDER
STATUS_FOUND_OUT_OF_SCOPE
STATUS_FREE_VM_NOT_AT_BASE
STATUS_FS_DRIVER_REQUIRED
STATUS_FT_MISSING_MEMBER
STATUS_FT_ORPHANING
STATUS_FT_READ_RECOVERING_FROM_BACKUP
STATUS_FT_WRITE_RECOVERY
STATUS_FULLSCREEN_MODE
STATUS_GENERIC_NOT_MAPPED
STATUS_GRACEFUL_DISCONNECT
STATUS_GROUP_EXISTS
STATUS_GUARD_PAGE_VIOLATION
STATUS_GUIDS_EXHAUSTED
STATUS_GUID_SUBSTITUTION_MADE
STATUS_HANDLES_CLOSED
STATUS_HANDLE_NOT_CLOSABLE
STATUS_HOST_UNREACHABLE
STATUS_ILLEGAL_CHARACTER
STATUS_ILLEGAL_DLL_RELOCATION
STATUS_ILLEGAL_FLOAT_CONTEXT
STATUS_ILLEGAL_FUNCTION
STATUS_ILLEGAL_INSTRUCTION
STATUS_ILL_FORMED_PASSWORD
STATUS_ILL_FORMED_SERVICE_ENTRY
STATUS_IMAGE_ALREADY_LOADED
STATUS_IMAGE_CHECKSUM_MISMATCH
STATUS_IMAGE_MACHINE_TYPE_MISMATCH
STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE
STATUS_IMAGE_MP_UP_MISMATCH
STATUS_IMAGE_NOT_AT_BASE
STATUS_INCOMPATIBLE_FILE_MAP
STATUS_INFO_LENGTH_MISMATCH
STATUS_INSTANCE_NOT_AVAILABLE
STATUS_INSTRUCTION_MISALIGNMENT
STATUS_INSUFFICIENT_LOGON_INFO
STATUS_INSUFFICIENT_RESOURCES
STATUS_INSUFF_SERVER_RESOURCES
STATUS_INTEGER_DIVIDE_BY_ZERO
STATUS_INTEGER_OVERFLOW
STATUS_INTERNAL_DB_CORRUPTION
STATUS_INTERNAL_DB_ERROR
STATUS_INTERNAL_ERROR
STATUS_INVALID_ACCOUNT_NAME
STATUS_INVALID_ACL
STATUS_INVALID_ADDRESS
STATUS_INVALID_ADDRESS_COMPONENT
STATUS_INVALID_ADDRESS_WILDCARD
STATUS_INVALID_BLOCK_LENGTH
STATUS_INVALID_BUFFER_SIZE
STATUS_INVALID_CID
STATUS_INVALID_COMPUTER_NAME
STATUS_INVALID_CONNECTION
STATUS_INVALID_DEVICE_REQUEST
STATUS_INVALID_DEVICE_STATE
STATUS_INVALID_DISPOSITION
STATUS_INVALID_DOMAIN_ROLE
STATUS_INVALID_DOMAIN_STATE
STATUS_INVALID_EA_FLAG
STATUS_INVALID_EA_NAME
STATUS_INVALID_FILE_FOR_SECTION
STATUS_INVALID_GROUP_ATTRIBUTES
STATUS_INVALID_HANDLE
STATUS_INVALID_HW_PROFILE
STATUS_INVALID_ID_AUTHORITY
STATUS_INVALID_IMAGE_FORMAT
STATUS_INVALID_IMAGE_LE_FORMAT
STATUS_INVALID_IMAGE_NE_FORMAT
STATUS_INVALID_IMAGE_NOT_MZ
STATUS_INVALID_IMAGE_PROTECT
STATUS_INVALID_IMAGE_WIN_16
STATUS_INVALID_INFO_CLASS
STATUS_INVALID_LDT_DESCRIPTOR
STATUS_INVALID_LDT_OFFSET
STATUS_INVALID_LDT_SIZE
STATUS_INVALID_LEVEL
STATUS_INVALID_LOCK_SEQUENCE
STATUS_INVALID_LOGON_HOURS
STATUS_INVALID_LOGON_TYPE
STATUS_INVALID_MEMBER
STATUS_INVALID_NETWORK_RESPONSE
STATUS_INVALID_OPLOCK_PROTOCOL
STATUS_INVALID_OWNER
STATUS_INVALID_PAGE_PROTECTION
STATUS_INVALID_PARAMETER
STATUS_INVALID_PARAMETER_1
STATUS_INVALID_PARAMETER_10
STATUS_INVALID_PARAMETER_11
STATUS_INVALID_PARAMETER_12
STATUS_INVALID_PARAMETER_2
STATUS_INVALID_PARAMETER_3
STATUS_INVALID_PARAMETER_4
STATUS_INVALID_PARAMETER_5
STATUS_INVALID_PARAMETER_6
STATUS_INVALID_PARAMETER_7
STATUS_INVALID_PARAMETER_8
STATUS_INVALID_PARAMETER_9
STATUS_INVALID_PARAMETER_MIX
STATUS_INVALID_PIPE_STATE
STATUS_INVALID_PLUGPLAY_DEVICE_PATH
STATUS_INVALID_PORT_ATTRIBUTES
STATUS_INVALID_PORT_HANDLE
STATUS_INVALID_PRIMARY_GROUP
STATUS_INVALID_QUOTA_LOWER
STATUS_INVALID_READ_MODE
STATUS_INVALID_SECURITY_DESCR
STATUS_INVALID_SERVER_STATE
STATUS_INVALID_SID
STATUS_INVALID_SUB_AUTHORITY
STATUS_INVALID_SYSTEM_SERVICE
STATUS_INVALID_UNWIND_TARGET
STATUS_INVALID_USER_BUFFER
STATUS_INVALID_VARIANT
STATUS_INVALID_VIEW_SIZE
STATUS_INVALID_VLM_OPERATION
STATUS_INVALID_VOLUME_LABEL
STATUS_INVALID_WORKSTATION
STATUS_IN_PAGE_ERROR
STATUS_IO_DEVICE_ERROR
STATUS_IO_PRIVILEGE_FAILED
STATUS_IO_REPARSE_DATA_INVALID
STATUS_IO_REPARSE_TAG_INVALID
STATUS_IO_REPARSE_TAG_MISMATCH
STATUS_IO_REPARSE_TAG_NOT_HANDLED
STATUS_IO_TIMEOUT
STATUS_IP_ADDRESS_CONFLICT1
STATUS_IP_ADDRESS_CONFLICT2
STATUS_KERNEL_APC
STATUS_KEY_DELETED
STATUS_KEY_HAS_CHILDREN
STATUS_LAST_ADMIN
STATUS_LICENSE_QUOTA_EXCEEDED
STATUS_LICENSE_VIOLATION
STATUS_LINK_FAILED
STATUS_LINK_TIMEOUT
STATUS_LM_CROSS_ENCRYPTION_REQUIRED
STATUS_LOCAL_DISCONNECT
STATUS_LOCAL_USER_SESSION_KEY
STATUS_LOCK_NOT_GRANTED
STATUS_LOGIN_TIME_RESTRICTION
STATUS_LOGIN_WKSTA_RESTRICTION
STATUS_LOGON_FAILURE
STATUS_LOGON_NOT_GRANTED
STATUS_LOGON_SERVER_CONFLICT
STATUS_LOGON_SESSION_COLLISION
STATUS_LOGON_SESSION_EXISTS
STATUS_LOGON_TYPE_NOT_GRANTED
STATUS_LOG_FILE_FULL
STATUS_LOG_HARD_ERROR
STATUS_LONGJUMP
STATUS_LOST_WRITEBEHIND_DATA
STATUS_LPC_REPLY_LOST
STATUS_LUIDS_EXHAUSTED
STATUS_MAPPED_ALIGNMENT
STATUS_MAPPED_FILE_SIZE_ZERO
STATUS_MARSHALL_OVERFLOW
STATUS_MEDIA_CHANGED
STATUS_MEDIA_CHECK
STATUS_MEDIA_WRITE_PROTECTED
STATUS_MEMBERS_PRIMARY_GROUP
STATUS_MEMBER_IN_ALIAS
STATUS_MEMBER_IN_GROUP
STATUS_MEMBER_NOT_IN_ALIAS
STATUS_MEMBER_NOT_IN_GROUP
STATUS_MEMORY_NOT_ALLOCATED
STATUS_MESSAGE_NOT_FOUND
STATUS_MISSING_SYSTEMFILE
STATUS_MORE_ENTRIES
STATUS_MORE_PROCESSING_REQUIRED
STATUS_MUTANT_LIMIT_EXCEEDED
STATUS_MUTANT_NOT_OWNED
STATUS_NAME_TOO_LONG
STATUS_NETLOGON_NOT_STARTED
STATUS_NETWORK_ACCESS_DENIED
STATUS_NETWORK_BUSY
STATUS_NETWORK_CREDENTIAL_CONFLICT
STATUS_NETWORK_NAME_DELETED
STATUS_NETWORK_UNREACHABLE
STATUS_NET_WRITE_FAULT
STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT
STATUS_NOLOGON_SERVER_TRUST_ACCOUNT
STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT
STATUS_NONCONTINUABLE_EXCEPTION
STATUS_NONEXISTENT_EA_ENTRY
STATUS_NONEXISTENT_SECTOR
STATUS_NONE_MAPPED
STATUS_NOTIFY_CLEANUP
STATUS_NOTIFY_ENUM_DIR
STATUS_NOT_ALL_ASSIGNED
STATUS_NOT_A_DIRECTORY
STATUS_NOT_A_REPARSE_POINT
STATUS_NOT_CLIENT_SESSION
STATUS_NOT_COMMITTED
STATUS_NOT_FOUND
STATUS_NOT_IMPLEMENTED
STATUS_NOT_LOCKED
STATUS_NOT_LOGON_PROCESS
STATUS_NOT_MAPPED_DATA
STATUS_NOT_MAPPED_VIEW
STATUS_NOT_REGISTRY_FILE
STATUS_NOT_SAME_DEVICE
STATUS_NOT_SERVER_SESSION
STATUS_NOT_SUPPORTED
STATUS_NOT_TINY_STREAM
STATUS_NO_BROWSER_SERVERS_FOUND
STATUS_NO_CALLBACK_ACTIVE
STATUS_NO_DATA_DETECTED
STATUS_NO_EAS_ON_FILE
STATUS_NO_EVENT_PAIR
STATUS_NO_GUID_TRANSLATION
STATUS_NO_IMPERSONATION_TOKEN
STATUS_NO_INHERITANCE
STATUS_NO_LDT
STATUS_NO_LOGON_SERVERS
STATUS_NO_LOG_SPACE
STATUS_NO_MATCH
STATUS_NO_MEDIA
STATUS_NO_MEDIA_IN_DEVICE
STATUS_NO_MEMORY
STATUS_NO_MORE_EAS
STATUS_NO_MORE_ENTRIES
STATUS_NO_MORE_FILES
STATUS_NO_MORE_MATCHES
STATUS_NO_PAGEFILE
STATUS_NO_QUOTAS_NO_ACCOUNT
STATUS_NO_SECURITY_ON_OBJECT
STATUS_NO_SPOOL_SPACE
STATUS_NO_SUCH_ALIAS
STATUS_NO_SUCH_DEVICE
STATUS_NO_SUCH_DOMAIN
STATUS_NO_SUCH_FILE
STATUS_NO_SUCH_GROUP
STATUS_NO_SUCH_LOGON_SESSION
STATUS_NO_SUCH_MEMBER
STATUS_NO_SUCH_PACKAGE
STATUS_NO_SUCH_PRIVILEGE
STATUS_NO_SUCH_USER
STATUS_NO_TOKEN
STATUS_NO_TRUST_LSA_SECRET
STATUS_NO_TRUST_SAM_ACCOUNT
STATUS_NO_USER_SESSION_KEY
STATUS_NO_YIELD_PERFORMED
STATUS_NT_CROSS_ENCRYPTION_REQUIRED
STATUS_NULL_LM_PASSWORD
STATUS_OBJECTID_EXISTS
STATUS_OBJECT_EXISTS
STATUS_OBJECT_NAME_COLLISION
STATUS_OBJECT_NAME_EXISTS
STATUS_OBJECT_NAME_INVALID
STATUS_OBJECT_NAME_NOT_FOUND
STATUS_OBJECT_PATH_INVALID
STATUS_OBJECT_PATH_NOT_FOUND
STATUS_OBJECT_PATH_SYNTAX_BAD
STATUS_OBJECT_TYPE_MISMATCH
STATUS_OPEN_FAILED
STATUS_OPLOCK_BREAK_IN_PROCESS
STATUS_OPLOCK_NOT_GRANTED
STATUS_ORDINAL_NOT_FOUND
STATUS_PAGEFILE_CREATE_FAILED
STATUS_PAGEFILE_QUOTA
STATUS_PAGEFILE_QUOTA_EXCEEDED
STATUS_PARITY_ERROR
STATUS_PARTIAL_COPY
STATUS_PARTITION_FAILURE
STATUS_PASSWORD_EXPIRED
STATUS_PASSWORD_MUST_CHANGE
STATUS_PASSWORD_RESTRICTION
STATUS_PATH_NOT_COVERED
STATUS_PENDING
STATUS_PIPE_BROKEN
STATUS_PIPE_BUSY
STATUS_PIPE_CLOSING
STATUS_PIPE_CONNECTED
STATUS_PIPE_DISCONNECTED
STATUS_PIPE_EMPTY
STATUS_PIPE_LISTENING
STATUS_PIPE_NOT_AVAILABLE
STATUS_PLUGPLAY_NO_DEVICE
STATUS_PORT_ALREADY_SET
STATUS_PORT_CONNECTION_REFUSED
STATUS_PORT_DISCONNECTED
STATUS_PORT_MESSAGE_TOO_LONG
STATUS_PORT_UNREACHABLE
STATUS_POSSIBLE_DEADLOCK
STATUS_PREDEFINED_HANDLE
STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED
STATUS_PRINT_CANCELLED
STATUS_PRINT_QUEUE_FULL
STATUS_PRIVILEGED_INSTRUCTION
STATUS_PRIVILEGE_NOT_HELD
STATUS_PROCEDURE_NOT_FOUND
STATUS_PROCESS_IN_JOB
STATUS_PROCESS_IS_TERMINATING
STATUS_PROCESS_NOT_IN_JOB
STATUS_PROFILING_AT_LIMIT
STATUS_PROFILING_NOT_STARTED
STATUS_PROFILING_NOT_STOPPED
STATUS_PROPSET_NOT_FOUND
STATUS_PROTOCOL_UNREACHABLE
STATUS_PWD_HISTORY_CONFLICT
STATUS_PWD_TOO_RECENT
STATUS_PWD_TOO_SHORT
STATUS_QUOTA_EXCEEDED
STATUS_QUOTA_LIST_INCONSISTENT
STATUS_RANGE_LIST_CONFLICT
STATUS_RANGE_NOT_FOUND
STATUS_RANGE_NOT_LOCKED
STATUS_RECEIVE_EXPEDITED
STATUS_RECEIVE_PARTIAL
STATUS_RECEIVE_PARTIAL_EXPEDITED
STATUS_RECOVERY_FAILURE
STATUS_REDIRECTOR_HAS_OPEN_HANDLES
STATUS_REDIRECTOR_NOT_STARTED
STATUS_REDIRECTOR_PAUSED
STATUS_REDIRECTOR_STARTED
STATUS_REGISTRY_CORRUPT
STATUS_REGISTRY_IO_FAILED
STATUS_REGISTRY_QUOTA_LIMIT
STATUS_REGISTRY_RECOVERED
STATUS_REMOTE_DISCONNECT
STATUS_REMOTE_NOT_LISTENING
STATUS_REMOTE_RESOURCES
STATUS_REMOTE_SESSION_LIMIT
STATUS_REPARSE
STATUS_REPLY_MESSAGE_MISMATCH
STATUS_REQUEST_ABORTED
STATUS_REQUEST_NOT_ACCEPTED
STATUS_RESOURCE_DATA_NOT_FOUND
STATUS_RESOURCE_LANG_NOT_FOUND
STATUS_RESOURCE_NAME_NOT_FOUND
STATUS_RESOURCE_NOT_OWNED
STATUS_RESOURCE_TYPE_NOT_FOUND
STATUS_RETRY
STATUS_REVISION_MISMATCH
STATUS_RXACT_COMMITTED
STATUS_RXACT_COMMIT_FAILURE
STATUS_RXACT_COMMIT_NECESSARY
STATUS_RXACT_INVALID_STATE
STATUS_RXACT_STATE_CREATED
STATUS_SAM_INIT_FAILURE
STATUS_SECRET_TOO_LONG
STATUS_SECTION_NOT_EXTENDED
STATUS_SECTION_NOT_IMAGE
STATUS_SECTION_PROTECTION
STATUS_SECTION_TOO_BIG
STATUS_SEGMENT_NOTIFICATION
STATUS_SEMAPHORE_LIMIT_EXCEEDED
STATUS_SERIAL_COUNTER_TIMEOUT
STATUS_SERIAL_MORE_WRITES
STATUS_SERIAL_NO_DEVICE_INITED
STATUS_SERVER_DISABLED
STATUS_SERVER_HAS_OPEN_HANDLES
STATUS_SERVER_NOT_DISABLED
STATUS_SERVICE_NOTIFICATION
STATUS_SETMARK_DETECTED
STATUS_SHARED_IRQ_BUSY
STATUS_SHARING_PAUSED
STATUS_SHARING_VIOLATION
STATUS_SINGLE_STEP
STATUS_SOME_NOT_MAPPED
STATUS_SPECIAL_ACCOUNT
STATUS_SPECIAL_GROUP
STATUS_SPECIAL_USER
STATUS_STACK_OVERFLOW
STATUS_STACK_OVERFLOW_READ
STATUS_SUCCESS
STATUS_SUSPEND_COUNT_EXCEEDED
STATUS_SYNCHRONIZATION_REQUIRED
STATUS_SYSTEM_PROCESS_TERMINATED
STATUS_THREAD_IS_TERMINATING
STATUS_THREAD_NOT_IN_PROCESS
STATUS_THREAD_WAS_SUSPENDED
STATUS_TIMEOUT
STATUS_TIMER_NOT_CANCELED
STATUS_TIMER_RESOLUTION_NOT_SET
STATUS_TIMER_RESUME_IGNORED
STATUS_TIME_DIFFERENCE_AT_DC
STATUS_TOKEN_ALREADY_IN_USE
STATUS_TOO_LATE
STATUS_TOO_MANY_ADDRESSES
STATUS_TOO_MANY_COMMANDS
STATUS_TOO_MANY_CONTEXT_IDS
STATUS_TOO_MANY_GUIDS_REQUESTED
STATUS_TOO_MANY_LINKS
STATUS_TOO_MANY_LUIDS_REQUESTED
STATUS_TOO_MANY_NAMES
STATUS_TOO_MANY_NODES
STATUS_TOO_MANY_OPENED_FILES
STATUS_TOO_MANY_PAGING_FILES
STATUS_TOO_MANY_SECRETS
STATUS_TOO_MANY_SESSIONS
STATUS_TOO_MANY_SIDS
STATUS_TOO_MANY_THREADS
STATUS_TRANSACTION_ABORTED
STATUS_TRANSACTION_INVALID_ID
STATUS_TRANSACTION_INVALID_TYPE
STATUS_TRANSACTION_NO_MATCH
STATUS_TRANSACTION_NO_RELEASE
STATUS_TRANSACTION_RESPONDED
STATUS_TRANSACTION_TIMED_OUT
STATUS_TRUSTED_DOMAIN_FAILURE
STATUS_TRUSTED_RELATIONSHIP_FAILURE
STATUS_TRUST_FAILURE
STATUS_UNABLE_TO_DECOMMIT_VM
STATUS_UNABLE_TO_DELETE_SECTION
STATUS_UNABLE_TO_FREE_VM
STATUS_UNABLE_TO_LOCK_MEDIA
STATUS_UNABLE_TO_UNLOAD_MEDIA
STATUS_UNDEFINED_CHARACTER
STATUS_UNEXPECTED_IO_ERROR
STATUS_UNEXPECTED_MM_CREATE_ERR
STATUS_UNEXPECTED_MM_EXTEND_ERR
STATUS_UNEXPECTED_MM_MAP_ERROR
STATUS_UNEXPECTED_NETWORK_ERROR
STATUS_UNHANDLED_EXCEPTION
STATUS_UNKNOWN_REVISION
STATUS_UNMAPPABLE_CHARACTER
STATUS_UNRECOGNIZED_MEDIA
STATUS_UNRECOGNIZED_VOLUME
STATUS_UNSUCCESSFUL
STATUS_UNSUPPORTED_COMPRESSION
STATUS_UNWIND
STATUS_USER_APC
STATUS_USER_EXISTS
STATUS_USER_MAPPED_FILE
STATUS_USER_SESSION_DELETED
STATUS_VALIDATE_CONTINUE
STATUS_VARIABLE_NOT_FOUND
STATUS_VDM_HARD_ERROR
STATUS_VERIFY_REQUIRED
STATUS_VIRTUAL_CIRCUIT_CLOSED
STATUS_VOLUME_DISMOUNTED
STATUS_VOLUME_MOUNTED
STATUS_WAIT_0
STATUS_WAIT_63
STATUS_WAKE_SYSTEM_DEBUGGER
STATUS_WAS_LOCKED
STATUS_WAS_UNLOCKED
STATUS_WORKING_SET_LIMIT_RANGE
STATUS_WORKING_SET_QUOTA
STATUS_WRONG_PASSWORD
STATUS_WRONG_PASSWORD_CORE
STATUS_WRONG_VOLUME
STATUS_WX86_BREAKPOINT
STATUS_WX86_CONTINUE
STATUS_WX86_CREATEWX86TIB
STATUS_WX86_EXCEPTION_CHAIN
STATUS_WX86_EXCEPTION_CONTINUE
STATUS_WX86_EXCEPTION_LASTCHANCE
STATUS_WX86_FLOAT_STACK_CHECK
STATUS_WX86_INTERNAL_ERROR
STATUS_WX86_SINGLE_STEP
STATUS_WX86_UNSIMULATE

View File

@@ -1,7 +0,0 @@
FAST_MUTEX
KPCR
PEB
TEB
SPINLOCK
APC
DPC

View File

@@ -1,73 +0,0 @@
What do you think I am, your personal tech support?
You *know* a %stru% is non-re-entrant, right?
The answer to that is so simple, I'm not going to waste my time telling you.
Well, of course... if you're not below DISPATCH_LEVEL, ros is gonna explode on ya when you try to do that ( duh! ).
I don't think that functionality has been implemented, yet.
What do you mean it crashed? It can't crash there!
Wow. That's a new one.
Ask %dev%, I bet he knows.. he knows everything...
When's the last time you rebuilt?
Have you tried a make clean?
Is it plugged in?
Well it works on *my* system :P
Well don't do that, and you won't have that problem.
Didn't we already fix that?
Well... I don't know.. I just have that code disabled in my tree.
Try surrounding it with parenthesis.
Don't you know going around dereferncing null pointers all day can be hazardous to your health?
Well, duh!
There's a bit in cr3 for problems like that.
Just add a field to the %stru% to keep track of it!
Don't worry about it... the garbage collector in %module% will clean it up for you.
Did I do that?
Didn't %dev% fix that already?
Yes, I think I've seen that bug before... no... that was another program.
I could tell you, but then I'd have to unlink() you.
Well if you'd get some sleep, maybe you'd figure it out... not all of us can keep the hours %dev% can...
You did what? Uh oh... that can't be good.
Well... I could tell you, but the answer's pretty complicated. Why don't you wait to read about it in the book I'm writing.
Yeah, that's happened to me, before, too. All you have to do is wrap it in an SEH block and forget about it.
Just put a NULL dereference in there and commit it. It helps get bugs fixed fast! (Not that I would know)
ASSERT is your friend!
I dunno.. but I bet %dev% could find it for you.
I hereby declare that code is perfect. Your problem must be elsewhere.
I wrote that code... it must be perfect.
$#@!$ One of these days I'm gonna throw %module% out the window!!! Sorry, what were you saying?
maybe I broke it in my last commit. Maybe I did it on purpose...
Have you tried debugging it? I got a can of Raid...
Just delete it, it can't be that important ( You should see all the useless cruft I got rid of in %module% )
Try queueing a work item...
My %stru% fell in love with some %stru% in %module%, and %module% has been hell since...
Maybe the PEB is getting corrupted. Try allocating a new PEB and overwriting the old one. That's what I did last time I had a bug like that.
Hmm.. that seems to have been introduced by my last commit... I bet CVS mixed up the bits during the commit.
It can't possibly be my fault, so I don't care.
I'm not experiencing that problem, perhaps it's all in your mind.
Well... like a good friend of mine said... "Don't Panic!"
It just shows you how far ReactOS has come along! A %period% ago a bug like that wouldn't have even been possible!
Just surround the code with an #if 0/#endif block, it solves all my problems!
You know.. if %dev% would just finish %module% for us, we wouldn't be having this problem.
I say we move on to the next function, since we can't seem to figure this one out.
Well, sure, that would have been my first guess, too.... TEN YEARS AGO :p
yup, that sounds like a problem.
If I wanted to talk about VB, I'd go bug Alex...
ask %dev%
Thank you for that amazingly keen insight, Commander Obvious.
Sorry, can't help you right now, trying to track down this bug %dev% caused in %module%
I dont know about that, but I just fixed a problem in %module% for %dev%
How should I know? I'm still trying to figure out this main() thing... ooh! wanna see what I did in %module%?
lol!
*wink*
;)
42
It's gonna take me over %period% to fix all %dev%'s bugs in %module% :(
How could %func% return %status%!? It bet %dev% broke it! I didn't touch it... honest! no.. really! (me hides)
It's fine if you get %status% there ... just ignore the destruction, and call %func% instead.
%dev% said %status% isn't really an error in this context because we expect %module% to be toast by now
heh, I'm still trying to figure out why %func% is returning %status% when I call it from %module%...
%dev% said it's okay to ignore that as long as you're below %irql%
erm, what do you mean?
damn, I do that all the time
if you want a reply that sounds right, I'd say that %func% support for that is vital to the future of %module%
Sounds like you're having a problem with %func%. I hate that thing... don't talk to me about it.
Just return %status% and forget about it. Someone else will fix it, later.
Blah blah blah... sheesh... can't you figure out *anything*?

View File

@@ -1,17 +0,0 @@
// trim.cpp
// This file is (C) 2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#include "trim.h"
std::string trim ( const std::string& s )
{
const char* p = &s[0];
const char* p2 = p + s.size();
while ( *p == ' ' )
p++;
while ( p2 > p && p2[-1] == ' ' )
p2--;
return std::string ( p, p2-p );
}

View File

@@ -1,13 +0,0 @@
// trim.h
// This file is (C) 2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#ifndef TRIM_H
#define TRIM_H
#include <string>
std::string trim ( const std::string& s );
#endif//TRIM_H

File diff suppressed because it is too large Load Diff

View File

@@ -1,37 +0,0 @@
// verify.h
// This code is (C) 2003-2004 Royce Mitchell III
// and released under the LGPL & BSD licenses
#ifndef VERIFY_H
#define VERIFY_H
//#include <assert.h>
#ifdef ASSERT
#undef ASSERT
#endif//ASSERT
#include "panic.h"
#if defined(DEBUG) || defined(_DEBUG)
inline void AssertHandler ( bool b, const char* str )
{
if ( !b )
panic ( str );
}
# define ASSERT(x) AssertHandler((x) ? true : false, #x )
#else
# define ASSERT(x)
#endif
#ifdef verify
#undef verify
#endif//verify
#if defined(DEBUG) || defined(_DEBUG)
# define verify(x) ASSERT(x)
#else
# define verify(x) x
#endif
#endif//VERIFY_H

View File

@@ -1,32 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following
// attributes.
//
// change them to the information which is associated with the assembly
// you compile.
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):
[assembly: AssemblyVersion("1.0.*")]
// The following attributes specify the key for the sign of your assembly. See the
// .NET Framework documentation for more information about signing.
// This is not required, if you don't want signing let these attributes like they're.
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]

View File

@@ -1,274 +0,0 @@
using System;
using System.Collections;
using System.IO;
using System.Text;
using System.Globalization;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>BinaryReaderHelp</c> implements static helper methods for extracting binary data
/// from a binary reader object.
/// </summary>
internal class BinaryReaderHelp
{
/// <summary>
/// Internal helper method to extract null-terminated strings from a binary reader
/// </summary>
/// <param name="binReader">reference to the binary reader</param>
/// <param name="offset">offset in the stream</param>
/// <param name="noOffset">true if the offset value should be used</param>
/// <param name="encoder">encoder used for text encoding</param>
/// <returns>An extracted string value</returns>
internal static string ExtractString(ref BinaryReader binReader, int offset, bool noOffset, Encoding encoder)
{
string strReturn = "";
if(encoder == null)
encoder = Encoding.ASCII;
ArrayList nameBytes = new ArrayList();
byte curByte;
if(!noOffset)
binReader.BaseStream.Seek(offset, SeekOrigin.Begin);
if(binReader.BaseStream.Position >= binReader.BaseStream.Length)
return "";
curByte = binReader.ReadByte();
while( (curByte != (byte)0) && (binReader.BaseStream.Position < binReader.BaseStream.Length) )
{
nameBytes.Add( curByte );
curByte = binReader.ReadByte();
}
byte[] name = (byte[]) (nameBytes.ToArray(System.Type.GetType("System.Byte")));
strReturn = encoder.GetString(name,0,name.Length);
return strReturn;
}
/// <summary>
/// Internal helper method to extract a string with a specific length from the binary reader
/// </summary>
/// <param name="binReader">reference to the binary reader</param>
/// <param name="length">length of the string (number of bytes)</param>
/// <param name="offset">offset in the stream</param>
/// <param name="noOffset">true if the offset value should be used</param>
/// <param name="encoder">encoder used for text encoding</param>
/// <returns>An extracted string value</returns>
internal static string ExtractString(ref BinaryReader binReader, int length, int offset, bool noOffset, Encoding encoder)
{
string strReturn = "";
if(length == 0)
return "";
if(encoder == null)
encoder = Encoding.ASCII;
ArrayList nameBytes = new ArrayList();
byte curByte;
if(!noOffset)
binReader.BaseStream.Seek(offset, SeekOrigin.Begin);
if(binReader.BaseStream.Position >= binReader.BaseStream.Length)
return "";
curByte = binReader.ReadByte();
while( (curByte != (byte)0) && (nameBytes.Count < length) && (binReader.BaseStream.Position < binReader.BaseStream.Length) )
{
nameBytes.Add( curByte );
if(nameBytes.Count < length)
curByte = binReader.ReadByte();
}
byte[] name = (byte[]) (nameBytes.ToArray(System.Type.GetType("System.Byte")));
strReturn = encoder.GetString(name,0,name.Length);
return strReturn;
}
/// <summary>
/// Internal helper method to extract a string with a specific length from the binary reader
/// </summary>
/// <param name="binReader">reference to the binary reader</param>
/// <param name="bFoundTerminator">reference to a bool vairable which will receive true if the
/// string terminator \0 was found. false indicates that the end of the stream was reached.</param>
/// <param name="offset">offset in the stream</param>
/// <param name="noOffset">true if the offset value should be used</param>
/// <param name="encoder">encoder used for text encoding</param>
/// <returns>An extracted string value</returns>
internal static string ExtractString(ref BinaryReader binReader, ref bool bFoundTerminator, int offset, bool noOffset, Encoding encoder)
{
string strReturn = "";
ArrayList nameBytes = new ArrayList();
byte curByte;
if(encoder == null)
encoder = Encoding.ASCII;
if(!noOffset)
binReader.BaseStream.Seek(offset, SeekOrigin.Begin);
if(binReader.BaseStream.Position >= binReader.BaseStream.Length)
return "";
curByte = binReader.ReadByte();
while( (curByte != (byte)0) && (binReader.BaseStream.Position < binReader.BaseStream.Length) )
{
nameBytes.Add( curByte );
curByte = binReader.ReadByte();
if( curByte == (byte)0 )
{
bFoundTerminator = true;
}
}
byte[] name = (byte[]) (nameBytes.ToArray(System.Type.GetType("System.Byte")));
strReturn = encoder.GetString(name,0,name.Length);
return strReturn;
}
/// <summary>
/// Internal helper method to extract a null-terminated UTF-16/UCS-2 strings from a binary reader
/// </summary>
/// <param name="binReader">reference to the binary reader</param>
/// <param name="offset">offset in the stream</param>
/// <param name="noOffset">true if the offset value should be used</param>
/// <param name="encoder">encoder used for text encoding</param>
/// <returns>An extracted string value</returns>
internal static string ExtractUTF16String(ref BinaryReader binReader, int offset, bool noOffset, Encoding encoder)
{
string strReturn = "";
ArrayList nameBytes = new ArrayList();
byte curByte;
int lastByte=-1;
if(!noOffset)
binReader.BaseStream.Seek(offset, SeekOrigin.Begin);
if(binReader.BaseStream.Position >= binReader.BaseStream.Length)
return "";
if(encoder == null)
encoder = Encoding.Unicode;
curByte = binReader.ReadByte();
int nCnt = 0;
while( ((curByte != (byte)0) || (lastByte != 0) ) && (binReader.BaseStream.Position < binReader.BaseStream.Length) )
{
nameBytes.Add( curByte );
if(nCnt%2 == 0)
lastByte = (int)curByte;
curByte = binReader.ReadByte();
nCnt++;
}
byte[] name = (byte[]) (nameBytes.ToArray(System.Type.GetType("System.Byte")));
strReturn = Encoding.Unicode.GetString(name,0,name.Length);
// apply text encoding
name = Encoding.Default.GetBytes(strReturn);
strReturn = encoder.GetString(name,0,name.Length);
return strReturn;
}
/// <summary>
/// Internal helper for reading ENCINT encoded integer values
/// </summary>
/// <param name="binReader">reference to the reader</param>
/// <returns>a long value</returns>
internal static long ReadENCINT(ref BinaryReader binReader)
{
long nRet = 0;
byte buffer = 0;
int shift = 0;
if(binReader.BaseStream.Position >= binReader.BaseStream.Length)
return nRet;
do
{
buffer = binReader.ReadByte();
nRet |= ((long)((buffer & (byte)0x7F))) << shift;
shift += 7;
}while ( (buffer & (byte)0x80) != 0);
return nRet;
}
/// <summary>
/// Reads an s/r encoded value from the byte array and decodes it into an integer
/// </summary>
/// <param name="wclBits">a byte array containing all bits (contains only 0 or 1 elements)</param>
/// <param name="s">scale param for encoding</param>
/// <param name="r">root param for encoding</param>
/// <param name="nBitIndex">current index in the wclBits array</param>
/// <returns>Returns an decoded integer value.</returns>
internal static int ReadSRItem(byte[] wclBits, int s, int r, ref int nBitIndex)
{
int nRet = 0;
int q = r;
int nPref1Cnt = 0;
while( wclBits[nBitIndex++] == 1)
{
nPref1Cnt++;
}
if(nPref1Cnt == 0)
{
int nMask = 0;
for(int nbits=0; nbits<q;nbits++)
{
nMask |= ( 0x01 & (int)wclBits[nBitIndex]) << (q-nbits-1);
nBitIndex++;
}
nRet = nMask;
}
else
{
q += (nPref1Cnt-1);
int nMask = 0;
int nRMaxValue = 0;
for(int nbits=0; nbits<q;nbits++)
{
nMask |= ( 0x01 & (int)wclBits[nBitIndex]) << (q-nbits-1);
nBitIndex++;
}
for(int nsv=0; nsv<r; nsv++)
{
nRMaxValue = nRMaxValue << 1;
nRMaxValue |= 0x1;
}
nRMaxValue++; // startvalue of s/r encoding with 1 prefixing '1'
nRMaxValue *= (int) Math.Pow((double)2, (double)(nPref1Cnt-1));
nRet = nRMaxValue + nMask;
}
return nRet;
}
}
}

View File

@@ -1,325 +0,0 @@
using System;
using System.IO;
using System.Collections;
using System.Collections.Specialized;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>CHMBtree</c> implements methods/properties to decode the binary help index.
/// This class automatically creates an index arraylist for the current CHMFile instance.
/// It does not store the index internally !
/// </summary>
/// <remarks>The binary index can be found in the storage file $WWKeywordLinks/BTree</remarks>
internal sealed class CHMBtree : IDisposable
{
/// <summary>
/// Constant specifying the size of the string blocks
/// </summary>
private const int BLOCK_SIZE = 2048;
/// <summary>
/// Internal flag specifying if the object is going to be disposed
/// </summary>
private bool disposed = false;
/// <summary>
/// Internal member storing the binary file data
/// </summary>
private byte[] _binaryFileData = null;
/// <summary>
/// Internal member storing flags
/// </summary>
private int _flags = 0;
/// <summary>
/// Internal member storing the data format
/// </summary>
private byte[] _dataFormat = new byte[16];
/// <summary>
/// Internal member storing the index of the last listing block
/// </summary>
private int _indexOfLastListingBlock = 0;
/// <summary>
/// Internal member storing the index of the root block
/// </summary>
private int _indexOfRootBlock = 0;
/// <summary>
/// Internal member storing the number of blocks
/// </summary>
private int _numberOfBlocks = 0;
/// <summary>
/// Internal member storing the tree depth.
/// (1 if no index blocks, 2 one level of index blocks, ...)
/// </summary>
private int _treeDepth = 0;
/// <summary>
/// Internal member storing the number of keywords in the file
/// </summary>
private int _numberOfKeywords = 0;
/// <summary>
/// Internal member storing the codepage
/// </summary>
private int _codePage = 0;
/// <summary>
/// true if the index is from a CHI or CHM file, else CHW
/// </summary>
private bool _isCHI_CHM = true;
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Internal flag specifying if we have to read listing or index blocks
/// </summary>
private bool _readListingBlocks = true;
/// <summary>
/// Internal member storing an indexlist of the current file.
/// </summary>
private ArrayList _indexList = new ArrayList();
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="binaryFileData">binary file data of the $WWKeywordLinks/BTree file</param>
/// <param name="associatedFile">associated chm file</param>
public CHMBtree(byte[] binaryFileData, CHMFile associatedFile)
{
if( associatedFile == null)
{
throw new ArgumentException("CHMBtree.ctor() - Associated CHMFile must not be null !", "associatedFile");
}
_binaryFileData = binaryFileData;
_associatedFile = associatedFile;
DecodeData();
// clear internal binary data after extraction
_binaryFileData = null;
}
/// <summary>
/// Decodes the binary file data and fills the internal properties
/// </summary>
/// <returns>true if succeeded</returns>
private bool DecodeData()
{
bool bRet = true;
MemoryStream memStream = new MemoryStream(_binaryFileData);
BinaryReader binReader = new BinaryReader(memStream);
int nCurOffset = 0;
int nTemp = 0;
// decode header
binReader.ReadChars(2); // 2chars signature (not important)
_flags = (int)binReader.ReadInt16(); // WORD flags
binReader.ReadInt16(); // size of blocks (always 2048)
_dataFormat = binReader.ReadBytes(16);
binReader.ReadInt32(); // unknown DWORD
_indexOfLastListingBlock = binReader.ReadInt32();
_indexOfRootBlock = binReader.ReadInt32();
binReader.ReadInt32(); // unknown DWORD
_numberOfBlocks = binReader.ReadInt32();
_treeDepth = binReader.ReadInt16();
_numberOfKeywords = binReader.ReadInt32();
_codePage = binReader.ReadInt32();
binReader.ReadInt32(); // lcid DWORD
nTemp = binReader.ReadInt32();
_isCHI_CHM = (nTemp==1);
binReader.ReadInt32(); // unknown DWORD
binReader.ReadInt32(); // unknown DWORD
binReader.ReadInt32(); // unknown DWORD
binReader.ReadInt32(); // unknown DWORD
// end of header decode
while( (memStream.Position < memStream.Length) && (bRet) )
{
nCurOffset = (int)memStream.Position;
byte [] dataBlock = binReader.ReadBytes(BLOCK_SIZE);
bRet &= DecodeBlock(dataBlock, ref nCurOffset, _treeDepth-1);
}
return bRet;
}
/// <summary>
/// Decodes a block of url-string data
/// </summary>
/// <param name="dataBlock">block of data</param>
/// <param name="nOffset">current file offset</param>
/// <param name="indexBlocks">number of index blocks</param>
/// <returns>true if succeeded</returns>
private bool DecodeBlock( byte[] dataBlock, ref int nOffset, int indexBlocks )
{
bool bRet = true;
int nblockOffset = nOffset;
MemoryStream memStream = new MemoryStream(dataBlock);
BinaryReader binReader = new BinaryReader(memStream);
int freeSpace = binReader.ReadInt16(); // length of freespace
int nrOfEntries = binReader.ReadInt16(); // number of entries
bool bListingEndReached = false;
//while( (memStream.Position < (memStream.Length-freeSpace)) && (bRet) )
//{
int nIndexOfPrevBlock = -1;
int nIndexOfNextBlock = -1;
int nIndexOfChildBlock = 0;
if(_readListingBlocks)
{
nIndexOfPrevBlock = binReader.ReadInt32(); // -1 if this is the header
nIndexOfNextBlock = binReader.ReadInt32(); // -1 if this is the last block
}
else
{
nIndexOfChildBlock = binReader.ReadInt32();
}
for(int nE = 0; nE < nrOfEntries; nE++)
{
if(_readListingBlocks)
{
bListingEndReached = (nIndexOfNextBlock==-1);
string keyWord = BinaryReaderHelp.ExtractUTF16String(ref binReader, 0, true, _associatedFile.TextEncoding);
bool isSeeAlsoKeyword = (binReader.ReadInt16()!=0);
int indent = binReader.ReadInt16(); // indent of entry
int nCharIndex = binReader.ReadInt32();
binReader.ReadInt32();
int numberOfPairs = binReader.ReadInt32();
int[] nTopics = new int[numberOfPairs];
string[] seeAlso = new string[numberOfPairs];
for(int i=0; i < numberOfPairs; i++)
{
if(isSeeAlsoKeyword)
{
seeAlso[i] = BinaryReaderHelp.ExtractUTF16String(ref binReader, 0, true, _associatedFile.TextEncoding);
}
else
{
nTopics[i] = binReader.ReadInt32();
}
}
binReader.ReadInt32(); // unknown
int nIndexOfThisEntry = binReader.ReadInt32();
IndexItem newItem = new IndexItem(_associatedFile, keyWord, isSeeAlsoKeyword, indent, nCharIndex, nIndexOfThisEntry, seeAlso, nTopics);
_indexList.Add(newItem);
}
else
{
string keyWord = BinaryReaderHelp.ExtractUTF16String(ref binReader, 0, true, _associatedFile.TextEncoding);
bool isSeeAlsoKeyword = (binReader.ReadInt16()!=0);
int indent = binReader.ReadInt16(); // indent of entry
int nCharIndex = binReader.ReadInt32();
binReader.ReadInt32();
int numberOfPairs = binReader.ReadInt32();
int[] nTopics = new int[numberOfPairs];
string[] seeAlso = new string[numberOfPairs];
for(int i=0; i < numberOfPairs; i++)
{
if(isSeeAlsoKeyword)
{
seeAlso[i] = BinaryReaderHelp.ExtractUTF16String(ref binReader, 0, true, _associatedFile.TextEncoding);
}
else
{
nTopics[i] = binReader.ReadInt32();
}
}
int nIndexChild = binReader.ReadInt32();
int nIndexOfThisEntry=-1;
IndexItem newItem = new IndexItem(_associatedFile, keyWord, isSeeAlsoKeyword, indent, nCharIndex, nIndexOfThisEntry, seeAlso, nTopics);
_indexList.Add(newItem);
}
}
//}
binReader.ReadBytes(freeSpace);
if( bListingEndReached )
_readListingBlocks = false;
return bRet;
}
/// <summary>
/// Gets the internal generated index list
/// </summary>
internal ArrayList IndexList
{
get { return _indexList; }
}
/// <summary>
/// Implement IDisposable.
/// </summary>
public void Dispose()
{
Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}
/// <summary>
/// Dispose(bool disposing) executes in two distinct scenarios.
/// If disposing equals true, the method has been called directly
/// or indirectly by a user's code. Managed and unmanaged resources
/// can be disposed.
/// If disposing equals false, the method has been called by the
/// runtime from inside the finalizer and you should not reference
/// other objects. Only unmanaged resources can be disposed.
/// </summary>
/// <param name="disposing">disposing flag</param>
private void Dispose(bool disposing)
{
// Check to see if Dispose has already been called.
if(!this.disposed)
{
// If disposing equals true, dispose all managed
// and unmanaged resources.
if(disposing)
{
// Dispose managed resources.
_binaryFileData = null;
}
}
disposed = true;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,286 +0,0 @@
using System;
using System.Collections;
using System.IO;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>CHMIdxhdr</c> implements t properties which have been read from the #IDXHDR file.
/// </summary>
internal sealed class CHMIdxhdr : IDisposable
{
/// <summary>
/// Internal flag specifying if the object is going to be disposed
/// </summary>
private bool disposed = false;
/// <summary>
/// Internal member storing the binary file data
/// </summary>
private byte[] _binaryFileData = null;
/// <summary>
/// Internal member storing the number of topic nodes including the contents and index files
/// </summary>
private int _numberOfTopicNodes = 0;
/// <summary>
/// Internal member storing the offset in the #STRINGS file of the ImageList param of the "text/site properties" object of the sitemap contents
/// </summary>
private int _imageListOffset = 0;
/// <summary>
/// True if the value of the ImageType param of the "text/site properties" object of the sitemap contents is "Folder".
/// </summary>
private bool _imageTypeFolder = false;
/// <summary>
/// Internal member storing the background value
/// </summary>
private int _background = 0;
/// <summary>
/// Internal member storing the foreground value
/// </summary>
private int _foreground = 0;
/// <summary>
/// Internal member storing the offset in the #STRINGS file of the Font param of the "text/site properties" object of the sitemap contents
/// </summary>
private int _fontOffset = 0;
/// <summary>
/// Internal member storing the offset in the #STRINGS file of the FrameName param of the "text/site properties" object of the sitemap contents
/// </summary>
private int _frameNameOffset = 0;
/// <summary>
/// Internal member storing the offset in the #STRINGS file of the WindowName param of the "text/site properties" object of the sitemap contents
/// </summary>
private int _windowNameOffset = 0;
/// <summary>
/// Internal member storing the number of merged files
/// </summary>
private int _numberOfMergedFiles = 0;
/// <summary>
/// Internal member storing the offset in the #STRINGS file of the merged file names
/// </summary>
private ArrayList _mergedFileOffsets = new ArrayList();
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="binaryFileData">binary file data of the #IDXHDR file</param>
/// <param name="associatedFile">associated CHMFile instance</param>
public CHMIdxhdr(byte[] binaryFileData, CHMFile associatedFile)
{
_binaryFileData = binaryFileData;
_associatedFile = associatedFile;
DecodeData();
}
/// <summary>
/// Decodes the binary file data and fills the internal properties
/// </summary>
/// <returns>true if succeeded</returns>
private bool DecodeData()
{
bool bRet = true;
MemoryStream memStream = new MemoryStream(_binaryFileData);
BinaryReader binReader = new BinaryReader(memStream);
int nTemp = 0;
// 4 character T#SM
binReader.ReadBytes(4);
// unknown timestamp DWORD
nTemp = binReader.ReadInt32();
// unknown 1
nTemp = binReader.ReadInt32();
// number of topic nodes including the contents & index files
_numberOfTopicNodes = binReader.ReadInt32();
// unknown DWORD
nTemp = binReader.ReadInt32();
// offset in the strings file
_imageListOffset = binReader.ReadInt32();
if( _imageListOffset == 0)
_imageListOffset = -1; // 0/-1 = none
// unknown DWORD
nTemp = binReader.ReadInt32();
// 1 if the value of the ImageType param of the "text/site properties" object of the sitemap contents is "Folder".
nTemp = binReader.ReadInt32();
_imageTypeFolder = (nTemp == 1);
// offset in the strings file
_background = binReader.ReadInt32();
// offset in the strings file
_foreground = binReader.ReadInt32();
// offset in the strings file
_fontOffset = binReader.ReadInt32();
// window styles DWORD
nTemp = binReader.ReadInt32();
// window styles DWORD
nTemp = binReader.ReadInt32();
// unknown DWORD
nTemp = binReader.ReadInt32();
// offset in the strings file
_frameNameOffset = binReader.ReadInt32();
if( _frameNameOffset == 0)
_frameNameOffset = -1; // 0/-1 = none
// offset in the strings file
_windowNameOffset = binReader.ReadInt32();
if( _windowNameOffset == 0)
_windowNameOffset = -1; // 0/-1 = none
// informations types DWORD
nTemp = binReader.ReadInt32();
// unknown DWORD
nTemp = binReader.ReadInt32();
// number of merged files in the merged file list DWORD
_numberOfMergedFiles = binReader.ReadInt32();
nTemp = binReader.ReadInt32();
for(int i = 0; i < _numberOfMergedFiles; i++)
{
// DWORD offset value of merged file
nTemp = binReader.ReadInt32();
if(nTemp > 0)
_mergedFileOffsets.Add(nTemp);
}
return bRet;
}
/// <summary>
/// Gets the number of topic nodes including the contents and index files
/// </summary>
public int NumberOfTopicNodes
{
get { return _numberOfTopicNodes; }
}
/// <summary>
/// Gets the offset in the #STRINGS file of the ImageList
/// param of the "text/site properties" object of the sitemap contents
/// </summary>
public int ImageListOffset
{
get { return _imageListOffset; }
}
/// <summary>
/// True if the value of the ImageType param of the
/// "text/site properties" object of the sitemap contents is "Folder".
/// </summary>
/// <remarks>If this is set to true, the help will display folders instead of books</remarks>
public bool ImageTypeFolder
{
get { return _imageTypeFolder; }
}
/// <summary>
/// Gets the background setting
/// </summary>
public int Background
{
get { return _background; }
}
/// <summary>
/// Gets the foreground setting
/// </summary>
public int Foreground
{
get { return _foreground; }
}
/// <summary>
/// Gets the offset in the #STRINGS file of the Font
/// param of the "text/site properties" object of the sitemap contents
/// </summary>
public int WindowNameOffset
{
get { return _fontOffset; }
}
/// <summary>
/// Gets the offset in the #STRINGS file of the FrameName
/// param of the "text/site properties" object of the sitemap contents
/// </summary>
public int FrameNameOffset
{
get { return _frameNameOffset; }
}
/// <summary>
/// Gets the offset in the #STRINGS file of the WindowName
/// param of the "text/site properties" object of the sitemap contents
/// </summary>
public int FontOffset
{
get { return _windowNameOffset; }
}
/// <summary>
/// Gets an array list of offset numbers in the #STRINGS file of the
/// merged file names.
/// </summary>
public ArrayList MergedFileOffsets
{
get { return _mergedFileOffsets; }
}
/// <summary>
/// Implement IDisposable.
/// </summary>
public void Dispose()
{
Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}
/// <summary>
/// Dispose(bool disposing) executes in two distinct scenarios.
/// If disposing equals true, the method has been called directly
/// or indirectly by a user's code. Managed and unmanaged resources
/// can be disposed.
/// If disposing equals false, the method has been called by the
/// runtime from inside the finalizer and you should not reference
/// other objects. Only unmanaged resources can be disposed.
/// </summary>
/// <param name="disposing">disposing flag</param>
private void Dispose(bool disposing)
{
// Check to see if Dispose has already been called.
if(!this.disposed)
{
// If disposing equals true, dispose all managed
// and unmanaged resources.
if(disposing)
{
// Dispose managed resources.
_binaryFileData = null;
_mergedFileOffsets = null;
}
}
disposed = true;
}
}
}

View File

@@ -1,256 +0,0 @@
using System;
using System.IO;
using System.Collections;
using System.Collections.Specialized;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>CHMStrings</c> implements a string collection read from the #STRINGS file
/// </summary>
internal sealed class CHMStrings : IDisposable
{
/// <summary>
/// Constant specifying the size of the string blocks
/// </summary>
private const int STRING_BLOCK_SIZE = 4096;
/// <summary>
/// Internal flag specifying if the object is going to be disposed
/// </summary>
private bool disposed = false;
/// <summary>
/// Internal member storing the binary file data
/// </summary>
private byte[] _binaryFileData = null;
/// <summary>
/// Internal member storing the string dictionary
/// </summary>
private Hashtable _stringDictionary = new Hashtable();
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="binaryFileData">binary file data of the #STRINGS file</param>
/// <param name="associatedFile">associated chm file</param>
public CHMStrings(byte[] binaryFileData, CHMFile associatedFile)
{
_binaryFileData = binaryFileData;
_associatedFile = associatedFile;
DecodeData();
}
/// <summary>
/// Standard constructor
/// </summary>
internal CHMStrings()
{
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
writer.Write( _stringDictionary.Count );
if (_stringDictionary.Count != 0)
{
IDictionaryEnumerator iDictionaryEnumerator = _stringDictionary.GetEnumerator();
while (iDictionaryEnumerator.MoveNext())
{
DictionaryEntry dictionaryEntry = (DictionaryEntry)iDictionaryEnumerator.Current;
writer.Write( Int32.Parse(dictionaryEntry.Key.ToString()) );
writer.Write( dictionaryEntry.Value.ToString() );
}
}
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
int nCnt = reader.ReadInt32();
for(int i=0; i<nCnt;i++)
{
int nKey = reader.ReadInt32();
string sValue = reader.ReadString();
_stringDictionary[nKey.ToString()] = sValue;
}
}
/// <summary>
/// Sets the associated CHMFile instance
/// </summary>
/// <param name="associatedFile">instance to set</param>
internal void SetCHMFile(CHMFile associatedFile)
{
_associatedFile = associatedFile;
}
#endregion
/// <summary>
/// Decodes the binary file data and fills the internal properties
/// </summary>
/// <returns>true if succeeded</returns>
private bool DecodeData()
{
bool bRet = true;
MemoryStream memStream = new MemoryStream(_binaryFileData);
BinaryReader binReader = new BinaryReader(memStream);
//binReader.ReadByte(); // file starts with a NULL character for 0-based offset indexing
int nStringOffset = 0;
int nSubsetOffset = 0;
while( (memStream.Position < memStream.Length) && (bRet) )
{
nStringOffset = (int)memStream.Position;
byte [] stringBlock = binReader.ReadBytes(STRING_BLOCK_SIZE);
bRet &= DecodeBlock(stringBlock, ref nStringOffset, ref nSubsetOffset);
}
return bRet;
}
/// <summary>
/// Decodes a string block
/// </summary>
/// <param name="stringBlock">byte array which represents the string block</param>
/// <param name="nStringOffset">current string offset number</param>
/// <param name="nSubsetOffset">reference to a subset variable</param>
/// <returns>true if succeeded</returns>
/// <remarks>If a string crosses the end of a block then it will be cut off
/// without a NT and repeated in full, with a NT, at the start of the next block.
/// For eg "To customize the appearance of a contents file" might become
/// "To customize the (block ending)To customize the appearance of a contents file"
/// when there are 17 bytes left at the end of the block. </remarks>
private bool DecodeBlock( byte[] stringBlock, ref int nStringOffset, ref int nSubsetOffset)
{
bool bRet = true;
MemoryStream memStream = new MemoryStream(stringBlock);
BinaryReader binReader = new BinaryReader(memStream);
while( (memStream.Position < memStream.Length) && (bRet) )
{
bool bFoundTerminator = false;
int nCurOffset = nStringOffset + (int)memStream.Position;
string sTemp = BinaryReaderHelp.ExtractString(ref binReader, ref bFoundTerminator, 0, true, _associatedFile.TextEncoding);
if(nSubsetOffset != 0)
{
_stringDictionary[nSubsetOffset.ToString()] = sTemp.ToString();
}
else
{
_stringDictionary[nCurOffset.ToString()] = sTemp.ToString();
}
if( bFoundTerminator )
{
nSubsetOffset = 0;
}
else
{
nSubsetOffset = nCurOffset;
}
}
return bRet;
}
/// <summary>
/// Indexer which returns the string at a given offset
/// </summary>
public string this[int offset]
{
get
{
if(offset == -1)
return String.Empty;
string sTemp = (string)_stringDictionary[ offset.ToString() ];
if(sTemp == null)
return String.Empty;
return sTemp;
}
}
/// <summary>
/// Indexer which returns the string at a given offset
/// </summary>
public string this[string offset]
{
get
{
if(offset == "-1")
return String.Empty;
string sTemp = (string)_stringDictionary[ offset ];
if(sTemp == null)
return String.Empty;
return sTemp;
}
}
/// <summary>
/// Implement IDisposable.
/// </summary>
public void Dispose()
{
Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}
/// <summary>
/// Dispose(bool disposing) executes in two distinct scenarios.
/// If disposing equals true, the method has been called directly
/// or indirectly by a user's code. Managed and unmanaged resources
/// can be disposed.
/// If disposing equals false, the method has been called by the
/// runtime from inside the finalizer and you should not reference
/// other objects. Only unmanaged resources can be disposed.
/// </summary>
/// <param name="disposing">disposing flag</param>
private void Dispose(bool disposing)
{
// Check to see if Dispose has already been called.
if(!this.disposed)
{
// If disposing equals true, dispose all managed
// and unmanaged resources.
if(disposing)
{
// Dispose managed resources.
_binaryFileData = null;
_stringDictionary = null;
}
}
disposed = true;
}
}
}

View File

@@ -1,821 +0,0 @@
using System;
using System.Collections;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Globalization;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>CHMSystem</c> reads the #SYSTEM file of the chm and stores its settings
/// </summary>
internal sealed class CHMSystem : IDisposable
{
/// <summary>
/// Internal flag specifying if the object is going to be disposed
/// </summary>
private bool disposed = false;
/// <summary>
/// Internal member storing the binary file data
/// </summary>
private byte[] _binaryFileData = null;
/// <summary>
/// Internal member storing the file version
/// </summary>
private int _fileVersion = 0;
/// <summary>
/// Internal member storing the contents file path
/// </summary>
private string _contentsFile = "";
/// <summary>
/// Internal member storing the index file path
/// </summary>
private string _indexFile = "";
/// <summary>
/// Internal member storing the default help topic
/// </summary>
private string _defaultTopic = "";
/// <summary>
/// Internal member storing the help-window title
/// </summary>
private string _title = "";
/// <summary>
/// Internal flag if dbcs is on
/// </summary>
private bool _dbcs = false;
/// <summary>
/// Internal flag if fulltext search is enabled
/// </summary>
private bool _fullTextSearch = false;
/// <summary>
/// Internal flag if KLinks are in the file
/// </summary>
private bool _hasKLinks = false;
/// <summary>
/// Internal flag if ALinks are in the file
/// </summary>
private bool _hasALinks = false;
/// <summary>
/// Internal member storing the name of the default window
/// </summary>
private string _defaultWindow = "";
/// <summary>
/// Internal member storing the filename of the compiled file
/// </summary>
private string _compileFile = "";
/// <summary>
/// Internal flag storing the offset value of the binary index
/// </summary>
private uint _binaryIndexURLTableID = 0;
/// <summary>
/// Inernal member storing the compiler version this file was compiled
/// </summary>
private string _compilerVersion = "";
/// <summary>
/// Internal flag storing the offset value of the binary TOC
/// </summary>
private uint _binaryTOCURLTableID = 0;
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Internal member storing the default fontface, size, charset
/// </summary>
private string _defaultFont = "";
/// <summary>
/// Internal member storing the culture info of the file
/// </summary>
private CultureInfo _culture;
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="binaryFileData">binary file data of the #SYSTEM file</param>
/// <param name="associatedFile">associated chm file</param>
public CHMSystem(byte[] binaryFileData, CHMFile associatedFile)
{
_binaryFileData = binaryFileData;
_associatedFile = associatedFile;
DecodeData();
if(_culture == null)
{
// Set the text encoder of the chm file to the read charset/codepage
_associatedFile.TextEncoding = Encoding.GetEncoding( this.CodePage );
}
}
/// <summary>
/// Decodes the binary file data and fills the internal properties
/// </summary>
/// <returns>true if succeeded</returns>
private bool DecodeData()
{
bool bRet = true;
MemoryStream memStream = new MemoryStream(_binaryFileData);
BinaryReader binReader = new BinaryReader(memStream);
// First entry = DWORD for version number
_fileVersion = (int) binReader.ReadInt32();
while( (memStream.Position < memStream.Length) && (bRet) )
{
bRet &= DecodeEntry(ref binReader);
}
return bRet;
}
/// <summary>
/// Decodes an #system file entry
/// </summary>
/// <param name="binReader">binary reader reference</param>
/// <returns>true if succeeded</returns>
private bool DecodeEntry(ref BinaryReader binReader)
{
bool bRet = true;
int code = (int) binReader.ReadInt16(); // entry code, WORD
int length = (int) binReader.ReadInt16(); // length of entry
switch(code)
{
case 0:
{
_contentsFile = BinaryReaderHelp.ExtractString(ref binReader,length, 0, true, _associatedFile.TextEncoding);
};break;
case 1:
{
_indexFile = BinaryReaderHelp.ExtractString(ref binReader,length, 0, true, _associatedFile.TextEncoding);
};break;
case 2:
{
_defaultTopic = BinaryReaderHelp.ExtractString(ref binReader,length, 0, true, _associatedFile.TextEncoding);
};break;
case 3:
{
_title = BinaryReaderHelp.ExtractString(ref binReader,length, 0, true, _associatedFile.TextEncoding);
};break;
case 4:
{
int nTemp = 0;
nTemp = binReader.ReadInt32(); // read DWORD LCID
_culture = new CultureInfo(nTemp);
if(_culture != null)
_associatedFile.TextEncoding = Encoding.GetEncoding(_culture.TextInfo.ANSICodePage);
nTemp = binReader.ReadInt32(); // read DWORD DBCS
_dbcs = (nTemp == 1);
nTemp = binReader.ReadInt32(); // read DWORD Fulltext search
_fullTextSearch = (nTemp == 1);
nTemp = binReader.ReadInt32(); // read DWORD has klinks
_hasKLinks = (nTemp != 0);
nTemp = binReader.ReadInt32(); // read DWORD has alinks
_hasALinks = (nTemp != 0);
// read the rest of code 4 (not important for us)
byte[] temp = new byte[length-(5*4)];
temp = binReader.ReadBytes(length-(5*4));
};break;
case 5:
{
_defaultWindow = BinaryReaderHelp.ExtractString(ref binReader,length, 0, true, _associatedFile.TextEncoding);
};break;
case 6:
{
_compileFile = BinaryReaderHelp.ExtractString(ref binReader,length, 0, true, _associatedFile.TextEncoding);
};break;
case 7:
{
if(_fileVersion > 2)
{
_binaryIndexURLTableID = (uint) binReader.ReadInt32();
}
else
{
byte[] read = binReader.ReadBytes(length);
int i=read.Length;
}
};break;
case 8:
{
// abbreviation (not interresting for us)
byte[] read = binReader.ReadBytes(length);
int i=read.Length;
};break;
case 9:
{
_compilerVersion = BinaryReaderHelp.ExtractString(ref binReader,length, 0, true, _associatedFile.TextEncoding);
};break;
case 10:
{
// timestamp of the file (not interresting for us)
byte[] read = binReader.ReadBytes(length);
int i=read.Length;
};break;
case 11:
{
if(_fileVersion > 2)
{
_binaryTOCURLTableID = (uint) binReader.ReadInt32();
}
else
{
byte[] read = binReader.ReadBytes(length);
int i=read.Length;
}
};break;
case 12:
{
// number of information bytes
byte[] read = binReader.ReadBytes(length);
int i=read.Length;
};break;
case 13:
{
// copy of file #idxhdr
byte[] read = binReader.ReadBytes(length);
int i=read.Length;
};break;
case 14:
{
// custom tabs for HH viewer
byte[] read = binReader.ReadBytes(length);
int i=read.Length;
};break;
case 15:
{
// a checksum
byte[] read = binReader.ReadBytes(length);
int i=read.Length;
};break;
case 16:
{
// Default Font=string,number,number
// The string is the name of the font, the first number is the
// point size & the last number is the character set used by the font.
// For acceptable values see *_CHARSET defines in wingdi.h from the
// Windows SDK or the same file in MinGW or Wine.
// Most of the time you will only want to use 0, which is the value for ANSI,
// which is the subset of ASCII used by Windows.
_defaultFont = BinaryReaderHelp.ExtractString(ref binReader,length, 0, true, _associatedFile.TextEncoding);
};break;
default:
{
byte[] temp = new byte[length];
temp = binReader.ReadBytes(length);
//bRet = false;
int i=temp.Length;
};break;
}
return bRet;
}
/// <summary>
/// Reads all HHC files and checks which one has the global object tag.
/// This hhc file will be returned as master hhc
/// </summary>
/// <param name="hhcTopics">list of topics containing the extension hhc</param>
/// <param name="TopicItemArrayList">true if the arraylist contains topic items</param>
/// <returns>the filename of the found master toc</returns>
private string GetMasterHHC(ArrayList hhcTopics, bool TopicItemArrayList)
{
string sRet = "";
if( (hhcTopics!=null) && (hhcTopics.Count > 0) )
{
if( TopicItemArrayList )
{
if(hhcTopics.Count == 1)
{
sRet = ((TopicEntry)hhcTopics[0]).Locale;
}
else
{
foreach(TopicEntry curEntry in hhcTopics)
{
CHMStream.CHMStream iw=null;
MemoryStream fileObject=null;
if( _associatedFile.CurrentStorageWrapper == null)
{
iw=new CHMStream.CHMStream();
iw.OpenCHM(_associatedFile.ChmFilePath);
}
else
{
iw = _associatedFile.CurrentStorageWrapper;
}
fileObject = iw.OpenStream(curEntry.Locale);
if( fileObject != null)
{
string fileString =_associatedFile.TextEncoding.GetString(fileObject.ToArray(),0,(int)fileObject.Length);
fileObject.Close();
if( HHCParser.HasGlobalObjectTag(fileString, _associatedFile) )
{
sRet = curEntry.Locale;
break;
}
}
}
}
}
else
{
if(hhcTopics.Count == 1)
{
sRet = ((string)hhcTopics[0]);
}
else
{
foreach(string curEntry in hhcTopics)
{
CHMStream.CHMStream iw=null;
MemoryStream fileObject=null;
if( _associatedFile.CurrentStorageWrapper == null)
{
iw=new CHMStream.CHMStream();
iw.OpenCHM(_associatedFile.ChmFilePath);
}
else
{
iw = _associatedFile.CurrentStorageWrapper;
}
fileObject = iw.OpenStream(curEntry);
if( fileObject != null)
{
string fileString =_associatedFile.TextEncoding.GetString(fileObject.ToArray(),0,(int)fileObject.Length);
fileObject.Close();
if( HHCParser.HasGlobalObjectTag(fileString, _associatedFile) )
{
sRet = curEntry;
break;
}
}
}
}
}
}
return sRet;
}
/// <summary>
/// Gets the file version of the chm file.
/// 2 for Compatibility=1.0, 3 for Compatibility=1.1
/// </summary>
public int FileVersion
{
get { return _fileVersion; }
}
/// <summary>
/// Gets the contents file name
/// </summary>
public string ContentsFile
{
get
{
if( BinaryTOC ) // if the file contains a binary TOC
{
// make sure the CHMFile instance exists and has loaded the file #URLTBL
if( (_associatedFile != null) && (_associatedFile.UrltblFile != null ) )
{
// Get an url-table entry by its unique id
UrlTableEntry entry = _associatedFile.UrltblFile.GetByUniqueID( this.BinaryTOCURLTableID );
if(entry != null)
{
// entry found, return the url ( = filename )
return entry.URL;
}
}
}
else
{
if(_contentsFile.Length <= 0)
{
string sCheck = "Table of Contents.hhc"; // default HHP contents filename
if( (_associatedFile != null) && (_associatedFile.TopicsFile != null ) )
{
TopicEntry te = _associatedFile.TopicsFile.GetByLocale( sCheck );
if( te == null)
{
sCheck = "toc.hhc"; // default HHP contents filename
te = _associatedFile.TopicsFile.GetByLocale( sCheck );
if( te == null)
{
sCheck = CompileFile + ".hhc";
te = _associatedFile.TopicsFile.GetByLocale( sCheck );
if( te == null)
{
ArrayList arrExt = _associatedFile.TopicsFile.GetByExtension("hhc");
if( arrExt == null )
{
arrExt = _associatedFile.EnumFilesByExtension("hhc");
if( arrExt == null )
{
Debug.WriteLine("CHMSystem.ContentsFile - Failed, contents file not found !");
}
else
{
if(arrExt.Count > 1)
{
sCheck = GetMasterHHC(arrExt, false);
_contentsFile = sCheck;
}
else
{
_contentsFile = ((string)arrExt[0]);
sCheck = _contentsFile;
}
}
}
else
{
if(arrExt.Count > 1)
{
sCheck = GetMasterHHC(arrExt, true);
_contentsFile = sCheck;
}
else
{
_contentsFile = ((TopicEntry)arrExt[0]).Locale;
sCheck = _contentsFile;
}
}
}
else
{
_contentsFile = sCheck;
}
}
else
{
_contentsFile = sCheck;
}
}
else
{
_contentsFile = sCheck;
}
}
return sCheck;
}
}
return _contentsFile;
}
}
/// <summary>
/// Gets the index file name
/// </summary>
public string IndexFile
{
get
{
if( BinaryIndex ) // if the file contains a binary index
{
// make sure the CHMFile instance exists and has loaded the file #URLTBL
if( (_associatedFile != null) && (_associatedFile.UrltblFile != null ) )
{
// Get an url-table entry by its unique id
UrlTableEntry entry = _associatedFile.UrltblFile.GetByUniqueID( this.BinaryIndexURLTableID );
if(entry != null)
{
// entry found, return the url ( = filename )
return entry.URL;
}
}
}
else
{
if(_indexFile.Length <= 0)
{
string sCheck = "Index.hhk"; // default HHP index filename
if( (_associatedFile != null) && (_associatedFile.TopicsFile != null ) )
{
TopicEntry te = _associatedFile.TopicsFile.GetByLocale( sCheck );
if( te == null)
{
sCheck = CompileFile + ".hhk";
te = _associatedFile.TopicsFile.GetByLocale( sCheck );
if( te == null)
{
ArrayList arrExt = _associatedFile.TopicsFile.GetByExtension("hhk");
if( arrExt == null )
{
Debug.WriteLine("CHMSystem.IndexFile - Failed, index file not found !");
}
else
{
_indexFile = ((TopicEntry)arrExt[0]).Locale;
sCheck = _indexFile;
}
}
else
{
_indexFile = sCheck;
}
}
else
{
_indexFile = sCheck;
}
}
return sCheck;
}
}
return _indexFile;
}
}
/// <summary>
/// Sets the default topic of this file
/// </summary>
/// <param name="local">new local value of the topic</param>
internal void SetDefaultTopic(string local)
{
_defaultTopic = local;
}
/// <summary>
/// Gets the default help topic
/// </summary>
public string DefaultTopic
{
get { return _defaultTopic; }
}
/// <summary>
/// Gets the title of the help window
/// </summary>
public string Title
{
get { return _title; }
}
/// <summary>
/// Gets the flag if DBCS is in use
/// </summary>
public bool DBCS
{
get { return _dbcs; }
}
/// <summary>
/// Gets the flag if full-text-search is available
/// </summary>
public bool FullTextSearch
{
get { return _fullTextSearch; }
}
/// <summary>
/// Gets the flag if the file has ALinks
/// </summary>
public bool HasALinks
{
get { return _hasALinks; }
}
/// <summary>
/// Gets the flag if the file has KLinks
/// </summary>
public bool HasKLinks
{
get { return _hasKLinks; }
}
/// <summary>
/// Gets the default window name
/// </summary>
public string DefaultWindow
{
get { return _defaultWindow; }
}
/// <summary>
/// Gets the file name of the compile file
/// </summary>
public string CompileFile
{
get { return _compileFile; }
}
/// <summary>
/// Gets the id of the binary index in the url table
/// </summary>
public uint BinaryIndexURLTableID
{
get { return _binaryIndexURLTableID; }
}
/// <summary>
/// Gets the flag if the chm has a binary index file
/// </summary>
public bool BinaryIndex
{
get { return (_binaryIndexURLTableID>0); }
}
/// <summary>
/// Gets the flag if the chm has a binary index file
/// </summary>
public string CompilerVersion
{
get { return _compilerVersion; }
}
/// <summary>
/// Gets the id of the binary toc in the url table
/// </summary>
public uint BinaryTOCURLTableID
{
get { return _binaryTOCURLTableID; }
}
/// <summary>
/// Gets the flag if the chm has a binary toc file
/// </summary>
public bool BinaryTOC
{
get { return (_binaryTOCURLTableID>0); }
}
/// <summary>
/// Gets the font face of the read font property.
/// Empty string for default font.
/// </summary>
public string FontFace
{
get
{
if( _defaultFont.Length > 0)
{
string [] fontSplit = _defaultFont.Split( new char[]{','});
if(fontSplit.Length > 0)
return fontSplit[0].Trim();
}
return "";
}
}
/// <summary>
/// Gets the font size of the read font property.
/// 0 for default font size
/// </summary>
public double FontSize
{
get
{
if( _defaultFont.Length > 0)
{
string [] fontSplit = _defaultFont.Split( new char[]{','});
if(fontSplit.Length > 1)
return double.Parse(fontSplit[1].Trim());
}
return 0.0;
}
}
/// <summary>
/// Gets the character set of the read font property
/// 1 for default
/// </summary>
public int CharacterSet
{
get
{
if( _defaultFont.Length > 0)
{
string [] fontSplit = _defaultFont.Split( new char[]{','});
if(fontSplit.Length > 2)
return Int32.Parse(fontSplit[2].Trim());
}
return 0;
}
}
/// <summary>
/// Gets the codepage depending on the read font property
/// </summary>
public int CodePage
{
get
{
// if we've read a LCID from the system file
// ignore the font-property settings and return
// the codepage generated from the culture info
if(_culture != null)
{
return _culture.TextInfo.ANSICodePage;
}
int nRet = 1252; // default codepage windows-1252
int nCSet = CharacterSet;
switch(nCSet)
{
case 0x00: nRet = 1252;break; // ANSI_CHARSET
case 0xCC: nRet = 1251;break; // RUSSIAN_CHARSET
case 0xEE: nRet = 1250;break; // EE_CHARSET
case 0xA1: nRet = 1253;break; // GREEK_CHARSET
case 0xA2: nRet = 1254;break; // TURKISH_CHARSET
case 0xBA: nRet = 1257;break; // BALTIC_CHARSET
case 0xB1: nRet = 1255;break; // HEBREW_CHARSET
case 0xB2: nRet = 1256;break; // ARABIC_CHARSET
case 0x80: nRet = 932;break; // SHIFTJIS_CHARSET
case 0x81: nRet = 949;break; // HANGEUL_CHARSET
case 0x86: nRet = 936;break; // GB2313_CHARSET
case 0x88: nRet = 950;break; // CHINESEBIG5_CHARSET
}
return nRet;
}
}
/// <summary>
/// Gets the assiciated culture info
/// </summary>
public CultureInfo Culture
{
get { return _culture; }
}
/// <summary>
/// Implement IDisposable.
/// </summary>
public void Dispose()
{
Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}
/// <summary>
/// Dispose(bool disposing) executes in two distinct scenarios.
/// If disposing equals true, the method has been called directly
/// or indirectly by a user's code. Managed and unmanaged resources
/// can be disposed.
/// If disposing equals false, the method has been called by the
/// runtime from inside the finalizer and you should not reference
/// other objects. Only unmanaged resources can be disposed.
/// </summary>
/// <param name="disposing">disposing flag</param>
private void Dispose(bool disposing)
{
// Check to see if Dispose has already been called.
if(!this.disposed)
{
// If disposing equals true, dispose all managed
// and unmanaged resources.
if(disposing)
{
// Dispose managed resources.
_binaryFileData = null;
}
}
disposed = true;
}
}
}

View File

@@ -1,288 +0,0 @@
using System;
using System.IO;
using System.Collections;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>CHMTocidx</c> implements functions to decode the #TOCIDX internal file.
/// </summary>
internal sealed class CHMTocidx : IDisposable
{
/// <summary>
/// Constant specifying the size of the data blocks
/// </summary>
private const int BLOCK_SIZE = 0x1000;
/// <summary>
/// Internal flag specifying if the object is going to be disposed
/// </summary>
private bool disposed = false;
/// <summary>
/// Internal member storing the binary file data
/// </summary>
private byte[] _binaryFileData = null;
/// <summary>
/// Internal memebr storing the offset to the 20/28 byte structs
/// </summary>
private int _offset2028 = 0;
/// <summary>
/// Internal member storing the offset to the 16 byte structs
/// </summary>
private int _offset16structs = 0;
/// <summary>
/// Internal member storing the number of 16 byte structs
/// </summary>
private int _numberOf16structs = 0;
/// <summary>
/// Internal member storing the offset to the topic list
/// </summary>
private int _offsetOftopics = 0;
/// <summary>
/// Internal member storing the toc
/// </summary>
private ArrayList _toc = new ArrayList();
/// <summary>
/// Internal member for offset seeking
/// </summary>
private Hashtable _offsetTable = new Hashtable();
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="binaryFileData">binary file data of the #TOCIDX file</param>
/// <param name="associatedFile">associated chm file</param>
public CHMTocidx(byte[] binaryFileData, CHMFile associatedFile)
{
_binaryFileData = binaryFileData;
_associatedFile = associatedFile;
DecodeData();
// clear internal binary data after extraction
_binaryFileData = null;
}
/// <summary>
/// Decodes the binary file data and fills the internal properties
/// </summary>
/// <returns>true if succeeded</returns>
private bool DecodeData()
{
_toc = new ArrayList();
_offsetTable = new Hashtable();
bool bRet = true;
MemoryStream memStream = new MemoryStream(_binaryFileData);
BinaryReader binReader = new BinaryReader(memStream);
int nCurOffset = 0;
_offset2028 = binReader.ReadInt32();
_offset16structs = binReader.ReadInt32();
_numberOf16structs = binReader.ReadInt32();
_offsetOftopics = binReader.ReadInt32();
binReader.BaseStream.Seek( _offset2028, SeekOrigin.Begin );
if( RecursivelyBuildTree(ref binReader, _offset2028, _toc, null) )
{
binReader.BaseStream.Seek( _offset16structs, SeekOrigin.Begin );
nCurOffset = (int)binReader.BaseStream.Position;
for(int i=0; i < _numberOf16structs; i++)
{
int tocOffset = binReader.ReadInt32();
int sqNr = binReader.ReadInt32();
int topOffset = binReader.ReadInt32();
int hhctopicIdx = binReader.ReadInt32();
nCurOffset = (int)binReader.BaseStream.Position;
int topicIdx = -1;
// if the topic offset is within the range of the stream
// and is >= the offset of the first topic dword
if((topOffset < (binReader.BaseStream.Length - 4)) && (topOffset >= _offsetOftopics))
{
// read the index of the topic for this item
binReader.BaseStream.Seek( topOffset, SeekOrigin.Begin);
topicIdx = binReader.ReadInt32();
binReader.BaseStream.Seek( nCurOffset, SeekOrigin.Begin);
TOCItem item = (TOCItem)_offsetTable[tocOffset.ToString()];
if( item != null)
{
if(( topicIdx < _associatedFile.TopicsFile.TopicTable.Count)&&(topicIdx>=0))
{
TopicEntry te = (TopicEntry) (_associatedFile.TopicsFile.TopicTable[topicIdx]);
if( (te != null) && (item.TopicOffset < 0) )
{
item.TopicOffset = te.EntryOffset;
}
}
}
}
}
}
return bRet;
}
/// <summary>
/// Recursively reads the binary toc tree from the file
/// </summary>
/// <param name="binReader">reference to binary reader</param>
/// <param name="NodeOffset">offset of the first node in the current level</param>
/// <param name="level">arraylist of TOCItems for the current level</param>
/// <param name="parentItem">parent item for the item</param>
/// <returns>Returns true if succeeded</returns>
private bool RecursivelyBuildTree(ref BinaryReader binReader, int NodeOffset, ArrayList level, TOCItem parentItem)
{
bool bRet = true;
int nextOffset=0;
int nReadOffset = (int)binReader.BaseStream.Position;
binReader.BaseStream.Seek(NodeOffset, SeekOrigin.Begin);
do
{
int nCurOffset = (int)binReader.BaseStream.Position;
int unkn1 = binReader.ReadInt16(); // unknown
int unkn2 = binReader.ReadInt16(); // unknown
int flag = binReader.ReadInt32();
int nFolderAdd = 0;
if((_associatedFile != null) && (_associatedFile.ImageTypeFolder))
{
// get the value which should be added, to display folders instead of books
if(HtmlHelpSystem.UseHH2TreePics)
nFolderAdd = 8;
else
nFolderAdd = 4;
}
int nFolderImgIdx = (HtmlHelpSystem.UseHH2TreePics ? (TOCItem.STD_FOLDER_HH2+nFolderAdd) : (TOCItem.STD_FOLDER_HH1+nFolderAdd));
int nFileImgIdx = (HtmlHelpSystem.UseHH2TreePics ? TOCItem.STD_FILE_HH2 : TOCItem.STD_FILE_HH1);
int stdImage = ((flag & 0x4)!=0) ? nFolderImgIdx : nFileImgIdx;
int stringOffset = binReader.ReadInt32();
int ParentOffset = binReader.ReadInt32();
nextOffset = binReader.ReadInt32();
int firstChildOffset = 0;
int unkn3=0;
if( (flag&0x4)!=0 )
{
firstChildOffset = binReader.ReadInt32();
unkn3 = binReader.ReadInt32(); // unknown
}
TOCItem newItem = new TOCItem();
newItem.ImageIndex = stdImage;
newItem.Offset = nCurOffset;
newItem.OffsetNext = nextOffset;
newItem.AssociatedFile = _associatedFile;
newItem.TocMode = DataMode.Binary;
newItem.Parent = parentItem;
if( (flag&0x08) == 0)
{
// toc item doesn't have a local value (=> stringOffset = offset of strings file)
newItem.Name = _associatedFile.StringsFile[stringOffset];
}
else
{
// this item has a topic entry (=> stringOffset = index of topic entry)
if((stringOffset < _associatedFile.TopicsFile.TopicTable.Count) && (stringOffset >= 0))
{
TopicEntry te = (TopicEntry) (_associatedFile.TopicsFile.TopicTable[stringOffset]);
if(te != null)
{
newItem.TopicOffset = te.EntryOffset;
}
}
}
_offsetTable[nCurOffset.ToString()] = newItem;
// if this item has children (firstChildOffset > 0)
if( firstChildOffset > 0)
{
bRet &= RecursivelyBuildTree(ref binReader, firstChildOffset, newItem.Children, newItem);
}
level.Add( newItem );
if(nCurOffset != nextOffset)
binReader.BaseStream.Seek(nextOffset, SeekOrigin.Begin);
}while(nextOffset != 0);
binReader.BaseStream.Seek(nReadOffset, SeekOrigin.Begin);
return bRet;
}
/// <summary>
/// Gets the internal read toc
/// </summary>
internal ArrayList TOC
{
get { return _toc; }
}
/// <summary>
/// Implement IDisposable.
/// </summary>
public void Dispose()
{
Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}
/// <summary>
/// Dispose(bool disposing) executes in two distinct scenarios.
/// If disposing equals true, the method has been called directly
/// or indirectly by a user's code. Managed and unmanaged resources
/// can be disposed.
/// If disposing equals false, the method has been called by the
/// runtime from inside the finalizer and you should not reference
/// other objects. Only unmanaged resources can be disposed.
/// </summary>
/// <param name="disposing">disposing flag</param>
private void Dispose(bool disposing)
{
// Check to see if Dispose has already been called.
if(!this.disposed)
{
// If disposing equals true, dispose all managed
// and unmanaged resources.
if(disposing)
{
// Dispose managed resources.
_binaryFileData = null;
_toc = null;
_offsetTable = null;
}
}
disposed = true;
}
}
}

View File

@@ -1,235 +0,0 @@
using System;
using System.IO;
using System.Collections;
using System.Collections.Specialized;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>CHMTopics</c> implements functionality to decode the #TOPICS internal file
/// </summary>
internal sealed class CHMTopics : IDisposable
{
/// <summary>
/// Internal flag specifying if the object is going to be disposed
/// </summary>
private bool disposed = false;
/// <summary>
/// Internal member storing the binary file data
/// </summary>
private byte[] _binaryFileData = null;
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Internal member storing the topic list
/// </summary>
private ArrayList _topicTable = new ArrayList();
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="binaryFileData">binary file data of the #TOPICS file</param>
/// <param name="associatedFile">associated chm file</param>
public CHMTopics(byte[] binaryFileData, CHMFile associatedFile)
{
_binaryFileData = binaryFileData;
_associatedFile = associatedFile;
DecodeData();
// clear internal binary data after extraction
_binaryFileData = null;
}
/// <summary>
/// Standard constructor
/// </summary>
internal CHMTopics()
{
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
writer.Write( _topicTable.Count );
foreach(TopicEntry curItem in _topicTable)
{
curItem.Dump(ref writer);
}
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
int i=0;
int nCnt = reader.ReadInt32();
for(i=0; i<nCnt;i++)
{
TopicEntry newItem = new TopicEntry();
newItem.SetCHMFile(_associatedFile);
newItem.ReadDump(ref reader);
_topicTable.Add(newItem);
}
}
/// <summary>
/// Sets the associated CHMFile instance
/// </summary>
/// <param name="associatedFile">instance to set</param>
internal void SetCHMFile(CHMFile associatedFile)
{
_associatedFile = associatedFile;
foreach(TopicEntry curEntry in _topicTable)
{
curEntry.SetCHMFile(associatedFile);
}
}
#endregion
/// <summary>
/// Decodes the binary file data and fills the internal properties
/// </summary>
/// <returns>true if succeeded</returns>
private bool DecodeData()
{
bool bRet = true;
MemoryStream memStream = new MemoryStream(_binaryFileData);
BinaryReader binReader = new BinaryReader(memStream);
int nCurOffset = 0;
while( (memStream.Position < memStream.Length) && (bRet) )
{
int entryOffset = nCurOffset;
int tocIdx = binReader.ReadInt32();
int titleOffset = binReader.ReadInt32();
int urltablOffset = binReader.ReadInt32();
int visibilityMode = binReader.ReadInt16();
int unknownMode = binReader.ReadInt16();
TopicEntry newEntry = new TopicEntry(entryOffset, tocIdx, titleOffset, urltablOffset, visibilityMode, unknownMode, _associatedFile);
_topicTable.Add( newEntry );
nCurOffset = (int)memStream.Position;
}
return bRet;
}
/// <summary>
/// Gets the arraylist containing all topic entries.
/// </summary>
public ArrayList TopicTable
{
get
{
return _topicTable;
}
}
/// <summary>
/// Gets the topic entry of a given offset
/// </summary>
public TopicEntry this[int offset]
{
get
{
foreach(TopicEntry curEntry in _topicTable)
if(curEntry.EntryOffset == offset)
return curEntry;
return null;
}
}
/// <summary>
/// Searches a topic by the locale name
/// </summary>
/// <param name="locale">locale name to search</param>
/// <returns>The topicentry instance if found, otherwise null</returns>
public TopicEntry GetByLocale(string locale)
{
foreach(TopicEntry curEntry in TopicTable)
{
if(curEntry.Locale.ToLower() == locale.ToLower())
return curEntry;
}
return null;
}
/// <summary>
/// Searches the topics for all files with a given file extension
/// </summary>
/// <param name="fileExtension">extension to search</param>
/// <returns>An arraylist of TopicEntry instances or null if no topic was found</returns>
public ArrayList GetByExtension(string fileExtension)
{
ArrayList arrRet = new ArrayList();
foreach(TopicEntry curEntry in TopicTable)
{
if(curEntry.Locale.ToLower().EndsWith(fileExtension.ToLower()))
arrRet.Add(curEntry);
}
if(arrRet.Count > 0)
return arrRet;
return null;
}
/// <summary>
/// Implement IDisposable.
/// </summary>
public void Dispose()
{
Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}
/// <summary>
/// Dispose(bool disposing) executes in two distinct scenarios.
/// If disposing equals true, the method has been called directly
/// or indirectly by a user's code. Managed and unmanaged resources
/// can be disposed.
/// If disposing equals false, the method has been called by the
/// runtime from inside the finalizer and you should not reference
/// other objects. Only unmanaged resources can be disposed.
/// </summary>
/// <param name="disposing">disposing flag</param>
private void Dispose(bool disposing)
{
// Check to see if Dispose has already been called.
if(!this.disposed)
{
// If disposing equals true, dispose all managed
// and unmanaged resources.
if(disposing)
{
// Dispose managed resources.
_binaryFileData = null;
_topicTable=null;
}
}
disposed = true;
}
}
}

View File

@@ -1,308 +0,0 @@
using System;
using System.IO;
using System.Collections;
using System.Collections.Specialized;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>CHMUrlstr</c> implements a string collection storing the URL strings of the help file
/// </summary>
internal sealed class CHMUrlstr : IDisposable
{
/// <summary>
/// Constant specifying the size of the string blocks
/// </summary>
private const int BLOCK_SIZE = 0x1000;
/// <summary>
/// Internal flag specifying if the object is going to be disposed
/// </summary>
private bool disposed = false;
/// <summary>
/// Internal member storing the binary file data
/// </summary>
private byte[] _binaryFileData = null;
/// <summary>
/// Internal member storing the url dictionary
/// </summary>
private Hashtable _urlDictionary = new Hashtable();
/// <summary>
/// Internal member storing the framename dictionary
/// </summary>
private Hashtable _framenameDictionary = new Hashtable();
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="binaryFileData">binary file data of the #URLSTR file</param>
/// <param name="associatedFile">associated chm file</param>
public CHMUrlstr(byte[] binaryFileData, CHMFile associatedFile)
{
_binaryFileData = binaryFileData;
_associatedFile = associatedFile;
DecodeData();
// clear internal binary data after extraction
_binaryFileData = null;
}
/// <summary>
/// Standard constructor
/// </summary>
internal CHMUrlstr()
{
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
writer.Write( _urlDictionary.Count );
if (_urlDictionary.Count != 0)
{
IDictionaryEnumerator iDictionaryEnumerator = _urlDictionary.GetEnumerator();
while (iDictionaryEnumerator.MoveNext())
{
DictionaryEntry dictionaryEntry = (DictionaryEntry)iDictionaryEnumerator.Current;
writer.Write( Int32.Parse(dictionaryEntry.Key.ToString()) );
writer.Write( dictionaryEntry.Value.ToString() );
}
}
writer.Write( _framenameDictionary.Count );
if (_framenameDictionary.Count != 0)
{
IDictionaryEnumerator iDictionaryEnumerator = _framenameDictionary.GetEnumerator();
while (iDictionaryEnumerator.MoveNext())
{
DictionaryEntry dictionaryEntry = (DictionaryEntry)iDictionaryEnumerator.Current;
writer.Write( Int32.Parse(dictionaryEntry.Key.ToString()) );
writer.Write( dictionaryEntry.Value.ToString() );
}
}
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
int i=0;
int nCnt = reader.ReadInt32();
for(i=0; i<nCnt;i++)
{
int nKey = reader.ReadInt32();
string sValue = reader.ReadString();
_urlDictionary[nKey.ToString()] = sValue;
}
nCnt = reader.ReadInt32();
for(i=0; i<nCnt;i++)
{
int nKey = reader.ReadInt32();
string sValue = reader.ReadString();
_framenameDictionary[nKey.ToString()] = sValue;
}
}
/// <summary>
/// Sets the associated CHMFile instance
/// </summary>
/// <param name="associatedFile">instance to set</param>
internal void SetCHMFile(CHMFile associatedFile)
{
_associatedFile = associatedFile;
}
#endregion
/// <summary>
/// Decodes the binary file data and fills the internal properties
/// </summary>
/// <returns>true if succeeded</returns>
private bool DecodeData()
{
bool bRet = true;
MemoryStream memStream = new MemoryStream(_binaryFileData);
BinaryReader binReader = new BinaryReader(memStream);
int nCurOffset = 0;
while( (memStream.Position < memStream.Length) && (bRet) )
{
nCurOffset = (int)memStream.Position;
byte [] dataBlock = binReader.ReadBytes(BLOCK_SIZE);
bRet &= DecodeBlock(dataBlock, ref nCurOffset);
}
return bRet;
}
/// <summary>
/// Decodes a block of url-string data
/// </summary>
/// <param name="dataBlock">block of data</param>
/// <param name="nOffset">current file offset</param>
/// <returns>true if succeeded</returns>
private bool DecodeBlock( byte[] dataBlock, ref int nOffset )
{
bool bRet = true;
int blockOffset = nOffset;
MemoryStream memStream = new MemoryStream(dataBlock);
BinaryReader binReader = new BinaryReader(memStream);
if(nOffset==0)
binReader.ReadByte(); // first block starts with an unknown byte
while( (memStream.Position < (memStream.Length-8)) && (bRet) )
{
int entryOffset = blockOffset + (int)memStream.Position;
int urlOffset = binReader.ReadInt32();
int frameOffset = binReader.ReadInt32();
// There is one way to tell where the end of the URL/FrameName
// pairs occurs: Repeat the following: read 2 DWORDs and if both
// are less than the current offset then this is the start of the Local
// strings else skip two NT strings.
// if(( (urlOffset < (entryOffset+8)) && (frameOffset < (entryOffset+8)) ))
// {
// //TODO: add correct string reading if an offset has been found
// /*
// int curOffset = (int)memStream.Position;
//
// memStream.Seek( (long)(blockOffset-urlOffset), SeekOrigin.Begin);
// string sTemp = CHMReader.ExtractString(ref binReader, 0, true);
//
// memStream.Seek( (long)(blockOffset-frameOffset), SeekOrigin.Begin);
// sTemp = CHMReader.ExtractString(ref binReader, 0, true);
//
// memStream.Seek((long)curOffset, SeekOrigin.Begin);
// */
//
//
// int curOffs = (int)memStream.Position;
// BinaryReaderHelp.ExtractString(ref binReader, 0, true, _associatedFile.TextEncoding);
// nOffset += (int)memStream.Position - curOffs;
//
// curOffs = (int)memStream.Position;
// BinaryReaderHelp.ExtractString(ref binReader, 0, true, _associatedFile.TextEncoding);
// nOffset += (int)memStream.Position - curOffs;
// }
// else
{
bool bFoundTerminator = false;
string sTemp = BinaryReaderHelp.ExtractString(ref binReader, ref bFoundTerminator, 0, true, _associatedFile.TextEncoding);
if(sTemp == "")
{
//nOffset = nOffset + 1 + (int)memStream.Length - (int)memStream.Position;
memStream.Seek(memStream.Length-1, SeekOrigin.Begin);
}
else
{
_urlDictionary[entryOffset.ToString()] = sTemp.ToString();
_framenameDictionary[ entryOffset.ToString() ] = sTemp.ToString() ;
}
}
}
return bRet;
}
/// <summary>
/// Gets the url at a given offset
/// </summary>
/// <param name="offset">offset of url</param>
/// <returns>the url at the given offset</returns>
public string GetURLatOffset(int offset)
{
if(offset == -1)
return String.Empty;
string sTemp = (string)_urlDictionary[ offset.ToString() ];
if(sTemp == null)
return String.Empty;
return sTemp;
}
/// <summary>
/// Gets the framename at a given offset
/// </summary>
/// <param name="offset">offset of the framename</param>
/// <returns>the frame name at the given offset</returns>
public string GetFrameNameatOffset(int offset)
{
if(offset == -1)
return String.Empty;
string sTemp = (string)_framenameDictionary[ offset.ToString() ];
if(sTemp == null)
return String.Empty;
return sTemp;
}
/// <summary>
/// Implement IDisposable.
/// </summary>
public void Dispose()
{
Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}
/// <summary>
/// Dispose(bool disposing) executes in two distinct scenarios.
/// If disposing equals true, the method has been called directly
/// or indirectly by a user's code. Managed and unmanaged resources
/// can be disposed.
/// If disposing equals false, the method has been called by the
/// runtime from inside the finalizer and you should not reference
/// other objects. Only unmanaged resources can be disposed.
/// </summary>
/// <param name="disposing">disposing flag</param>
private void Dispose(bool disposing)
{
// Check to see if Dispose has already been called.
if(!this.disposed)
{
// If disposing equals true, dispose all managed
// and unmanaged resources.
if(disposing)
{
// Dispose managed resources.
_binaryFileData = null;
_urlDictionary = null;
_framenameDictionary = null;
}
}
disposed = true;
}
}
}

View File

@@ -1,245 +0,0 @@
using System;
using System.IO;
using System.Collections;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>CHMUrltable</c> implements methods to decode the #URLTBL internal file.
/// </summary>
internal sealed class CHMUrltable : IDisposable
{
/// <summary>
/// Constant specifying the size of the data blocks
/// </summary>
private const int BLOCK_SIZE = 0x1000;
/// <summary>
/// Constant specifying the number of records per block
/// </summary>
private const int RECORDS_PER_BLOCK = 341;
/// <summary>
/// Internal flag specifying if the object is going to be disposed
/// </summary>
private bool disposed = false;
/// <summary>
/// Internal member storing the binary file data
/// </summary>
private byte[] _binaryFileData = null;
/// <summary>
/// Internal member storing the url table
/// </summary>
private ArrayList _urlTable = new ArrayList();
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="binaryFileData">binary file data of the #URLTBL file</param>
/// <param name="associatedFile">associated chm file</param>
public CHMUrltable(byte[] binaryFileData, CHMFile associatedFile)
{
_binaryFileData = binaryFileData;
_associatedFile = associatedFile;
DecodeData();
// clear internal binary data after extraction
_binaryFileData = null;
}
/// <summary>
/// Standard constructor
/// </summary>
internal CHMUrltable()
{
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
writer.Write( _urlTable.Count );
foreach(UrlTableEntry curItem in _urlTable)
{
curItem.Dump(ref writer);
}
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
int i=0;
int nCnt = reader.ReadInt32();
for(i=0; i<nCnt;i++)
{
UrlTableEntry newItem = new UrlTableEntry();
newItem.SetCHMFile(_associatedFile);
newItem.ReadDump(ref reader);
_urlTable.Add(newItem);
}
}
/// <summary>
/// Sets the associated CHMFile instance
/// </summary>
/// <param name="associatedFile">instance to set</param>
internal void SetCHMFile(CHMFile associatedFile)
{
_associatedFile = associatedFile;
foreach(UrlTableEntry curEntry in _urlTable)
{
curEntry.SetCHMFile(associatedFile);
}
}
#endregion
/// <summary>
/// Decodes the binary file data and fills the internal properties
/// </summary>
/// <returns>true if succeeded</returns>
private bool DecodeData()
{
bool bRet = true;
MemoryStream memStream = new MemoryStream(_binaryFileData);
BinaryReader binReader = new BinaryReader(memStream);
int nCurOffset = 0;
while( (memStream.Position < memStream.Length) && (bRet) )
{
nCurOffset = (int)memStream.Position;
byte [] dataBlock = binReader.ReadBytes(BLOCK_SIZE);
bRet &= DecodeBlock(dataBlock, ref nCurOffset);
}
return bRet;
}
/// <summary>
/// Decodes a block of url-string data
/// </summary>
/// <param name="dataBlock">block of data</param>
/// <param name="nOffset">current file offset</param>
/// <returns>true if succeeded</returns>
private bool DecodeBlock( byte[] dataBlock, ref int nOffset )
{
bool bRet = true;
int blockOffset = nOffset;
MemoryStream memStream = new MemoryStream(dataBlock);
BinaryReader binReader = new BinaryReader(memStream);
for(int i=0; i < RECORDS_PER_BLOCK; i++)
{
int recordOffset = blockOffset + (int)memStream.Position;
uint nuniqueID = (uint) binReader.ReadInt32(); // unknown dword
int ntopicsIdx = binReader.ReadInt32();
int urlstrOffset = binReader.ReadInt32();
UrlTableEntry newEntry = new UrlTableEntry(nuniqueID, recordOffset, ntopicsIdx, urlstrOffset, _associatedFile);
_urlTable.Add(newEntry);
if( memStream.Position >= memStream.Length)
break;
}
if(dataBlock.Length == BLOCK_SIZE)
binReader.ReadInt32();
return bRet;
}
/// <summary>
/// Gets the arraylist containing all urltable entries.
/// </summary>
public ArrayList UrlTable
{
get
{
return _urlTable;
}
}
/// <summary>
/// Gets the urltable entry of a given offset
/// </summary>
public UrlTableEntry this[int offset]
{
get
{
foreach(UrlTableEntry curEntry in _urlTable)
if(curEntry.EntryOffset == offset)
return curEntry;
return null;
}
}
/// <summary>
/// Gets the urltable entry of a given uniqueID
/// </summary>
public UrlTableEntry GetByUniqueID(uint uniqueID)
{
foreach(UrlTableEntry curEntry in UrlTable)
{
if(curEntry.UniqueID == uniqueID)
return curEntry;
}
return null;
}
/// <summary>
/// Implement IDisposable.
/// </summary>
public void Dispose()
{
Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}
/// <summary>
/// Dispose(bool disposing) executes in two distinct scenarios.
/// If disposing equals true, the method has been called directly
/// or indirectly by a user's code. Managed and unmanaged resources
/// can be disposed.
/// If disposing equals false, the method has been called by the
/// runtime from inside the finalizer and you should not reference
/// other objects. Only unmanaged resources can be disposed.
/// </summary>
/// <param name="disposing">disposing flag</param>
private void Dispose(bool disposing)
{
// Check to see if Dispose has already been called.
if(!this.disposed)
{
// If disposing equals true, dispose all managed
// and unmanaged resources.
if(disposing)
{
// Dispose managed resources.
_binaryFileData = null;
_urlTable = null;
}
}
disposed = true;
}
}
}

View File

@@ -1,395 +0,0 @@
using System;
using System.IO;
using System.Text;
using System.Diagnostics;
using System.Collections.Specialized;
using ICSharpCode.SharpZipLib;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Zip.Compression;
using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
using HtmlHelp;
// using HtmlHelp.Storage;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// Enumeration for specifying the dumping compression
/// </summary>
public enum DumpCompression
{
/// <summary>
/// None - no data compression will be used.
/// Fastest but most memory intensive
/// </summary>
None = 0,
/// <summary>
/// Minimum - a minimum data compression will be used.
/// Fast but not much data reduction
/// </summary>
Minimum = 1,
/// <summary>
/// Medium - a medium data compression will be used.
/// Slower but medium data reduction
/// </summary>
Medium = 2,
/// <summary>
/// Maximum - a maximum data compression will be used.
/// Slowest but maximum data reduction
/// </summary>
Maximum = 3
}
/// <summary>
/// Flags which specify which data should be dumped
/// </summary>
[FlagsAttribute()]
public enum DumpingFlags
{
/// <summary>
/// DumpTextTOC - if this flag is set, text-based TOCs (sitemap format) will be dumped
/// </summary>
DumpTextTOC = 1,
/// <summary>
/// DumpBinaryTOC - if this flag is set, binary TOCs will be dumped
/// </summary>
DumpBinaryTOC = 2,
/// <summary>
/// DumpTextIndex - if this flag is set, the text-based index (sitemap format) will be dumped
/// </summary>
DumpTextIndex = 4,
/// <summary>
/// DumpBinaryIndex - if this flag is set, the binary index will be dumped
/// </summary>
DumpBinaryIndex = 8,
/// <summary>
/// DumpStrings - if this flag is set, the internal #STRINGS file will be dumped
/// </summary>
DumpStrings = 16,
/// <summary>
/// DumpUrlStr - if this flag is set, the internal #URLSTR file will be dumped
/// </summary>
DumpUrlStr = 32,
/// <summary>
/// DumpUrlTbl - if this flag is set, the internal #URLTBL file will be dumped
/// </summary>
DumpUrlTbl = 64,
/// <summary>
/// DumpTopics - if this flag is set, the internal #TOPICS file will be dumped
/// </summary>
DumpTopics = 128,
/// <summary>
/// DumpFullText - if this flag is set, the internal $FIftiMain file will be dumped
/// </summary>
DumpFullText = 256
}
/// <summary>
/// The class <c>DumpingInfo</c> implements information properties for the CHMFile class
/// if and how data dumping should be used.
/// </summary>
public sealed class DumpingInfo
{
public bool m_bAllowSaveDump=true;
private readonly static BitVector32.Section DumpFlags = BitVector32.CreateSection(512);
private const string _dumpHeader = "HtmlHelpSystem dump file 1.0";
private string _outputDir = ""; // emtpy string means, same directory as chm file
private DumpCompression _compressionLevel = DumpCompression.Maximum;
private CHMFile _chmFile = null;
private DeflaterOutputStream _outputStream = null;
private InflaterInputStream _inputStream = null;
private BinaryWriter _writer = null;
private BinaryReader _reader = null;
private BitVector32 _flags;
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="flags">Combine flag values to specify which data should be dumped.</param>
/// <param name="outputDir">output directory. emtpy string means,
/// same directory as chm file (only if destination = ExternalFile)</param>
/// <param name="compressionLevel">compression which should be used</param>
public DumpingInfo(DumpingFlags flags, string outputDir, DumpCompression compressionLevel)
{
_flags = new BitVector32(0);
int i = _flags[DumpFlags];
_flags[DumpFlags] = i | (int)flags;
_outputDir = outputDir;
_compressionLevel = compressionLevel;
}
/// <summary>
/// Gets the flag if text-based TOCs will be written to the dumping file
/// </summary>
public bool DumpTextTOC
{
get { return ((_flags[DumpFlags] & (int)DumpingFlags.DumpTextTOC) != 0); }
}
/// <summary>
/// Gets the flag if binary TOCs will be written to the dumping file
/// </summary>
public bool DumpBinaryTOC
{
get { return ((_flags[DumpFlags] & (int)DumpingFlags.DumpBinaryTOC) != 0); }
}
/// <summary>
/// Gets the flag if the text-based index will be written to the dumping file
/// </summary>
public bool DumpTextIndex
{
get { return ((_flags[DumpFlags] & (int)DumpingFlags.DumpTextIndex) != 0); }
}
/// <summary>
/// Gets the flag if the binary index will be written to the dumping file
/// </summary>
public bool DumpBinaryIndex
{
get { return ((_flags[DumpFlags] & (int)DumpingFlags.DumpBinaryIndex) != 0); }
}
/// <summary>
/// Gets the flag if the #STRINGS file will be written to the dumping file
/// </summary>
public bool DumpStrings
{
get { return ((_flags[DumpFlags] & (int)DumpingFlags.DumpStrings) != 0); }
}
/// <summary>
/// Gets the flag if the #URLSTR file will be written to the dumping file
/// </summary>
public bool DumpUrlStr
{
get { return ((_flags[DumpFlags] & (int)DumpingFlags.DumpUrlStr) != 0); }
}
/// <summary>
/// Gets the flag if the #URLTBL file will be written to the dumping file
/// </summary>
public bool DumpUrlTbl
{
get { return ((_flags[DumpFlags] & (int)DumpingFlags.DumpUrlTbl) != 0); }
}
/// <summary>
/// Gets the flag if the #TOPICS file will be written to the dumping file
/// </summary>
public bool DumpTopics
{
get { return ((_flags[DumpFlags] & (int)DumpingFlags.DumpTopics) != 0); }
}
/// <summary>
/// Gets the flag if the $FIftiMain file will be written to the dumping file
/// </summary>
public bool DumpFullText
{
get { return ((_flags[DumpFlags] & (int)DumpingFlags.DumpFullText) != 0); }
}
/// <summary>
/// Gets the dump output directory.
/// </summary>
/// <value>emtpy string means, same directory as chm file</value>
/// <remarks>If Destination is set to DumpingOutput.InternalFile this property will be ignored</remarks>
public string OutputDir
{
get { return _outputDir; }
}
/// <summary>
/// The compression level used.
/// </summary>
public DumpCompression CompressionLevel
{
get { return _compressionLevel; }
}
/// <summary>
/// Gets/Sets the CHMFile instance associated with this object
/// </summary>
internal CHMFile ChmFile
{
get { return _chmFile; }
set { _chmFile = value; }
}
/// <summary>
/// Translates the compression level to the deflater constants
/// </summary>
private int CompLvl
{
get
{
switch(CompressionLevel)
{
case DumpCompression.None: return Deflater.NO_COMPRESSION;
case DumpCompression.Minimum: return Deflater.BEST_SPEED;
case DumpCompression.Medium: return Deflater.DEFAULT_COMPRESSION;
case DumpCompression.Maximum: return Deflater.BEST_COMPRESSION;
}
return Deflater.BEST_COMPRESSION;
}
}
/// <summary>
/// Checks if a dump exists
/// </summary>
internal bool DumpExists
{
get
{
if(_flags[DumpFlags] == 0)
return false;
// we have a reader or writer to the dump so it must exist
if( (_reader != null) || (_writer != null) )
return true;
string sDmpFile = _chmFile.ChmFilePath;
sDmpFile=sDmpFile.ToLower().Replace(".chm",".CHB");
return File.Exists(sDmpFile);
}
}
/// <summary>
/// Gets a binary writer instance which allows you to write to the dump
/// </summary>
internal BinaryWriter Writer
{
get
{
if (m_bAllowSaveDump==false)
return null;
if(_flags[DumpFlags] == 0)
throw new InvalidOperationException("Nothing to dump. No flags have been set !");
if(_reader != null)
throw new InvalidOperationException("Can't write and read at the same time !");
if(_chmFile == null)
throw new InvalidOperationException("Only usable with an associated CHMFile instance !");
if(_writer==null)
{
string sDmpFile = _chmFile.ChmFilePath;
sDmpFile=sDmpFile.ToLower().Replace(".chm",".CHB");
StreamWriter stream = new StreamWriter(sDmpFile, false, _chmFile.TextEncoding);
// write header info uncompressed
BinaryWriter _hwriter = new BinaryWriter(stream.BaseStream);
_hwriter.Write(_dumpHeader);
_hwriter.Write((int)CompressionLevel);
if(_compressionLevel == DumpCompression.None)
{
_writer = new BinaryWriter(stream.BaseStream);
}
else
{
_outputStream = new DeflaterOutputStream(stream.BaseStream, new Deflater(CompLvl));
_writer = new BinaryWriter(_outputStream);
}
}
return _writer;
}
}
/// <summary>
/// Gets a binary reader which allows you to read from the dump
/// </summary>
internal BinaryReader Reader
{
get
{
if(_writer != null)
throw new InvalidOperationException("Can't write and read at the same time !");
if(_chmFile == null)
throw new InvalidOperationException("Only usable with an associated CHMFile instance !");
if(_reader==null)
{
string sDmpFile = _chmFile.ChmFilePath;
sDmpFile=sDmpFile.ToLower().Replace(".chm",".CHB");
StreamReader stream = new StreamReader(sDmpFile, _chmFile.TextEncoding);
BinaryReader _hReader = new BinaryReader(stream.BaseStream);
string sH = _hReader.ReadString();
if(sH != _dumpHeader)
{
_hReader.Close();
Debug.WriteLine("Unexpected dump-file header !");
throw new FormatException("DumpingInfo.Reader - Unexpected dump-file header !");
}
_compressionLevel = (DumpCompression)_hReader.ReadInt32();
// if(_compressionLevel != (DumpCompression)_hReader.ReadInt32())
// {
// _hReader.Close();
// return null;
// }
if(_compressionLevel == DumpCompression.None)
{
_reader = new BinaryReader(stream.BaseStream);
}
else
{
_inputStream = new InflaterInputStream(stream.BaseStream, new Inflater());
_reader = new BinaryReader(_inputStream);
}
}
return _reader;
}
}
/// <summary>
/// Saves data and closes the dump
/// </summary>
/// <returns>true if succeed</returns>
internal bool SaveData()
{
if (m_bAllowSaveDump==false)
return true;
if(_writer != null)
{
if(_writer!=null)
_writer.Close();
_outputStream = null;
_writer = null;
}
if(_reader != null)
{
if(_reader!=null)
_reader.Close();
_inputStream = null;
_reader = null;
}
return true;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,593 +0,0 @@
using System;
using System.Collections;
using System.Text;
using System.Text.RegularExpressions;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>HHCParser</c> implements a parser for HHC contents files.
/// </summary>
internal sealed class HHCParser
{
/// <summary>
/// regular expressions for replacing the sitemap boundary tags
/// </summary>
private static string RE_ULOpening = @"\<ul\>"; // will be replaced by a '(' for nested parsing
private static string RE_ULClosing = @"\</ul\>"; // will be replaced by a ')' for nested parsing
/// <summary>
/// Matching ul-tags
/// </summary>
private static string RE_ULBoundaries = @"\<ul\>(?<innerText>.*)\</ul\>";
/// <summary>
/// Matching the nested tree structure.
/// </summary>
private static string RE_NestedBoundaries = @"\( (?> [^()]+ | \( (?<DEPTH>) | \) (?<-DEPTH>) )* (?(DEPTH)(?!)) \)";
/// <summary>
/// Matching object-tags
/// </summary>
private static string RE_ObjectBoundaries = @"\<object(?<innerText>.*?)\</object\>";
/// <summary>
/// Matching param tags
/// </summary>
private static string RE_ParamBoundaries = @"\<param(?<innerText>.*?)\>";
/// <summary>
/// Extracting tag attributes
/// </summary>
private const string RE_QuoteAttributes = @"( |\t)*(?<attributeName>[\-a-zA-Z0-9]*)( |\t)*=( |\t)*(?<attributeTD>[\""\'])?(?<attributeValue>.*?(?(attributeTD)\k<attributeTD>|([\s>]|.$)))";
/// <summary>
/// private regular expressionobjects
/// </summary>
private static Regex ulRE;
private static Regex NestedRE;
private static Regex ObjectRE;
private static Regex ParamRE;
private static Regex AttributesRE;
/// <summary>
/// Internal member storing the list of TOCItems which are holding merge links
/// </summary>
private static ArrayList _mergeItems = null;
/// <summary>
/// Internal member storing the last read regular topic item.
/// This is used to handle "Merge" entries and add them as child to this instance.
/// </summary>
private static TOCItem _lastTopicItem = null;
/// <summary>
/// Parses a HHC file and returns an ArrayList with the table of contents (TOC) tree
/// </summary>
/// <param name="hhcFile">string content of the hhc file</param>
/// <param name="chmFile">CHMFile instance</param>
/// <returns>Returns an ArrayList with the table of contents (TOC) tree</returns>
public static ArrayList ParseHHC(string hhcFile, CHMFile chmFile)
{
_lastTopicItem = null;
_mergeItems = null; // clear merged item list
ArrayList tocList = new ArrayList();
ulRE = new Regex(RE_ULBoundaries, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
NestedRE = new Regex(RE_NestedBoundaries, RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
ObjectRE = new Regex(RE_ObjectBoundaries, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
ParamRE = new Regex(RE_ParamBoundaries, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
AttributesRE = new Regex(RE_QuoteAttributes, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
int innerTextIdx = ulRE.GroupNumberFromName("innerText");
if( ulRE.IsMatch(hhcFile, 0) )
{
Match m = ulRE.Match(hhcFile, 0);
int nFirstUL = 0;
nFirstUL = hhcFile.ToLower().IndexOf("<ul>");
if(nFirstUL == -1)
nFirstUL = hhcFile.ToLower().IndexOf("<il>");
if( ObjectRE.IsMatch(hhcFile, 0) ) // first object block contains information types and categories
{
Match mO = ObjectRE.Match(hhcFile, 0);
int iOTxt = ObjectRE.GroupNumberFromName("innerText");
string globalText = mO.Groups[iOTxt].Value;
if( mO.Groups[iOTxt].Index <= nFirstUL)
ParseGlobalSettings( globalText, chmFile );
}
// parse toc tree
string innerText = m.Groups["innerText"].Value;
innerText = innerText.Replace("(", "&#040;");
innerText = innerText.Replace(")", "&#041;");
innerText = Regex.Replace(innerText, RE_ULOpening, "(", RegexOptions.IgnoreCase);
innerText = Regex.Replace(innerText, RE_ULClosing, ")", RegexOptions.IgnoreCase);
ParseTree( innerText, null, tocList, chmFile );
}
return tocList;
}
/// <summary>
/// Checks if the hhc file contains a global object tag.
/// </summary>
/// <param name="hhcFile">string content of the hhc file</param>
/// <param name="chmFile">chm file</param>
/// <returns>true if the hhc content contains a global object tag</returns>
public static bool HasGlobalObjectTag(string hhcFile, CHMFile chmFile)
{
bool bRet = false;
ulRE = new Regex(RE_ULBoundaries, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
ObjectRE = new Regex(RE_ObjectBoundaries, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
int innerTextIdx = ulRE.GroupNumberFromName("innerText");
if( ulRE.IsMatch(hhcFile, 0) )
{
Match m = ulRE.Match(hhcFile, 0);
int nFirstUL = 0;
nFirstUL = hhcFile.ToLower().IndexOf("<ul>");
if(nFirstUL == -1)
nFirstUL = hhcFile.ToLower().IndexOf("<il>");
if( ObjectRE.IsMatch(hhcFile, 0) ) // first object block contains information types and categories
{
Match mO = ObjectRE.Match(hhcFile, 0);
int iOTxt = ObjectRE.GroupNumberFromName("innerText");
string globalText = mO.Groups[iOTxt].Value;
if( mO.Groups[iOTxt].Index <= nFirstUL)
bRet = true;
}
}
return bRet;
}
/// <summary>
/// Gets true if the previously done parsing found merge-links
/// </summary>
public static bool HasMergeLinks
{
get
{
if(_mergeItems==null)
return false;
return _mergeItems.Count > 0;
}
}
/// <summary>
/// Gets all TOCItem references which are holding merge-links
/// </summary>
public static ArrayList MergeItems
{
get { return _mergeItems; }
}
/// <summary>
/// Recursively parses a sitemap tree
/// </summary>
/// <param name="text">content text</param>
/// <param name="parent">Parent for all read items</param>
/// <param name="arrNodes">arraylist which receives the extracted nodes</param>
/// <param name="chmFile">CHMFile instance</param>
private static void ParseTree( string text, TOCItem parent, ArrayList arrNodes, CHMFile chmFile )
{
string strPreItems="", strPostItems="";
string innerText = "";
int nIndex = 0;
while( NestedRE.IsMatch(text, nIndex) )
{
Match m = NestedRE.Match(text, nIndex);
innerText = m.Value.Substring( 1, m.Length-2);
strPreItems = text.Substring(nIndex,m.Index-nIndex);
ParseItems(strPreItems, parent, arrNodes, chmFile);
if((arrNodes.Count>0) && (innerText.Length > 0) )
{
TOCItem p = ((TOCItem)(arrNodes[arrNodes.Count-1]));
ParseTree( innerText, p, p.Children, chmFile );
}
nIndex = m.Index+m.Length;
}
if( nIndex == 0)
{
strPostItems = text.Substring(nIndex, text.Length-nIndex);
ParseItems(strPostItems, parent, arrNodes, chmFile);
}
else if( nIndex < text.Length-1)
{
strPostItems = text.Substring(nIndex, text.Length-nIndex);
ParseTree(strPostItems, parent, arrNodes, chmFile);
}
}
/// <summary>
/// Parses tree nodes from the text
/// </summary>
/// <param name="itemstext">text containing the items</param>
/// <param name="parent">Parent for all read items</param>
/// <param name="arrNodes">arraylist where the nodes should be added</param>
/// <param name="chmFile">CHMFile instance</param>
private static void ParseItems( string itemstext, TOCItem parent, ArrayList arrNodes, CHMFile chmFile)
{
int innerTextIdx = ObjectRE.GroupNumberFromName("innerText");
int innerPTextIdx = ParamRE.GroupNumberFromName("innerText");
// get group-name indexes
int nameIndex = AttributesRE.GroupNumberFromName("attributeName");
int valueIndex = AttributesRE.GroupNumberFromName("attributeValue");
int tdIndex = AttributesRE.GroupNumberFromName("attributeTD");
int nObjStartIndex = 0;
while( ObjectRE.IsMatch(itemstext, nObjStartIndex) )
{
Match m = ObjectRE.Match(itemstext, nObjStartIndex);
string innerText = m.Groups[innerTextIdx].Value;
TOCItem tocItem = new TOCItem();
tocItem.TocMode = DataMode.TextBased;
tocItem.AssociatedFile = chmFile;
tocItem.Parent = parent;
// read parameters
int nParamIndex = 0;
while( ParamRE.IsMatch(innerText, nParamIndex) )
{
Match mP = ParamRE.Match(innerText, nParamIndex);
string innerP = mP.Groups[innerPTextIdx].Value;
string paramName = "";
string paramValue = "";
int nAttrIdx = 0;
while( AttributesRE.IsMatch( innerP, nAttrIdx ) )
{
Match mA = AttributesRE.Match(innerP, nAttrIdx);
string attributeName = mA.Groups[nameIndex].Value;
string attributeValue = mA.Groups[valueIndex].Value;
string attributeTD = mA.Groups[tdIndex].Value;
if(attributeTD.Length > 0)
{
// delete the trailing textqualifier
if( attributeValue.Length > 0)
{
int ltqi = attributeValue.LastIndexOf( attributeTD );
if(ltqi >= 0)
{
attributeValue = attributeValue.Substring(0,ltqi);
}
}
}
if( attributeName.ToLower() == "name")
{
paramName = HttpUtility.HtmlDecode(attributeValue); // for unicode encoded values
}
if( attributeName.ToLower() == "value")
{
paramValue = HttpUtility.HtmlDecode(attributeValue); // for unicode encoded values
// delete trailing /
while((paramValue.Length>0)&&(paramValue[paramValue.Length-1] == '/'))
paramValue = paramValue.Substring(0,paramValue.Length-1);
}
nAttrIdx = mA.Index+mA.Length;
}
tocItem.Params[paramName] = paramValue;
switch(paramName.ToLower())
{
case "name":
{
tocItem.Name = paramValue;
};break;
case "local":
{
tocItem.Local = paramValue.Replace("../", "").Replace("./", "");
};break;
case "imagenumber":
{
tocItem.ImageIndex = Int32.Parse(paramValue);
tocItem.ImageIndex-=1;
int nFolderAdd = 0;
if((chmFile != null) && (chmFile.ImageTypeFolder))
{
// get the value which should be added, to display folders instead of books
if(HtmlHelpSystem.UseHH2TreePics)
nFolderAdd = 8;
else
nFolderAdd = 4;
}
if(tocItem.ImageIndex%2 != 0)
{
if(tocItem.ImageIndex==1)
tocItem.ImageIndex=0;
}
if(HtmlHelpSystem.UseHH2TreePics)
if( tocItem.ImageIndex == 0)
tocItem.ImageIndex = TOCItem.STD_FOLDER_HH2+nFolderAdd;
};break;
case "merge": // this item contains topics or a full TOC from a merged CHM
{
tocItem.MergeLink = paramValue;
// "register" this item as merge-link
if(_mergeItems==null)
_mergeItems=new ArrayList();
_mergeItems.Add(tocItem);
};break;
case "type": // information type assignment for item
{
tocItem.InfoTypeStrings.Add( paramValue );
};break;
}
nParamIndex = mP.Index+mP.Length;
}
tocItem.ChmFile = chmFile.ChmFilePath;
if(tocItem.MergeLink.Length > 0)
{
if(_lastTopicItem != null)
{
tocItem.Parent = _lastTopicItem;
_lastTopicItem.Children.Add(tocItem);
}
else
arrNodes.Add( tocItem );
}
else
{
_lastTopicItem = tocItem;
arrNodes.Add( tocItem );
}
nObjStartIndex = m.Index+m.Length;
}
}
/// <summary>
/// Parses the very first &lt;OBJECT&gt; tag in the sitemap file and extracts
/// information types and categories.
/// </summary>
/// <param name="sText">text of the object tag</param>
/// <param name="chmFile">CHMFile instance</param>
private static void ParseGlobalSettings(string sText, CHMFile chmFile)
{
int innerPTextIdx = ParamRE.GroupNumberFromName("innerText");
// get group-name indexes
int nameIndex = AttributesRE.GroupNumberFromName("attributeName");
int valueIndex = AttributesRE.GroupNumberFromName("attributeValue");
int tdIndex = AttributesRE.GroupNumberFromName("attributeTD");
// read parameters
int nParamIndex = 0;
// 0... unknown
// 1... inclusinve info type name
// 2... exclusive info type name
// 3... hidden info type name
// 4... category name
// 5... incl infotype name for category
// 6... excl infotype name for category
// 7... hidden infotype name for category
int prevItem = 0;
string sName = "";
string sDescription = "";
string curCategory = "";
while( ParamRE.IsMatch(sText, nParamIndex) )
{
Match mP = ParamRE.Match(sText, nParamIndex);
string innerP = mP.Groups[innerPTextIdx].Value;
string paramName = "";
string paramValue = "";
int nAttrIdx = 0;
while( AttributesRE.IsMatch( innerP, nAttrIdx ) )
{
Match mA = AttributesRE.Match(innerP, nAttrIdx);
string attributeName = mA.Groups[nameIndex].Value;
string attributeValue = mA.Groups[valueIndex].Value;
string attributeTD = mA.Groups[tdIndex].Value;
if(attributeTD.Length > 0)
{
// delete the trailing textqualifier
if( attributeValue.Length > 0)
{
int ltqi = attributeValue.LastIndexOf( attributeTD );
if(ltqi >= 0)
{
attributeValue = attributeValue.Substring(0,ltqi);
}
}
}
if( attributeName.ToLower() == "name")
{
paramName = HttpUtility.HtmlDecode(attributeValue); // for unicode encoded values
}
if( attributeName.ToLower() == "value")
{
paramValue = HttpUtility.HtmlDecode(attributeValue); // for unicode encoded values
// delete trailing /
while((paramValue.Length>0)&&(paramValue[paramValue.Length-1] == '/'))
paramValue = paramValue.Substring(0,paramValue.Length-1);
}
nAttrIdx = mA.Index+mA.Length;
}
switch(paramName.ToLower())
{
case "savetype": // inclusive information type name
{
prevItem = 1;
sName = paramValue;
};break;
case "savetypedesc": // description of information type
{
InformationTypeMode mode = InformationTypeMode.Inclusive;
sDescription = paramValue;
if( prevItem == 1)
mode = InformationTypeMode.Inclusive;
if( prevItem == 2)
mode = InformationTypeMode.Exclusive;
if( prevItem == 3)
mode = InformationTypeMode.Hidden;
if( chmFile.GetInformationType( sName ) == null)
{
// check if the HtmlHelpSystem already holds such an information type
if( chmFile.SystemInstance.GetInformationType( sName ) == null)
{
// info type not found yet
InformationType newType = new InformationType(sName, sDescription, mode);
chmFile.InformationTypes.Add(newType);
}
else
{
InformationType sysType = chmFile.SystemInstance.GetInformationType( sName );
chmFile.InformationTypes.Add( sysType );
}
}
prevItem = 0;
};break;
case "saveexclusive": // exclusive information type name
{
prevItem = 2;
sName = paramValue;
};break;
case "savehidden": // hidden information type name
{
prevItem = 3;
sName = paramValue;
};break;
case "category": // category name
{
prevItem = 4;
sName = paramValue;
curCategory = sName;
};break;
case "categorydesc": // category description
{
sDescription = paramValue;
if( chmFile.GetCategory( sName ) == null)
{
// check if the HtmlHelpSystem already holds such a category
if( chmFile.SystemInstance.GetCategory( sName ) == null)
{
// add category
Category newCat = new Category(sName, sDescription);
chmFile.Categories.Add(newCat);
}
else
{
Category sysCat = chmFile.SystemInstance.GetCategory( sName );
chmFile.Categories.Add( sysCat );
}
}
prevItem = 0;
};break;
case "type": // inclusive information type which is member of the previously read category
{
prevItem = 5;
sName = paramValue;
};break;
case "typedesc": // description of type for category
{
sDescription = paramValue;
Category cat = chmFile.GetCategory( curCategory );
if( cat != null)
{
// category found
InformationType infoType = chmFile.GetInformationType( sName );
if( infoType != null)
{
if( !cat.ContainsInformationType(infoType))
{
infoType.SetCategoryFlag(true);
cat.AddInformationType(infoType);
}
}
}
prevItem = 0;
};break;
case "typeexclusive": // exclusive information type which is member of the previously read category
{
prevItem = 6;
sName = paramValue;
};break;
case "typehidden": // hidden information type which is member of the previously read category
{
prevItem = 7;
sName = paramValue;
};break;
default:
{
prevItem = 0;
sName = "";
sDescription = "";
};break;
}
nParamIndex = mP.Index+mP.Length;
}
}
}
}

View File

@@ -1,220 +0,0 @@
using System;
using System.Collections;
using System.Text;
using System.Text.RegularExpressions;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>HHCParser</c> implements a parser for HHC contents files.
/// </summary>
// internal sealed class HHCParser : IHHCParser
public class HHCParser2
{
static private string m_text1="";
static private string m_text2="";
static private int m_CurrentPos=0;
/// <summary>
/// Parses a HHC file and returns an ArrayList with the table of contents (TOC) tree
/// </summary>
/// <param name="hhcFile">string content of the hhc file</param>
/// <param name="chmFile">CHMFile instance</param>
/// <returns>Returns an ArrayList with the table of contents (TOC) tree</returns>
public static ArrayList ParseHHC(string hhcFile, CHMFile chmFile)
{
DateTime StartTime=DateTime.Now;
ArrayList tocList = new ArrayList();
m_text2=hhcFile;
m_text1=hhcFile.ToLower();
int idx=m_text1.IndexOf("<ul>");
if (idx==-1)
return null;
m_CurrentPos=idx+4;
ParamRE = new Regex(RE_ParamBoundaries, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
AttributesRE = new Regex(RE_QuoteAttributes, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
ParseTree(tocList,chmFile);
DateTime EndTime=DateTime.Now;
TimeSpan Diff=EndTime-StartTime;
string x=Diff.ToString();
return tocList;
}
/// <summary>
/// Recursively parses a sitemap tree
/// </summary>
/// <param name="text">content text</param>
/// <param name="arrNodes">arraylist which receives the extracted nodes</param>
/// <param name="chmFile">CHMFile instance</param>
static private void ParseTree( ArrayList arrNodes, CHMFile chmFile )
{
bool bProcessing=true;
do
{
bProcessing=false;
// Indent
int idxa=m_text1.IndexOf("<ul>",m_CurrentPos);
int idxb=m_text1.IndexOf("<li>",m_CurrentPos);
int idxc=m_text1.IndexOf("</ul>",m_CurrentPos);
if ((idxa<idxb) && (idxa<idxc) && (idxa>-1))
{
bProcessing=true;
m_CurrentPos=idxa+4;
if (arrNodes.Count<1)
{
ParseTree(arrNodes,chmFile);
}
else
{
ParseTree(((TOCItem)(arrNodes[arrNodes.Count-1])).Children,chmFile);
}
continue;
}
// new item
if ((idxb<idxa) && (idxb<idxc) && (idxb>-1))
{
bProcessing=true;
m_CurrentPos=idxb+4;
int idx2=m_text1.IndexOf("<object",m_CurrentPos);
if (idx2!=-1)
{
int idx3=m_text1.IndexOf("</object>",idx2+7);
if (idx3!=-1)
{
string text=m_text2.Substring(idx2,idx3-idx2);
m_CurrentPos=idx3+9;
// Parse items in text.
TOCItem tocItem=ParseItems(text, chmFile);
if (tocItem!=null)
{
arrNodes.Add(tocItem);
}
}
}
}
// Undent
if ((idxc<idxa) && (idxc<idxb) && (idxc>-1))
{
m_CurrentPos=idxc+5;
bProcessing=true;
return;
}
}
while (bProcessing);
}
private static string RE_ParamBoundaries = @"\<param(?<innerText>.*?)\>";
private const string RE_QuoteAttributes = @"( |\t)*(?<attributeName>[\-a-zA-Z0-9]*)( |\t)*=( |\t)*(?<attributeTD>[\""\'])?(?<attributeValue>.*?(?(attributeTD)\k<attributeTD>|([\s>]|.$)))";
private static Regex ParamRE;
private static Regex AttributesRE;
/// <summary>
/// Parses tree nodes from the text
/// </summary>
/// <param name="itemstext">text containing the items</param>
/// <param name="arrNodes">arraylist where the nodes should be added</param>
/// <param name="chmFile">CHMFile instance</param>
private static TOCItem ParseItems( string itemstext, CHMFile chmFile)
{
int innerPTextIdx = ParamRE.GroupNumberFromName("innerText");
// get group-name indexes
int nameIndex = AttributesRE.GroupNumberFromName("attributeName");
int valueIndex = AttributesRE.GroupNumberFromName("attributeValue");
int tdIndex = AttributesRE.GroupNumberFromName("attributeTD");
TOCItem tocItem = new TOCItem();
// read parameters
int nParamIndex = 0;
while( ParamRE.IsMatch(itemstext, nParamIndex) )
{
Match mP = ParamRE.Match(itemstext, nParamIndex);
string innerP = mP.Groups[innerPTextIdx].Value;
string paramName = "";
string paramValue = "";
int nAttrIdx = 0;
while( AttributesRE.IsMatch( innerP, nAttrIdx ) )
{
Match mA = AttributesRE.Match(innerP, nAttrIdx);
string attributeName = mA.Groups[nameIndex].Value;
string attributeValue = mA.Groups[valueIndex].Value;
string attributeTD = mA.Groups[tdIndex].Value;
if(attributeTD.Length > 0)
{
// delete the trailing textqualifier
if( attributeValue.Length > 0)
{
int ltqi = attributeValue.LastIndexOf( attributeTD );
if(ltqi >= 0)
{
attributeValue = attributeValue.Substring(0,ltqi);
}
}
}
if( attributeName.ToLower() == "name")
{
paramName = attributeValue;
}
if( attributeName.ToLower() == "value")
{
paramValue = attributeValue;
}
nAttrIdx = mA.Index+mA.Length;
}
tocItem.Params[paramName] = paramValue;
switch(paramName.ToLower())
{
case "name":
{
tocItem.Name = paramValue;
};break;
case "local":
{
tocItem.Local = paramValue;
};break;
case "imagenumber":
{
tocItem.ImageIndex = Int32.Parse(paramValue);
if( tocItem.ImageIndex == 2)
tocItem.ImageIndex = TOCItem.STD_FOLDER_HH1;
};break;
}
nParamIndex = mP.Index+mP.Length;
}
tocItem.ChmFile = chmFile.ChmFilePath;
return tocItem;
}
}
}

View File

@@ -1,550 +0,0 @@
using System;
using System.IO;
using System.Collections;
using System.Text;
using System.Text.RegularExpressions;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>HHKParser</c> implements a parser for HHK contents files.
/// </summary>
internal sealed class HHKParser
{
/// <summary>
/// regular expressions for replacing the sitemap boundary tags
/// </summary>
private static string RE_ULOpening = @"\<ul\>"; // will be replaced by a '(' for nested parsing
private static string RE_ULClosing = @"\</ul\>"; // will be replaced by a ')' for nested parsing
/// <summary>
/// Matching ul-tags
/// </summary>
private static string RE_ULBoundaries = @"\<ul\>(?<innerText>.*)\</ul\>";
/// <summary>
/// Matching the nested tree structure.
/// </summary>
private static string RE_NestedBoundaries = @"\( (?> [^()]+ | \( (?<DEPTH>) | \) (?<-DEPTH>) )* (?(DEPTH)(?!)) \)";
/// <summary>
/// Matching object-tags
/// </summary>
private static string RE_ObjectBoundaries = @"\<object(?<innerText>.*?)\</object\>";
/// <summary>
/// Matching param tags
/// </summary>
private static string RE_ParamBoundaries = @"\<param(?<innerText>.*?)\>";
/// <summary>
/// Extracting tag attributes
/// </summary>
private const string RE_QuoteAttributes = @"( |\t)*(?<attributeName>[\-a-zA-Z0-9]*)( |\t)*=( |\t)*(?<attributeTD>[\""\'])?(?<attributeValue>.*?(?(attributeTD)\k<attributeTD>|([\s>]|.$)))";
/// <summary>
/// private regular expressionobjects
/// </summary>
private static Regex ulRE;
private static Regex NestedRE;
private static Regex ObjectRE;
private static Regex ParamRE;
private static Regex AttributesRE;
/// <summary>
/// Parses a HHK file and returns an ArrayList with the index tree
/// </summary>
/// <param name="hhkFile">string content of the hhk file</param>
/// <param name="chmFile">CHMFile instance</param>
/// <returns>Returns an ArrayList with the index tree</returns>
public static ArrayList ParseHHK(string hhkFile, CHMFile chmFile)
{
ArrayList indexList = new ArrayList();
ulRE = new Regex(RE_ULBoundaries, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
NestedRE = new Regex(RE_NestedBoundaries, RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
ObjectRE = new Regex(RE_ObjectBoundaries, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
ParamRE = new Regex(RE_ParamBoundaries, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
AttributesRE = new Regex(RE_QuoteAttributes, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
int innerTextIdx = ulRE.GroupNumberFromName("innerText");
if( ulRE.IsMatch(hhkFile, 0) )
{
Match m = ulRE.Match(hhkFile, 0);
if( ObjectRE.IsMatch(hhkFile, 0) ) // first object block contains information types and categories
{
Match mO = ObjectRE.Match(hhkFile, 0);
int iOTxt = ObjectRE.GroupNumberFromName("innerText");
string globalText = mO.Groups[iOTxt].Value;
ParseGlobalSettings( globalText, chmFile );
}
string innerText = m.Groups["innerText"].Value;
innerText = innerText.Replace("(", "&#040;");
innerText = innerText.Replace(")", "&#041;");
innerText = Regex.Replace(innerText, RE_ULOpening, "(", RegexOptions.IgnoreCase);
innerText = Regex.Replace(innerText, RE_ULClosing, ")", RegexOptions.IgnoreCase);
ParseTree( innerText, null, indexList, chmFile );
}
return indexList;
}
/// <summary>
/// Recursively parses a sitemap tree
/// </summary>
/// <param name="text">content text</param>
/// <param name="parent">Parent for all read items</param>
/// <param name="arrNodes">arraylist which receives the extracted nodes</param>
/// <param name="chmFile">CHMFile instance</param>
private static void ParseTree( string text, IndexItem parent, ArrayList arrNodes, CHMFile chmFile )
{
string strPreItems="", strPostItems="";
string innerText = "";
int nIndex = 0;
while( NestedRE.IsMatch(text, nIndex) )
{
Match m = NestedRE.Match(text, nIndex);
innerText = m.Value.Substring( 1, m.Length-2);
strPreItems = text.Substring(nIndex,m.Index-nIndex);
ParseItems(strPreItems, parent, arrNodes, chmFile);
if((arrNodes.Count>0) && (innerText.Length > 0) )
{
IndexItem p = ((IndexItem)(arrNodes[arrNodes.Count-1]));
ParseTree( innerText, p, arrNodes, chmFile );
}
nIndex = m.Index+m.Length;
}
if( nIndex == 0)
{
strPostItems = text.Substring(nIndex, text.Length-nIndex);
ParseItems(strPostItems, parent, arrNodes, chmFile);
}
else if( nIndex < text.Length-1)
{
strPostItems = text.Substring(nIndex, text.Length-nIndex);
ParseTree(strPostItems, parent, arrNodes, chmFile);
}
}
/// <summary>
/// Parses nodes from the text
/// </summary>
/// <param name="itemstext">text containing the items</param>
/// <param name="parentItem">parent index item</param>
/// <param name="arrNodes">arraylist where the nodes should be added</param>
/// <param name="chmFile">CHMFile instance</param>
private static void ParseItems( string itemstext, IndexItem parentItem, ArrayList arrNodes, CHMFile chmFile)
{
int innerTextIdx = ObjectRE.GroupNumberFromName("innerText");
int innerPTextIdx = ParamRE.GroupNumberFromName("innerText");
// get group-name indexes
int nameIndex = AttributesRE.GroupNumberFromName("attributeName");
int valueIndex = AttributesRE.GroupNumberFromName("attributeValue");
int tdIndex = AttributesRE.GroupNumberFromName("attributeTD");
int nObjStartIndex = 0;
int nLastObjStartIndex = 0;
string sKeyword = "";
while( ObjectRE.IsMatch(itemstext, nObjStartIndex) )
{
Match m = ObjectRE.Match(itemstext, nObjStartIndex);
string innerText = m.Groups[innerTextIdx].Value;
IndexItem idxItem = new IndexItem();
// read parameters
int nParamIndex = 0;
int nNameCnt = 0;
string paramTitle = "";
string paramLocal = "";
bool bAdded = false;
while( ParamRE.IsMatch(innerText, nParamIndex) )
{
Match mP = ParamRE.Match(innerText, nParamIndex);
string innerP = mP.Groups[innerPTextIdx].Value;
string paramName = "";
string paramValue = "";
int nAttrIdx = 0;
//sKeyword = "";
while( AttributesRE.IsMatch( innerP, nAttrIdx ) )
{
Match mA = AttributesRE.Match(innerP, nAttrIdx);
string attributeName = mA.Groups[nameIndex].Value;
string attributeValue = mA.Groups[valueIndex].Value;
string attributeTD = mA.Groups[tdIndex].Value;
if(attributeTD.Length > 0)
{
// delete the trailing textqualifier
if( attributeValue.Length > 0)
{
int ltqi = attributeValue.LastIndexOf( attributeTD );
if(ltqi >= 0)
{
attributeValue = attributeValue.Substring(0,ltqi);
}
}
}
if( attributeName.ToLower() == "name")
{
paramName = HttpUtility.HtmlDecode(attributeValue); // for unicode encoded values
nNameCnt++;
}
if( attributeName.ToLower() == "value")
{
paramValue = HttpUtility.HtmlDecode(attributeValue); // for unicode encoded values
// delete trailing /
while((paramValue.Length>0)&&(paramValue[paramValue.Length-1] == '/'))
paramValue = paramValue.Substring(0,paramValue.Length-1);
}
nAttrIdx = mA.Index+mA.Length;
}
if( nNameCnt == 1) // first "Name" param = keyword
{
sKeyword = "";
if(parentItem != null)
sKeyword = parentItem.KeyWordPath + ",";
string sOldKW = sKeyword;
sKeyword += paramValue;
IndexItem idxFind = FindByKeyword(arrNodes, sKeyword);
if(idxFind != null)
{
idxItem = idxFind;
}
else
{
if( sKeyword.Split(new char[] {','}).Length > 1 )
{
idxItem.CharIndex = sKeyword.Length - paramValue.Length;
}
else
{
sKeyword = paramValue;
sOldKW = sKeyword;
idxItem.CharIndex = 0;
}
idxItem.KeyWordPath = sKeyword;
idxItem.Indent = sKeyword.Split(new char[] {','}).Length - 1;
idxItem.IsSeeAlso = false;
sKeyword = sOldKW;
}
}
else
{
if( (nNameCnt > 2) && (paramName.ToLower()=="name") )
{
bAdded = true;
IndexTopic idxTopic = new IndexTopic(paramTitle, paramLocal, chmFile.CompileFile, chmFile.ChmFilePath);
idxItem.Topics.Add( idxTopic );
paramTitle = "";
paramLocal = "";
}
switch(paramName.ToLower())
{
case "name":
//case "keyword":
{
paramTitle = paramValue;
};break;
case "local":
{
paramLocal = paramValue.Replace("../", "").Replace("./", "");
};break;
case "type": // information type assignment for item
{
idxItem.InfoTypeStrings.Add( paramValue );
};break;
case "see also":
{
idxItem.AddSeeAlso(paramValue);
idxItem.IsSeeAlso = true;
bAdded = true;
};break;
}
}
nParamIndex = mP.Index+mP.Length;
}
if(!bAdded)
{
bAdded=false;
IndexTopic idxTopic = new IndexTopic(paramTitle, paramLocal, chmFile.CompileFile, chmFile.ChmFilePath);
idxItem.Topics.Add( idxTopic );
paramTitle = "";
paramLocal = "";
}
idxItem.ChmFile = chmFile;
arrNodes.Add( idxItem );
nLastObjStartIndex = nObjStartIndex;
nObjStartIndex = m.Index+m.Length;
}
}
/// <summary>
/// Searches an index-keyword in the index list
/// </summary>
/// <param name="indexList">index list to search</param>
/// <param name="Keyword">keyword to find</param>
/// <returns>Returns an <see cref="IndexItem">IndexItem</see> instance if found, otherwise null.</returns>
private static IndexItem FindByKeyword(ArrayList indexList, string Keyword)
{
foreach(IndexItem curItem in indexList)
{
if( curItem.KeyWordPath == Keyword)
return curItem;
}
return null;
}
/// <summary>
/// Parses the very first &lt;OBJECT&gt; tag in the sitemap file and extracts
/// information types and categories.
/// </summary>
/// <param name="sText">text of the object tag</param>
/// <param name="chmFile">CHMFile instance</param>
private static void ParseGlobalSettings(string sText, CHMFile chmFile)
{
int innerPTextIdx = ParamRE.GroupNumberFromName("innerText");
// get group-name indexes
int nameIndex = AttributesRE.GroupNumberFromName("attributeName");
int valueIndex = AttributesRE.GroupNumberFromName("attributeValue");
int tdIndex = AttributesRE.GroupNumberFromName("attributeTD");
// read parameters
int nParamIndex = 0;
// 0... unknown
// 1... inclusinve info type name
// 2... exclusive info type name
// 3... hidden info type name
// 4... category name
// 5... incl infotype name for category
// 6... excl infotype name for category
// 7... hidden infotype name for category
int prevItem = 0;
string sName = "";
string sDescription = "";
string curCategory = "";
while( ParamRE.IsMatch(sText, nParamIndex) )
{
Match mP = ParamRE.Match(sText, nParamIndex);
string innerP = mP.Groups[innerPTextIdx].Value;
string paramName = "";
string paramValue = "";
int nAttrIdx = 0;
while( AttributesRE.IsMatch( innerP, nAttrIdx ) )
{
Match mA = AttributesRE.Match(innerP, nAttrIdx);
string attributeName = mA.Groups[nameIndex].Value;
string attributeValue = mA.Groups[valueIndex].Value;
string attributeTD = mA.Groups[tdIndex].Value;
if(attributeTD.Length > 0)
{
// delete the trailing textqualifier
if( attributeValue.Length > 0)
{
int ltqi = attributeValue.LastIndexOf( attributeTD );
if(ltqi >= 0)
{
attributeValue = attributeValue.Substring(0,ltqi);
}
}
}
if( attributeName.ToLower() == "name")
{
paramName = HttpUtility.HtmlDecode(attributeValue); // for unicode encoded values
}
if( attributeName.ToLower() == "value")
{
paramValue = HttpUtility.HtmlDecode(attributeValue); // for unicode encoded values
// delete trailing /
while((paramValue.Length>0)&&(paramValue[paramValue.Length-1] == '/'))
paramValue = paramValue.Substring(0,paramValue.Length-1);
}
nAttrIdx = mA.Index+mA.Length;
}
switch(paramName.ToLower())
{
case "savetype": // inclusive information type name
{
prevItem = 1;
sName = paramValue;
};break;
case "savetypedesc": // description of information type
{
InformationTypeMode mode = InformationTypeMode.Inclusive;
sDescription = paramValue;
if( prevItem == 1)
mode = InformationTypeMode.Inclusive;
if( prevItem == 2)
mode = InformationTypeMode.Exclusive;
if( prevItem == 3)
mode = InformationTypeMode.Hidden;
if( chmFile.GetInformationType( sName ) == null)
{
// check if the HtmlHelpSystem already holds such an information type
if( chmFile.SystemInstance.GetInformationType( sName ) == null)
{
// info type not found yet
InformationType newType = new InformationType(sName, sDescription, mode);
chmFile.InformationTypes.Add(newType);
}
else
{
InformationType sysType = chmFile.SystemInstance.GetInformationType( sName );
chmFile.InformationTypes.Add( sysType );
}
}
prevItem = 0;
};break;
case "saveexclusive": // exclusive information type name
{
prevItem = 2;
sName = paramValue;
};break;
case "savehidden": // hidden information type name
{
prevItem = 3;
sName = paramValue;
};break;
case "category": // category name
{
prevItem = 4;
sName = paramValue;
curCategory = sName;
};break;
case "categorydesc": // category description
{
sDescription = paramValue;
if( chmFile.GetCategory( sName ) == null)
{
// check if the HtmlHelpSystem already holds such a category
if( chmFile.SystemInstance.GetCategory( sName ) == null)
{
// add category
Category newCat = new Category(sName, sDescription);
chmFile.Categories.Add(newCat);
}
else
{
Category sysCat = chmFile.SystemInstance.GetCategory( sName );
chmFile.Categories.Add( sysCat );
}
}
prevItem = 0;
};break;
case "type": // inclusive information type which is member of the previously read category
{
prevItem = 5;
sName = paramValue;
};break;
case "typedesc": // description of type for category
{
sDescription = paramValue;
Category cat = chmFile.GetCategory( curCategory );
if( cat != null)
{
// category found
InformationType infoType = chmFile.GetInformationType( sName );
if( infoType != null)
{
if( !cat.ContainsInformationType(infoType))
{
infoType.SetCategoryFlag(true);
cat.AddInformationType(infoType);
}
}
}
prevItem = 0;
};break;
case "typeexclusive": // exclusive information type which is member of the previously read category
{
prevItem = 6;
sName = paramValue;
};break;
case "typehidden": // hidden information type which is member of the previously read category
{
prevItem = 7;
sName = paramValue;
};break;
default:
{
prevItem = 0;
sName = "";
sDescription = "";
};break;
}
nParamIndex = mP.Index+mP.Length;
}
}
}
}

View File

@@ -1,245 +0,0 @@
using System;
using System.IO;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>TopicEntry</c> stores the data for one topic entry
/// </summary>
internal sealed class TopicEntry
{
/// <summary>
/// Internal member storing the offset of this topic entry
/// </summary>
private int _entryOffset = 0;
/// <summary>
/// Internal member storing the index of the binary toc
/// </summary>
private int _tocidxOffset = 0;
/// <summary>
/// Internal member storing the string offset of the title
/// </summary>
private int _titleOffset = 0;
/// <summary>
/// Internal member storuing the urltable offset
/// </summary>
private int _urltableOffset = 0;
/// <summary>
/// Internal member storing the visibility mode
/// </summary>
private int _visibilityMode = 0;
/// <summary>
/// Internal member storing an unknown mode
/// </summary>
private int _unknownMode = 0;
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="entryOffset">offset of this entry</param>
/// <param name="tocidxOffset">offset in the binary toc index</param>
/// <param name="titleOffset">offset of the title (in the #STRINGS file)</param>
/// <param name="urltableOffset">offset in the urltable containing the urlstr offset for the url</param>
/// <param name="visibilityMode">visibility mode 2 indicates not in contents, 6 indicates that it is in the contents, 0/4 something else (unknown)</param>
/// <param name="unknownMode">0, 2, 4, 8, 10, 12, 16, 32 (unknown)</param>
public TopicEntry(int entryOffset, int tocidxOffset, int titleOffset, int urltableOffset, int visibilityMode, int unknownMode) :this(entryOffset, tocidxOffset, titleOffset, urltableOffset, visibilityMode, unknownMode, null)
{
}
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="entryOffset">offset of this entry</param>
/// <param name="tocidxOffset">offset in the binary toc index</param>
/// <param name="titleOffset">offset of the title (in the #STRINGS file)</param>
/// <param name="urltableOffset">offset in the urltable containing the urlstr offset for the url</param>
/// <param name="visibilityMode">visibility mode 2 indicates not in contents, 6 indicates that it is in the contents, 0/4 something else (unknown)</param>
/// <param name="unknownMode">0, 2, 4, 8, 10, 12, 16, 32 (unknown)</param>
/// <param name="associatedFile">associated chmfile object</param>
internal TopicEntry(int entryOffset, int tocidxOffset, int titleOffset, int urltableOffset, int visibilityMode, int unknownMode, CHMFile associatedFile)
{
_entryOffset = entryOffset;
_tocidxOffset = tocidxOffset;
_titleOffset = titleOffset;
_urltableOffset = urltableOffset;
_visibilityMode = visibilityMode;
_unknownMode = unknownMode;
_associatedFile = associatedFile;
}
/// <summary>
/// Standard constructor
/// </summary>
internal TopicEntry()
{
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
writer.Write( _entryOffset );
writer.Write( _tocidxOffset );
writer.Write( _titleOffset );
writer.Write( _urltableOffset );
writer.Write( _visibilityMode );
writer.Write( _unknownMode );
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
_entryOffset = reader.ReadInt32();
_tocidxOffset = reader.ReadInt32();
_titleOffset = reader.ReadInt32();
_urltableOffset = reader.ReadInt32();
_visibilityMode = reader.ReadInt32();
_unknownMode = reader.ReadInt32();
}
/// <summary>
/// Sets the associated CHMFile instance
/// </summary>
/// <param name="associatedFile">instance to set</param>
internal void SetCHMFile(CHMFile associatedFile)
{
_associatedFile = associatedFile;
}
#endregion
/// <summary>
/// Gets the associated chm file
/// </summary>
internal CHMFile ChmFile
{
get { return _associatedFile; }
}
/// <summary>
/// Gets the offset of this entry
/// </summary>
internal int EntryOffset
{
get { return _entryOffset; }
}
/// <summary>
/// Gets the tocidx offset
/// </summary>
internal int TOCIdxOffset
{
get { return _tocidxOffset; }
}
/// <summary>
/// Gets the title offset of the #STRINGS file
/// </summary>
internal int TitleOffset
{
get { return _titleOffset; }
}
/// <summary>
/// Gets the urltable offset
/// </summary>
internal int UrlTableOffset
{
get { return _urltableOffset; }
}
/// <summary>
/// Gets the title of the topic entry
/// </summary>
public string Title
{
get
{
if( _associatedFile == null)
return String.Empty;
if( _associatedFile.StringsFile == null)
return String.Empty;
string sTemp = (string)_associatedFile.StringsFile[ _titleOffset ];
if(sTemp == null)
return String.Empty;
return sTemp;
}
}
/// <summary>
/// Gets the url of the topic
/// </summary>
public string Locale
{
get
{
if( _associatedFile == null)
return String.Empty;
if( _associatedFile.UrltblFile == null)
return String.Empty;
UrlTableEntry utEntry = (UrlTableEntry)_associatedFile.UrltblFile[ _urltableOffset ];
if(utEntry == null)
return String.Empty;
if(utEntry.URL == "")
return String.Empty;
return utEntry.URL;
}
}
/// <summary>
/// Gets the URL of this topic
/// </summary>
public string URL
{
get
{
if(Locale.Length <= 0)
return "about:blank";
if( (Locale.ToLower().IndexOf("http://") >= 0) ||
(Locale.ToLower().IndexOf("https://") >= 0) ||
(Locale.ToLower().IndexOf("mailto:") >= 0) ||
(Locale.ToLower().IndexOf("ftp://") >= 0) ||
(Locale.ToLower().IndexOf("ms-its:") >= 0))
return Locale;
return HtmlHelpSystem.UrlPrefix + _associatedFile.ChmFilePath + "::/" + Locale;
}
}
/// <summary>
/// Gets the visibility mode
/// </summary>
public int VisibilityMode
{
get { return _visibilityMode; }
}
/// <summary>
/// Gets the unknown mode
/// </summary>
public int UknownMode
{
get { return _unknownMode; }
}
}
}

View File

@@ -1,175 +0,0 @@
using System;
using System.IO;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// The class <c>UrlTableEntry</c> stores data for an URL-Table entry
/// </summary>
internal sealed class UrlTableEntry
{
/// <summary>
/// Internal member storing the offset of this entry
/// </summary>
private int _entryOffset = 0;
/// <summary>
/// Internal member storing a unique id
/// </summary>
private uint _uniqueID = 0;
/// <summary>
/// Internal member storing the topics index
/// </summary>
private int _topicsIndex = 0;
/// <summary>
/// Internal member storing the offset in the urlstr table
/// </summary>
private int _urlStrOffset = 0;
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="uniqueID">unique id</param>
/// <param name="entryOffset">offset of the entry</param>
/// <param name="topicIndex">topic index</param>
/// <param name="urlstrOffset">urlstr offset for filename</param>
public UrlTableEntry(uint uniqueID, int entryOffset, int topicIndex, int urlstrOffset) : this(uniqueID, entryOffset, topicIndex, urlstrOffset, null)
{
}
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="uniqueID">unique id</param>
/// <param name="entryOffset">offset of the entry</param>
/// <param name="topicIndex">topic index</param>
/// <param name="urlstrOffset">urlstr offset for filename</param>
/// <param name="associatedFile">associated chm file</param>
internal UrlTableEntry(uint uniqueID, int entryOffset, int topicIndex, int urlstrOffset, CHMFile associatedFile)
{
_uniqueID = uniqueID;
_entryOffset = entryOffset;
_topicsIndex = topicIndex;
_urlStrOffset = urlstrOffset;
_associatedFile = associatedFile;
}
/// <summary>
/// Standard constructor
/// </summary>
internal UrlTableEntry()
{
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
writer.Write( _urlStrOffset );
writer.Write( _entryOffset );
writer.Write( _topicsIndex );
writer.Write( _urlStrOffset );
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
_urlStrOffset = reader.ReadInt32();
_entryOffset = reader.ReadInt32();
_topicsIndex = reader.ReadInt32();
_urlStrOffset = reader.ReadInt32();
}
/// <summary>
/// Sets the associated CHMFile instance
/// </summary>
/// <param name="associatedFile">instance to set</param>
internal void SetCHMFile(CHMFile associatedFile)
{
_associatedFile = associatedFile;
}
#endregion
/// <summary>
/// Gets the unique id of the entry
/// </summary>
internal uint UniqueID
{
get {return _uniqueID; }
}
/// <summary>
/// Gets the offset of the entry
/// </summary>
internal int EntryOffset
{
get {return _entryOffset; }
}
/// <summary>
/// Gets the topics index
/// </summary>
internal int TopicIndex
{
get {return _topicsIndex; }
}
/// <summary>
/// Gets the urlstr offset
/// </summary>
internal int UrlstrOffset
{
get { return _urlStrOffset; }
}
/// <summary>
/// Gets the url of the entry
/// </summary>
public string URL
{
get
{
if(_associatedFile == null)
return String.Empty;
if(_associatedFile.UrlstrFile == null)
return String.Empty;
string sTemp = (string)_associatedFile.UrlstrFile.GetURLatOffset( _urlStrOffset );
if( sTemp == null)
return String.Empty;
return sTemp;
}
}
/// <summary>
/// Gets the associated topic for this url entry
/// </summary>
internal TopicEntry Topic
{
get
{
if(_associatedFile == null)
return null;
if(_associatedFile.TopicsFile == null)
return null;
TopicEntry tentry = _associatedFile.TopicsFile[ _topicsIndex*16 ];
return tentry;
}
}
}
}

View File

@@ -1,19 +0,0 @@
using System;
namespace HtmlHelp.ChmDecoding
{
/// <summary>
/// Enumeration for specifying the extraction mode of an toc or index item.
/// </summary>
public enum DataMode
{
/// <summary>
/// TextBased - this item comes from a text-based sitemap file
/// </summary>
TextBased = 0,
/// <summary>
/// Binary - this item was extracted out of a binary stream
/// </summary>
Binary = 1
}
}

View File

@@ -1,16 +0,0 @@
<Combine fileversion="1.0" name="CHMLibrary" description="">
<StartMode startupentry="CHMLibrary" single="True">
<Execute entry="CHMLibrary" type="None" />
</StartMode>
<Entries>
<Entry filename=".\.\CHMLibrary.prjx" />
</Entries>
<Configurations active="Debug">
<Configuration name="Release">
<Entry name="CHMLibrary" configurationname="Debug" build="False" />
</Configuration>
<Configuration name="Debug">
<Entry name="CHMLibrary" configurationname="Debug" build="False" />
</Configuration>
</Configurations>
</Combine>

View File

@@ -1,58 +0,0 @@
<Project name="CHMLibrary" standardNamespace="CHMLibrary" description="" newfilesearch="None" enableviewstate="True" version="1.1" projecttype="C#">
<Contents>
<File name=".\AssemblyInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\Category.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\ChmFileInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\Default.build" subtype="Code" buildaction="Nothing" dependson="" data="" />
<File name=".\HtmlHelpSystem.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\HttpUtility.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\Index.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\IndexItem.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\IndexTopic.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\InformationType.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\TableOfContents.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\TOCItem.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\Storage" subtype="Directory" buildaction="Compile" dependson="" data="" />
<File name=".\Storage\CHMStream.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding" subtype="Directory" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\BinaryReaderHelp.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\CHMBtree.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\CHMFile.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\CHMIdxhdr.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\CHMStrings.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\CHMSystem.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\CHMTocidx.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\CHMTopics.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\CHMUrlstr.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\CHMUrltable.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\DumpingInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\enumerations.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\FullTextEngine.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\HHCParser2.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\HHCParser.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\HHKParser.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\TopicEntry.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
<File name=".\CHMDecoding\UrlTableEntry.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
</Contents>
<References>
<Reference type="Project" refto="Compression" localcopy="True" />
</References>
<DeploymentInformation target="" script="" strategy="File" />
<Configuration runwithwarnings="True" name="Debug">
<CodeGeneration runtime="MsNet" compiler="Csc" compilerversion="" warninglevel="4" nowarn="" includedebuginformation="True" optimize="False" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" noconfig="False" nostdlib="False" />
<Execution commandlineparameters="" consolepause="False" />
<Output directory="..\bin\Debug" assembly="CHMLibrary" executeScript="" executeBeforeBuild="" executeAfterBuild="" executeBeforeBuildArguments="" executeAfterBuildArguments="" />
</Configuration>
<Configurations active="Debug">
<Configuration runwithwarnings="True" name="Debug">
<CodeGeneration runtime="MsNet" compiler="Csc" compilerversion="" warninglevel="4" nowarn="" includedebuginformation="True" optimize="False" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" noconfig="False" nostdlib="False" />
<Execution commandlineparameters="" consolepause="False" />
<Output directory="..\bin\Debug" assembly="CHMLibrary" executeScript="" executeBeforeBuild="" executeAfterBuild="" executeBeforeBuildArguments="" executeAfterBuildArguments="" />
</Configuration>
<Configuration runwithwarnings="True" name="Release">
<CodeGeneration runtime="MsNet" compiler="Csc" compilerversion="" warninglevel="4" nowarn="" includedebuginformation="False" optimize="True" unsafecodeallowed="False" generateoverflowchecks="False" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" noconfig="False" nostdlib="False" />
<Execution commandlineparameters="" consolepause="False" />
<Output directory="..\bin\Release" assembly="CHMLibrary" executeScript="" executeBeforeBuild="" executeAfterBuild="" executeBeforeBuildArguments="" executeAfterBuildArguments="" />
</Configuration>
</Configurations>
</Project>

View File

@@ -1,201 +0,0 @@
using System;
using System.Collections;
using System.IO;
using HtmlHelp.ChmDecoding;
namespace HtmlHelp
{
/// <summary>
/// The class <c>Category</c> implements methods/properties for handling an information category
/// </summary>
/// <remarks>Note: Information types and categories allow users to filter help contents.
/// They are only supported if using sitemap TOC and/or sitemap Index.</remarks>
public class Category
{
private string _name = "";
private string _description = "";
private ArrayList _infoTypes = null;
private int _referenceCount = 1;
/// <summary>
/// Standard constructor
/// </summary>
public Category() : this("","")
{
}
/// <summary>
/// Standard constructor
/// </summary>
/// <param name="name">name of the category</param>
/// <param name="description">description</param>
public Category(string name, string description) : this(name, description, new ArrayList())
{
}
/// <summary>
/// Standard constructor
/// </summary>
/// <param name="name">name of the category</param>
/// <param name="description">description</param>
/// <param name="linkedInformationTypes">Arraylist of InformationType instances which applies to this category</param>
public Category(string name, string description, ArrayList linkedInformationTypes)
{
_name = name;
_description = description;
_infoTypes = linkedInformationTypes;
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
writer.Write( _name );
writer.Write( _description );
writer.Write( _infoTypes.Count );
for(int i=0; i<_infoTypes.Count;i++)
{
InformationType curType = _infoTypes[i] as InformationType;
writer.Write( curType.Name );
}
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
/// <param name="chmFile">current CHMFile instance which reads from dump</param>
internal void ReadDump(ref BinaryReader reader, CHMFile chmFile)
{
_name = reader.ReadString();
_description = reader.ReadString();
int nCnt = reader.ReadInt32();
for(int i=0; i<nCnt; i++)
{
string sITName = reader.ReadString();
InformationType linkedType = chmFile.GetInformationType( sITName );
if(linkedType != null)
{
linkedType.SetCategoryFlag(true);
_infoTypes.Add(linkedType);
}
}
}
#endregion
/// <summary>
/// Merges the lineked information types from cat into this instance
/// </summary>
/// <param name="cat">category instance</param>
internal void MergeInfoTypes(Category cat)
{
if(cat!=null)
{
if(cat.InformationTypes.Count > 0)
{
for(int i=0;i<cat.InformationTypes.Count;i++)
{
InformationType curType = cat.InformationTypes[i] as InformationType;
if(!ContainsInformationType(curType.Name))
{
curType.SetCategoryFlag(true);
_infoTypes.Add(curType);
}
}
}
}
}
/// <summary>
/// Gets/Sets the reference count of this information type instance
/// </summary>
internal int ReferenceCount
{
get { return _referenceCount; }
set { _referenceCount = value; }
}
/// <summary>
/// Gets/Sets the name of the information type
/// </summary>
public string Name
{
get { return _name; }
set { _name = value; }
}
/// <summary>
/// Gets/Sets the description of the information type
/// </summary>
public string Description
{
get { return _description; }
set { _name = value; }
}
/// <summary>
/// Gets an ArrayList with the linked Information types
/// </summary>
public ArrayList InformationTypes
{
get { return _infoTypes; }
}
/// <summary>
/// Adds a new information type to the category
/// </summary>
/// <param name="type"></param>
public void AddInformationType(InformationType type)
{
_infoTypes.Add(type);
}
/// <summary>
/// Removes an information type from the category
/// </summary>
/// <param name="type"></param>
public void RemoveInformationType(InformationType type)
{
_infoTypes.Remove(type);
}
/// <summary>
/// Checks if the category contains an information type
/// </summary>
/// <param name="type">information type instance to check</param>
/// <returns>Return true if the information type is part of this category</returns>
public bool ContainsInformationType(InformationType type)
{
return _infoTypes.Contains(type);
}
/// <summary>
/// Checks if the category contains an information type
/// </summary>
/// <param name="name">name of the information type</param>
/// <returns>Return true if the information type is part of this category</returns>
public bool ContainsInformationType(string name)
{
for(int i=0;i<_infoTypes.Count;i++)
{
InformationType curType = _infoTypes[i] as InformationType;
if(curType.Name == name)
return true;
}
return false;
}
}
}

View File

@@ -1,478 +0,0 @@
using System;
using System.Collections;
using System.Text;
using System.IO;
using System.Globalization;
using System.Diagnostics;
using System.ComponentModel;
using HtmlHelp.ChmDecoding;
// using HtmlHelp.Storage;
namespace HtmlHelp
{
/// <summary>
/// The class <c>ChmFileInfo</c> only extracts system information from a CHM file.
/// It doesn't build the index and table of contents.
/// </summary>
public class ChmFileInfo
{
/// <summary>
/// Internal member storing the full filename
/// </summary>
private string _chmFileName = "";
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Constructor for extrating the file information of the provided file.
/// The constructor opens the chm-file and reads its system data.
/// </summary>
/// <param name="chmFile">full file name which information should be extracted</param>
public ChmFileInfo(string chmFile)
{
if(!File.Exists(chmFile))
throw new ArgumentException("Chm file must exist on disk !", "chmFileName");
if( ! chmFile.ToLower().EndsWith(".chm") )
throw new ArgumentException("HtmlHelp file must have the extension .chm !", "chmFile");
_chmFileName = chmFile;
_associatedFile = new CHMFile(null, chmFile, true); // only load system data of chm
}
/// <summary>
/// Internal constructor used in the class <see cref="HtmlHelp.ChmDecoding.CHMFile">CHMFile</see>.
/// </summary>
/// <param name="associatedFile">associated chm file</param>
internal ChmFileInfo(CHMFile associatedFile)
{
_associatedFile = associatedFile;
if( _associatedFile == null)
throw new ArgumentException("Associated CHMFile instance must not be null !", "associatedFile");
}
#region default info properties
/// <summary>
/// Gets the full filename of the chm file
/// </summary>
public string ChmFileName
{
get
{
return _associatedFile.ChmFilePath;
}
}
/// <summary>
/// Gets a <see cref="System.IO.FileInfo">FileInfo</see> instance for the chm file.
/// </summary>
public FileInfo FileInfo
{
get { return new FileInfo(_associatedFile.ChmFilePath); }
}
#endregion
#region #SYSTEM properties
/// <summary>
/// Gets the file version of the chm file.
/// 2 for Compatibility=1.0, 3 for Compatibility=1.1
/// </summary>
public int FileVersion
{
get
{
if(_associatedFile != null)
return _associatedFile.FileVersion;
return 0;
}
}
/// <summary>
/// Gets the contents file name
/// </summary>
public string ContentsFile
{
get
{
if(_associatedFile != null)
return _associatedFile.ContentsFile;
return "";
}
}
/// <summary>
/// Gets the index file name
/// </summary>
public string IndexFile
{
get
{
if(_associatedFile != null)
return _associatedFile.IndexFile;
return "";
}
}
/// <summary>
/// Gets the default help topic
/// </summary>
public string DefaultTopic
{
get
{
if(_associatedFile != null)
return _associatedFile.DefaultTopic;
return "";
}
}
/// <summary>
/// Gets the title of the help window
/// </summary>
public string HelpWindowTitle
{
get
{
if(_associatedFile != null)
return _associatedFile.HelpWindowTitle;
return "";
}
}
/// <summary>
/// Gets the flag if DBCS is in use
/// </summary>
public bool DBCS
{
get
{
if(_associatedFile != null)
return _associatedFile.DBCS;
return false;
}
}
/// <summary>
/// Gets the flag if full-text-search is available
/// </summary>
public bool FullTextSearch
{
get
{
if(_associatedFile != null)
return _associatedFile.FullTextSearch;
return false;
}
}
/// <summary>
/// Gets the flag if the file has ALinks
/// </summary>
public bool HasALinks
{
get
{
if(_associatedFile != null)
return _associatedFile.HasALinks;
return false;
}
}
/// <summary>
/// Gets the flag if the file has KLinks
/// </summary>
public bool HasKLinks
{
get
{
if(_associatedFile != null)
return _associatedFile.HasKLinks;
return false;
}
}
/// <summary>
/// Gets the default window name
/// </summary>
public string DefaultWindow
{
get
{
if(_associatedFile != null)
return _associatedFile.DefaultWindow;
return "";
}
}
/// <summary>
/// Gets the file name of the compile file
/// </summary>
public string CompileFile
{
get
{
if(_associatedFile != null)
return _associatedFile.CompileFile;
return "";
}
}
/// <summary>
/// Gets the flag if the chm has a binary index file
/// </summary>
public bool BinaryIndex
{
get
{
if(_associatedFile != null)
return _associatedFile.BinaryIndex;
return false;
}
}
/// <summary>
/// Gets the flag if the chm has a binary index file
/// </summary>
public string CompilerVersion
{
get
{
if(_associatedFile != null)
return _associatedFile.CompilerVersion;
return "";
}
}
/// <summary>
/// Gets the flag if the chm has a binary toc file
/// </summary>
public bool BinaryTOC
{
get
{
if(_associatedFile != null)
return _associatedFile.BinaryTOC;
return false;
}
}
/// <summary>
/// Gets the font face of the read font property.
/// Empty string for default font.
/// </summary>
public string FontFace
{
get
{
if(_associatedFile != null)
return _associatedFile.FontFace;
return "";
}
}
/// <summary>
/// Gets the font size of the read font property.
/// 0 for default font size
/// </summary>
public double FontSize
{
get
{
if(_associatedFile != null)
return _associatedFile.FontSize;
return 0.0;
}
}
/// <summary>
/// Gets the character set of the read font property
/// 1 for default
/// </summary>
public int CharacterSet
{
get
{
if(_associatedFile != null)
return _associatedFile.CharacterSet;
return 1;
}
}
/// <summary>
/// Gets the codepage depending on the read font property
/// </summary>
public int CodePage
{
get
{
if(_associatedFile != null)
return _associatedFile.CodePage;
return 0;
}
}
/// <summary>
/// Gets the assiciated culture info
/// </summary>
public CultureInfo Culture
{
get
{
if(_associatedFile != null)
return _associatedFile.Culture;
return CultureInfo.CurrentCulture;
}
}
#endregion
#region #IDXHDR properties
/// <summary>
/// Gets the number of topic nodes including the contents and index files
/// </summary>
public int NumberOfTopicNodes
{
get
{
if(_associatedFile != null)
return _associatedFile.NumberOfTopicNodes;
return 0;
}
}
/// <summary>
/// Gets the ImageList string specyfied in the #IDXHDR file.
/// </summary>
/// <remarks>This property uses the #STRINGS file to extract the string at a given offset.</remarks>
public string ImageList
{
get
{
if(_associatedFile != null)
return _associatedFile.ImageList;
return "";
}
}
/// <summary>
/// Gets the background setting
/// </summary>
public int Background
{
get
{
if(_associatedFile != null)
return _associatedFile.Background;
return 0;
}
}
/// <summary>
/// Gets the foreground setting
/// </summary>
public int Foreground
{
get
{
if(_associatedFile != null)
return _associatedFile.Foreground;
return 0;
}
}
/// <summary>
/// Gets the FrameName string specyfied in the #IDXHDR file.
/// </summary>
/// <remarks>This property uses the #STRINGS file to extract the string at a given offset.</remarks>
public string FrameName
{
get
{
if(_associatedFile != null)
return _associatedFile.FrameName;
return "";
}
}
/// <summary>
/// Gets the WindowName string specyfied in the #IDXHDR file.
/// </summary>
/// <remarks>This property uses the #STRINGS file to extract the string at a given offset.</remarks>
public string WindowName
{
get
{
if(_associatedFile != null)
return _associatedFile.WindowName;
return "";
}
}
/// <summary>
/// Gets a string array containing the merged file names
/// </summary>
public string[] MergedFiles
{
get
{
if(_associatedFile != null)
return _associatedFile.MergedFiles;
return new string[0];
}
}
#endregion
}
}

View File

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

View File

@@ -1,894 +0,0 @@
using System;
using System.IO;
using System.Collections;
using System.Data;
using HtmlHelp.ChmDecoding;
namespace HtmlHelp
{
/// <summary>
/// The class <c>HtmlHelpSystem</c> implements the main object for reading chm files
/// </summary>
public sealed class HtmlHelpSystem
{
/// <summary>
/// Private shared instance of current HtmlHelpSystem class
/// </summary>
private static HtmlHelpSystem _current=null;
/// <summary>
/// Internal member storing the attached files
/// </summary>
private ArrayList _chmFiles = new ArrayList();
/// <summary>
/// Internal member storing a merged table of contents
/// </summary>
private TableOfContents _toc = new TableOfContents();
/// <summary>
/// Internal member storing a merged index
/// </summary>
private Index _index = new Index();
/// <summary>
/// URL prefix for specifying a chm destination
/// </summary>
private static string _urlPrefix = "ms-its:";
/// <summary>
/// Internal flag specifying if the system should use the tree-images list
/// from HtmlHelp2. If false the standard CHM-Viewer pics will be used.
/// </summary>
private static bool _useHH2TreePics = false;
/// <summary>
/// Internal member storing the read information types
/// </summary>
private ArrayList _informationTypes = new ArrayList();
/// <summary>
/// Internal member storing the read categories
/// </summary>
private ArrayList _categories = new ArrayList();
/// <summary>
/// Gets/Sets the url prefix for specifying a chm destination
/// </summary>
public static string UrlPrefix
{
get { return _urlPrefix; }
set { _urlPrefix = value; }
}
public CHMStream.CHMStream BaseStream
{
get
{
CHMFile chm=(CHMFile)_chmFiles[0];
return chm.BaseStream;
}
}
/// <summary>
/// Gets/Sets the flag specifying if the system should use the tree-images list
/// from HtmlHelp2. If false the standard CHM-Viewer pics will be used.
/// </summary>
public static bool UseHH2TreePics
{
get { return _useHH2TreePics; }
set { _useHH2TreePics = value; }
}
/// <summary>
/// Gets the current HtmlHelpSystem instance
/// </summary>
public static HtmlHelpSystem Current
{
get
{
return _current;
}
}
/// <summary>
/// Standard constructor
/// </summary>
public HtmlHelpSystem() : this("")
{
}
/// <summary>
/// Constructor of the reader class
/// </summary>
/// <param name="chmFile">chm file to attach with the reader</param>
public HtmlHelpSystem(string chmFile)
{
_current = this;
OpenFile(chmFile);
}
/// <summary>
/// Opens a chm file and creates
/// </summary>
/// <param name="chmFile">full file path of the chm file to open</param>
/// <remarks>If you call this method, all existing merged files will be cleared.</remarks>
public void OpenFile(string chmFile)
{
OpenFile(chmFile, null);
}
/// <summary>
/// Opens a chm file and creates
/// </summary>
/// <param name="chmFile">full file path of the chm file to open</param>
/// <param name="dmpInfo">dumping info</param>
/// <remarks>If you call this method, all existing merged files will be cleared.</remarks>
public void OpenFile(string chmFile, DumpingInfo dmpInfo)
{
if( File.Exists(chmFile ) )
{
_chmFiles.Clear();
_toc.Clear();
_index.Clear();
_informationTypes.Clear();
_categories.Clear();
CHMFile newFile = new CHMFile(this, chmFile, dmpInfo);
_toc = new TableOfContents( newFile.TOC );
_index = new Index( newFile.IndexKLinks, newFile.IndexALinks );
_chmFiles.Add(newFile);
// add all infotypes and categories of the read file to this system instance
MergeFileInfoTypesCategories(newFile);
// check if the file has a merged files list
if( newFile.MergedFiles.Length > 0 )
{
// extract the path of the chm file (usually merged files are in the same path)
FileInfo fi = new FileInfo(chmFile);
string sPath = fi.DirectoryName;
for(int i=0; i<newFile.MergedFiles.Length; i++)
{
string sFile = newFile.MergedFiles[i];
if(sFile.Length > 0)
{
if(sFile[1] != ':') // no full path setting
{
sFile = Path.Combine(sPath, sFile);
}
MergeFile(sFile, dmpInfo, true);
}
}
// if (newFile.MergLinks.Count>0)
// RecalculateMergeLinks(newFile);
RemoveMergeLinks(); // clear all merge-links which have no target !
}
}
}
/// <summary>
/// Merges a chm file to the current help contents
/// </summary>
/// <param name="chmFile">full file path of the chm file to merge</param>
public void MergeFile(string chmFile)
{
MergeFile(chmFile, null);
}
/// <summary>
/// Merges a chm file to the current help contents
/// </summary>
/// <param name="chmFile">full file path of the chm file to merge</param>
/// <param name="dmpInfo">dumping info</param>
public void MergeFile(string chmFile, DumpingInfo dmpInfo)
{
MergeFile(chmFile, dmpInfo, false);
}
/// <summary>
/// Merges a chm file to the current help contents
/// </summary>
/// <param name="chmFile">full file path of the chm file to merge</param>
/// <param name="dmpInfo">dumping info</param>
/// <param name="mergedFileList">true if the merge is done because a merged file list
/// was found in the previously loaded CHM.</param>
internal void MergeFile(string chmFile, DumpingInfo dmpInfo, bool mergedFileList)
{
if( File.Exists(chmFile ) )
{
if( _chmFiles.Count == 1)
{
// if we open the first file, we directly point into the toc and index of this file.
// So that we don't merge the new toc's indexe's into the first file, we have to
// clone the internal arraylists first to a new instance of the toc/index holder classes.
ArrayList atoc = _toc.TOC;
ArrayList alinks = _index.ALinks;
ArrayList klinks = _index.KLinks;
_toc = new TableOfContents();
_index = new Index();
_toc.MergeToC( atoc );
_index.MergeIndex( alinks, IndexType.AssiciativeLinks );
_index.MergeIndex( klinks, IndexType.KeywordLinks );
}
CHMFile newFile = new CHMFile(this, chmFile, dmpInfo);
if(mergedFileList) // if we've called this method due to a merged file list merge
{
RecalculateMergeLinks(newFile);
_toc.MergeToC( newFile.TOC, _chmFiles );
_index.MergeIndex( newFile.IndexALinks, IndexType.AssiciativeLinks );
_index.MergeIndex( newFile.IndexKLinks, IndexType.KeywordLinks );
_chmFiles.Add(newFile);
// add all infotypes and categories of the read file to this system instance
MergeFileInfoTypesCategories(newFile);
}
else
{
_toc.MergeToC( newFile.TOC, _chmFiles );
_index.MergeIndex( newFile.IndexALinks, IndexType.AssiciativeLinks );
_index.MergeIndex( newFile.IndexKLinks, IndexType.KeywordLinks );
_chmFiles.Add(newFile);
// add all infotypes and categories of the read file to this system instance
MergeFileInfoTypesCategories(newFile);
// check if the file has a merged files list
if( newFile.MergedFiles.Length > 0 )
{
// extract the path of the chm file (usually merged files are in the same path)
FileInfo fi = new FileInfo(chmFile);
string sPath = fi.DirectoryName;
for(int i=0; i<newFile.MergedFiles.Length; i++)
{
string sFile = newFile.MergedFiles[i];
if(sFile.Length > 0)
{
if(sFile[1] != ':') // no full path setting
{
sFile = Path.Combine(sPath, sFile);
}
MergeFile(sFile, dmpInfo, true);
}
}
RemoveMergeLinks(); // clear all merge-links which have no target !
}
}
}
}
/// <summary>
/// Checks all Merg-links read till now. Checks if the merg-link points to the
/// file <c>currentFile</c>. If yes the link will be replaced by the contents of the
/// merged file.
/// </summary>
/// <param name="currentFile">Current CHMFile instance</param>
internal void RecalculateMergeLinks(CHMFile currentFile)
{
foreach(CHMFile curFile in _chmFiles)
{
if( curFile.MergLinks.Count > 0)
{
for(int i=0; i<curFile.MergLinks.Count; i++)
{
TOCItem curItem = curFile.MergLinks[i] as TOCItem;
string sMerge = curItem.MergeLink;
string [] sSplit = sMerge.Split( new char[]{':'} );
string sFName = "";
string sTarget = "";
if( sSplit.Length > 3) // merge info contains path name
{
sFName = sSplit[0] + ":" + sSplit[1];
sTarget = sSplit[3];
}
else if( sSplit.Length == 3)// merge info contains only file name
{
FileInfo fi = new FileInfo(currentFile.ChmFilePath);
string sPath = fi.DirectoryName;
string sFile = sSplit[0];
if(sFile.Length > 0)
{
if(sFile[1] != ':') // no full path setting
{
sFile = Path.Combine(sPath, sFile);
}
}
sFName = sFile;
sTarget = sSplit[2];
}
ArrayList arrToc = null;
if( (sFName.Length>0) && (sTarget.Length>0) )
{
// if this link points into the current file
if( sFName.ToLower() == currentFile.ChmFilePath.ToLower() )
{
if(sTarget.ToLower().IndexOf(".hhc") >= 0)
{
string sfCheck = sTarget;
// remove prefixing ./
while( (sfCheck[0]=='.') || (sfCheck[0]=='/') )
{
sfCheck = sfCheck.Substring(1);
}
if( currentFile.ContentsFile.ToLower() != sfCheck )
{
arrToc = currentFile.ParseHHC( sTarget );
if( arrToc.Count > 0)
{
}
}
else
{
arrToc = currentFile.TOC;
}
// target points to a complete TOC
int nCnt = 0;
foreach(TOCItem chkItem in arrToc)
{
if(nCnt == 0)
{
curItem.AssociatedFile = currentFile;
curItem.Children = chkItem.Children;
curItem.ChmFile = currentFile.ChmFilePath;
curItem.ImageIndex = chkItem.ImageIndex;
curItem.Local = chkItem.Local;
curItem.MergeLink = chkItem.MergeLink;
curItem.Name = chkItem.Name;
curItem.TocMode = chkItem.TocMode;
curItem.TopicOffset = chkItem.TopicOffset;
MarkChildrenAdded(chkItem.Children, curFile.MergLinks);
}
else
{
ArrayList checkList = null;
if(curItem.Parent != null)
checkList = curItem.Parent.Children;
else
checkList = curFile.TOC;
int nIdx = checkList.IndexOf(curItem);
if((nIdx+nCnt)>checkList.Count)
checkList.Add(chkItem);
else
checkList.Insert(nIdx+nCnt, chkItem);
curFile.MergLinks.Add(chkItem);
MarkChildrenAdded(chkItem.Children, curFile.MergLinks);
}
nCnt++;
}
}
else
{
// target points to a single topic
TOCItem chkItem = currentFile.GetTOCItemByLocal(sTarget);
if(chkItem != null)
{
curItem.AssociatedFile = currentFile;
curItem.Children = chkItem.Children;
curItem.ChmFile = currentFile.ChmFilePath;
curItem.ImageIndex = chkItem.ImageIndex;
curItem.Local = chkItem.Local;
curItem.MergeLink = chkItem.MergeLink;
curItem.Name = chkItem.Name;
curItem.TocMode = chkItem.TocMode;
curItem.TopicOffset = chkItem.TopicOffset;
curFile.MergLinks.Add(chkItem);
MarkChildrenAdded(chkItem.Children, curFile.MergLinks);
}
}
}
}
}
}
}
}
/// <summary>
/// Adds sub-items of an TOC-entry to the merg-linked list.
/// This will mark this item as "added" during the extra merge run
/// of the HtmlHelpSystem class.
/// </summary>
/// <param name="tocs">TOCItem list</param>
/// <param name="merged">Arraylist which holds the merged-items</param>
internal void MarkChildrenAdded(ArrayList tocs, ArrayList merged)
{
foreach(TOCItem curItem in tocs)
{
if(!merged.Contains(curItem))
{
merged.Add(curItem);
MarkChildrenAdded(curItem.Children, merged);
}
}
}
/// <summary>
/// Removes merge-links from the toc of files which were not loaded
/// </summary>
internal void RemoveMergeLinks()
{
foreach(CHMFile curFile in _chmFiles)
{
if( curFile.MergLinks.Count > 0)
{
while(curFile.MergLinks.Count > 0)
{
TOCItem curItem = curFile.MergLinks[0] as TOCItem;
if(curItem.MergeLink.Length > 0)
curFile.RemoveTOCItem(curItem);
curFile.MergLinks.RemoveAt(0);
}
}
}
}
/// <summary>
/// Merges the information types and categories read by the CHMFile instance
/// into the system instance
/// </summary>
/// <param name="chmFile">file instance</param>
private void MergeFileInfoTypesCategories(CHMFile chmFile)
{
if(chmFile.HasInformationTypes)
{
for(int i=0; i<chmFile.InformationTypes.Count;i++)
{
InformationType curType = chmFile.InformationTypes[i] as InformationType;
InformationType sysType = GetInformationType( curType.Name );
if( sysType == null)
_informationTypes.Add(curType);
else
curType.ReferenceCount++;
}
}
if(chmFile.HasCategories)
{
for(int i=0; i<chmFile.Categories.Count;i++)
{
Category curCat = chmFile.Categories[i] as Category;
Category sysCat = GetCategory( curCat.Name );
if(sysCat == null)
_categories.Add(curCat);
else
curCat.ReferenceCount++;
}
}
}
/// <summary>
/// Removes the information types and categories read by the CHMFile instance
/// </summary>
/// <param name="chmFile">file instance</param>
private void RemoveFileInfoTypesCategories(CHMFile chmFile)
{
if(chmFile.HasInformationTypes)
{
for(int i=0; i<chmFile.InformationTypes.Count;i++)
{
InformationType curType = chmFile.InformationTypes[i] as InformationType;
InformationType sysType = GetInformationType( curType.Name );
if(sysType != null)
{
sysType.ReferenceCount--;
if(sysType.ReferenceCount<=0)
_informationTypes.Remove(sysType);
}
}
}
if(chmFile.HasCategories)
{
for(int i=0; i<chmFile.Categories.Count;i++)
{
Category curCat = chmFile.Categories[i] as Category;
Category sysCat = GetCategory( curCat.Name );
if(sysCat != null)
{
sysCat.ReferenceCount--;
if(sysCat.ReferenceCount<=0)
_categories.Remove(sysCat);
}
}
}
}
/// <summary>
/// Removes a chm file from the internal file collection
/// </summary>
/// <param name="chmFile">full file path of the chm file to remove</param>
public void RemoveFile(string chmFile)
{
int nIdx = -1;
CHMFile removeInstance=null;
foreach(CHMFile curFile in _chmFiles)
{
nIdx++;
if( curFile.ChmFilePath.ToLower() == chmFile.ToLower() )
{
removeInstance = curFile;
break;
}
}
if(nIdx >= 0)
{
_toc.Clear(); // forces a rebuild of the merged toc
_index.Clear(); // force a rebuild of the merged index
RemoveFileInfoTypesCategories(removeInstance);
_chmFiles.RemoveAt(nIdx);
}
}
/// <summary>
/// Closes all files and destroys TOC/index
/// </summary>
public void CloseAllFiles()
{
for(int i=0; i < _chmFiles.Count; i++)
{
CHMFile curFile = _chmFiles[i] as CHMFile;
_chmFiles.RemoveAt(i);
curFile.Dispose();
i--;
}
_chmFiles.Clear();
_toc.Clear();
_index.Clear();
_informationTypes.Clear();
_categories.Clear();
}
/// <summary>
/// Gets an array of loaded chm files.
/// </summary>
public CHMFile[] FileList
{
get
{
CHMFile[] ret = new CHMFile[ _chmFiles.Count ];
for(int i=0;i<_chmFiles.Count;i++)
ret[i] = (CHMFile)_chmFiles[i];
return ret;
}
}
/// <summary>
/// Returns true if the HtmlHelpSystem instance contains 1 or more information types
/// </summary>
public bool HasInformationTypes
{
get { return (_informationTypes.Count>0); }
}
/// <summary>
/// Returns true if the HtmlHelpSystem instance contains 1 or more categories
/// </summary>
public bool HasCategories
{
get { return (_categories.Count>0); }
}
/// <summary>
/// Gets an ArrayList of <see cref="InformationType">InformationType</see> items
/// </summary>
public ArrayList InformationTypes
{
get { return _informationTypes; }
}
/// <summary>
/// Gets an ArrayList of <see cref="Category">Category</see> items
/// </summary>
public ArrayList Categories
{
get { return _categories; }
}
/// <summary>
/// Gets the information type specified by its name
/// </summary>
/// <param name="name">name of the information type to receive</param>
/// <returns>Returns the Instance for the name or null if not found</returns>
public InformationType GetInformationType(string name)
{
if(HasInformationTypes)
{
for(int i=0; i<_informationTypes.Count;i++)
{
InformationType iT = _informationTypes[i] as InformationType;
if(iT.Name == name)
return iT;
}
}
return null;
}
/// <summary>
/// Gets the category specifiyd by its name
/// </summary>
/// <param name="name">name of the category</param>
/// <returns>Returns the Instance for the name or null if not found</returns>
public Category GetCategory(string name)
{
if(HasCategories)
{
for(int i=0; i<_categories.Count;i++)
{
Category cat = _categories[i] as Category;
if(cat.Name == name)
return cat;
}
}
return null;
}
/// <summary>
/// Gets the default topic
/// </summary>
public string DefaultTopic
{
get
{
if( _chmFiles.Count > 0 )
{
foreach(CHMFile curFile in _chmFiles)
{
if( curFile.DefaultTopic.Length > 0)
{
return curFile.FormURL( curFile.DefaultTopic );
}
}
}
return "about:blank";
}
}
/// <summary>
/// Gets a merged table of contents of all opened chm files
/// </summary>
public TableOfContents TableOfContents
{
get
{
if( _chmFiles.Count > 0 )
{
if( _toc.Count() <= 0)
{
// merge toc of files
foreach(CHMFile curFile in _chmFiles)
{
_toc.MergeToC( curFile.TOC );
}
}
}
return _toc;
}
}
/// <summary>
/// Gets a merged index of all opened chm files
/// </summary>
public Index Index
{
get
{
if( _chmFiles.Count > 0 )
{
if( (_index.Count(IndexType.KeywordLinks)+_index.Count(IndexType.AssiciativeLinks)) <= 0)
{
// merge index files
foreach(CHMFile curFile in _chmFiles)
{
_index.MergeIndex( curFile.IndexKLinks, IndexType.KeywordLinks);
_index.MergeIndex( curFile.IndexALinks, IndexType.AssiciativeLinks);
}
}
}
return _index;
}
}
/// <summary>
/// Gets a flag if the current instance offers a table of contents
/// </summary>
public bool HasTableOfContents
{
get
{
return (TableOfContents.Count() > 0);
}
}
/// <summary>
/// Gets a flag if the current instance offers an index
/// </summary>
public bool HasIndex
{
get
{
return (HasALinks || HasKLinks);
}
}
/// <summary>
/// Gets a flag if the index holds klinks
/// </summary>
public bool HasKLinks
{
get
{
return (_index.Count(IndexType.KeywordLinks) > 0);
}
}
/// <summary>
/// Gets a flag if the index holds alinks
/// </summary>
public bool HasALinks
{
get
{
return (_index.Count(IndexType.AssiciativeLinks) > 0);
}
}
/// <summary>
/// Gets a flag if the current instance supports fulltext searching
/// </summary>
public bool FullTextSearch
{
get
{
bool bRet = false;
foreach(CHMFile curFile in _chmFiles)
{
bRet |= curFile.FullTextSearch;
}
return bRet;
}
}
/// <summary>
/// Performs a full-text search over the chm files
/// </summary>
/// <param name="words">words to search</param>
/// <param name="partialMatches">true if partial word should be matched also
/// ( if this is true a search of 'support' will match 'supports', otherwise not )</param>
/// <param name="titleOnly">true if titles only</param>
/// <returns>A DataTable containing the search hits</returns>
public DataTable PerformSearch(string words, bool partialMatches, bool titleOnly)
{
return PerformSearch(words, -1, partialMatches, titleOnly);
}
/// <summary>
/// Performs a full-text search over the chm files
/// </summary>
/// <param name="words">words to search</param>
/// <param name="MaxResults">maximal number of hits to return</param>
/// <param name="partialMatches">true if partial word should be matched also
/// ( if this is true a search of 'support' will match 'supports', otherwise not )</param>
/// <param name="titleOnly">true if titles only</param>
/// <returns>A DataTable containing the search hits</returns>
public DataTable PerformSearch(string words, int MaxResults, bool partialMatches, bool titleOnly)
{
if( ! FullTextSearch )
return null;
DataTable dtResult = null;
int nCnt = 0;
foreach(CHMFile curFile in _chmFiles)
{
if(nCnt == 0)
{
if(curFile.FullTextSearchEngine.CanSearch)
{
if(curFile.FullTextSearchEngine.Search(words, MaxResults, partialMatches, titleOnly))
{
dtResult = curFile.FullTextSearchEngine.Hits;
dtResult.DefaultView.Sort = "Rating DESC";
}
}
}
else
{
if(curFile.FullTextSearchEngine.CanSearch)
{
if(curFile.FullTextSearchEngine.Search(words, MaxResults, partialMatches, titleOnly))
{
DataTable table = curFile.FullTextSearchEngine.Hits;
// append rows from 2nd file
foreach(DataRow curRow in table.Rows)
{
dtResult.ImportRow( curRow );
}
dtResult.DefaultView.Sort = "Rating DESC";
// adjust max hits
if(MaxResults >= 0)
{
if(dtResult.DefaultView.Count > MaxResults)
{
for(int i=MaxResults-1; i<dtResult.DefaultView.Count-1;i++)
{
if(dtResult.DefaultView[i].Row.RowState != DataRowState.Deleted)
{
dtResult.DefaultView[i].Row.Delete();
dtResult.DefaultView[i].Row.AcceptChanges();
i--;
}
}
dtResult.AcceptChanges();
dtResult.DefaultView.Sort = "Rating DESC";
}
}
}
}
}
nCnt++;
}
return dtResult;
}
}
}

View File

@@ -1,855 +0,0 @@
//
// System.Web.HttpUtility
//
// Authors:
// Patrik Torstensson (Patrik.Torstensson@labs2.com)
// Wictor Wil<69>n (decode/encode functions) (wictor@ibizkit.se)
// Tim Coleman (tim@timcoleman.com)
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Collections;
using System.Globalization;
using System.IO;
using System.Text;
// using System.Web.Util;
namespace HtmlHelp.ChmDecoding
{
public sealed class HttpUtility {
#region Fields
const string _hex = "0123456789ABCDEF";
const string _chars = "<>;:.?=&@*+%/\\";
static Hashtable entities;
static object lock_ = new object ();
#endregion // Fields
static Hashtable Entities {
get {
lock (lock_) {
if (entities == null)
InitEntities ();
return entities;
}
}
}
#region Constructors
static void InitEntities ()
{
// Build the hash table of HTML entity references. This list comes
// from the HTML 4.01 W3C recommendation.
entities = new Hashtable ();
entities.Add ("nbsp", '\u00A0');
entities.Add ("iexcl", '\u00A1');
entities.Add ("cent", '\u00A2');
entities.Add ("pound", '\u00A3');
entities.Add ("curren", '\u00A4');
entities.Add ("yen", '\u00A5');
entities.Add ("brvbar", '\u00A6');
entities.Add ("sect", '\u00A7');
entities.Add ("uml", '\u00A8');
entities.Add ("copy", '\u00A9');
entities.Add ("ordf", '\u00AA');
entities.Add ("laquo", '\u00AB');
entities.Add ("not", '\u00AC');
entities.Add ("shy", '\u00AD');
entities.Add ("reg", '\u00AE');
entities.Add ("macr", '\u00AF');
entities.Add ("deg", '\u00B0');
entities.Add ("plusmn", '\u00B1');
entities.Add ("sup2", '\u00B2');
entities.Add ("sup3", '\u00B3');
entities.Add ("acute", '\u00B4');
entities.Add ("micro", '\u00B5');
entities.Add ("para", '\u00B6');
entities.Add ("middot", '\u00B7');
entities.Add ("cedil", '\u00B8');
entities.Add ("sup1", '\u00B9');
entities.Add ("ordm", '\u00BA');
entities.Add ("raquo", '\u00BB');
entities.Add ("frac14", '\u00BC');
entities.Add ("frac12", '\u00BD');
entities.Add ("frac34", '\u00BE');
entities.Add ("iquest", '\u00BF');
entities.Add ("Agrave", '\u00C0');
entities.Add ("Aacute", '\u00C1');
entities.Add ("Acirc", '\u00C2');
entities.Add ("Atilde", '\u00C3');
entities.Add ("Auml", '\u00C4');
entities.Add ("Aring", '\u00C5');
entities.Add ("AElig", '\u00C6');
entities.Add ("Ccedil", '\u00C7');
entities.Add ("Egrave", '\u00C8');
entities.Add ("Eacute", '\u00C9');
entities.Add ("Ecirc", '\u00CA');
entities.Add ("Euml", '\u00CB');
entities.Add ("Igrave", '\u00CC');
entities.Add ("Iacute", '\u00CD');
entities.Add ("Icirc", '\u00CE');
entities.Add ("Iuml", '\u00CF');
entities.Add ("ETH", '\u00D0');
entities.Add ("Ntilde", '\u00D1');
entities.Add ("Ograve", '\u00D2');
entities.Add ("Oacute", '\u00D3');
entities.Add ("Ocirc", '\u00D4');
entities.Add ("Otilde", '\u00D5');
entities.Add ("Ouml", '\u00D6');
entities.Add ("times", '\u00D7');
entities.Add ("Oslash", '\u00D8');
entities.Add ("Ugrave", '\u00D9');
entities.Add ("Uacute", '\u00DA');
entities.Add ("Ucirc", '\u00DB');
entities.Add ("Uuml", '\u00DC');
entities.Add ("Yacute", '\u00DD');
entities.Add ("THORN", '\u00DE');
entities.Add ("szlig", '\u00DF');
entities.Add ("agrave", '\u00E0');
entities.Add ("aacute", '\u00E1');
entities.Add ("acirc", '\u00E2');
entities.Add ("atilde", '\u00E3');
entities.Add ("auml", '\u00E4');
entities.Add ("aring", '\u00E5');
entities.Add ("aelig", '\u00E6');
entities.Add ("ccedil", '\u00E7');
entities.Add ("egrave", '\u00E8');
entities.Add ("eacute", '\u00E9');
entities.Add ("ecirc", '\u00EA');
entities.Add ("euml", '\u00EB');
entities.Add ("igrave", '\u00EC');
entities.Add ("iacute", '\u00ED');
entities.Add ("icirc", '\u00EE');
entities.Add ("iuml", '\u00EF');
entities.Add ("eth", '\u00F0');
entities.Add ("ntilde", '\u00F1');
entities.Add ("ograve", '\u00F2');
entities.Add ("oacute", '\u00F3');
entities.Add ("ocirc", '\u00F4');
entities.Add ("otilde", '\u00F5');
entities.Add ("ouml", '\u00F6');
entities.Add ("divide", '\u00F7');
entities.Add ("oslash", '\u00F8');
entities.Add ("ugrave", '\u00F9');
entities.Add ("uacute", '\u00FA');
entities.Add ("ucirc", '\u00FB');
entities.Add ("uuml", '\u00FC');
entities.Add ("yacute", '\u00FD');
entities.Add ("thorn", '\u00FE');
entities.Add ("yuml", '\u00FF');
entities.Add ("fnof", '\u0192');
entities.Add ("Alpha", '\u0391');
entities.Add ("Beta", '\u0392');
entities.Add ("Gamma", '\u0393');
entities.Add ("Delta", '\u0394');
entities.Add ("Epsilon", '\u0395');
entities.Add ("Zeta", '\u0396');
entities.Add ("Eta", '\u0397');
entities.Add ("Theta", '\u0398');
entities.Add ("Iota", '\u0399');
entities.Add ("Kappa", '\u039A');
entities.Add ("Lambda", '\u039B');
entities.Add ("Mu", '\u039C');
entities.Add ("Nu", '\u039D');
entities.Add ("Xi", '\u039E');
entities.Add ("Omicron", '\u039F');
entities.Add ("Pi", '\u03A0');
entities.Add ("Rho", '\u03A1');
entities.Add ("Sigma", '\u03A3');
entities.Add ("Tau", '\u03A4');
entities.Add ("Upsilon", '\u03A5');
entities.Add ("Phi", '\u03A6');
entities.Add ("Chi", '\u03A7');
entities.Add ("Psi", '\u03A8');
entities.Add ("Omega", '\u03A9');
entities.Add ("alpha", '\u03B1');
entities.Add ("beta", '\u03B2');
entities.Add ("gamma", '\u03B3');
entities.Add ("delta", '\u03B4');
entities.Add ("epsilon", '\u03B5');
entities.Add ("zeta", '\u03B6');
entities.Add ("eta", '\u03B7');
entities.Add ("theta", '\u03B8');
entities.Add ("iota", '\u03B9');
entities.Add ("kappa", '\u03BA');
entities.Add ("lambda", '\u03BB');
entities.Add ("mu", '\u03BC');
entities.Add ("nu", '\u03BD');
entities.Add ("xi", '\u03BE');
entities.Add ("omicron", '\u03BF');
entities.Add ("pi", '\u03C0');
entities.Add ("rho", '\u03C1');
entities.Add ("sigmaf", '\u03C2');
entities.Add ("sigma", '\u03C3');
entities.Add ("tau", '\u03C4');
entities.Add ("upsilon", '\u03C5');
entities.Add ("phi", '\u03C6');
entities.Add ("chi", '\u03C7');
entities.Add ("psi", '\u03C8');
entities.Add ("omega", '\u03C9');
entities.Add ("thetasym", '\u03D1');
entities.Add ("upsih", '\u03D2');
entities.Add ("piv", '\u03D6');
entities.Add ("bull", '\u2022');
entities.Add ("hellip", '\u2026');
entities.Add ("prime", '\u2032');
entities.Add ("Prime", '\u2033');
entities.Add ("oline", '\u203E');
entities.Add ("frasl", '\u2044');
entities.Add ("weierp", '\u2118');
entities.Add ("image", '\u2111');
entities.Add ("real", '\u211C');
entities.Add ("trade", '\u2122');
entities.Add ("alefsym", '\u2135');
entities.Add ("larr", '\u2190');
entities.Add ("uarr", '\u2191');
entities.Add ("rarr", '\u2192');
entities.Add ("darr", '\u2193');
entities.Add ("harr", '\u2194');
entities.Add ("crarr", '\u21B5');
entities.Add ("lArr", '\u21D0');
entities.Add ("uArr", '\u21D1');
entities.Add ("rArr", '\u21D2');
entities.Add ("dArr", '\u21D3');
entities.Add ("hArr", '\u21D4');
entities.Add ("forall", '\u2200');
entities.Add ("part", '\u2202');
entities.Add ("exist", '\u2203');
entities.Add ("empty", '\u2205');
entities.Add ("nabla", '\u2207');
entities.Add ("isin", '\u2208');
entities.Add ("notin", '\u2209');
entities.Add ("ni", '\u220B');
entities.Add ("prod", '\u220F');
entities.Add ("sum", '\u2211');
entities.Add ("minus", '\u2212');
entities.Add ("lowast", '\u2217');
entities.Add ("radic", '\u221A');
entities.Add ("prop", '\u221D');
entities.Add ("infin", '\u221E');
entities.Add ("ang", '\u2220');
entities.Add ("and", '\u2227');
entities.Add ("or", '\u2228');
entities.Add ("cap", '\u2229');
entities.Add ("cup", '\u222A');
entities.Add ("int", '\u222B');
entities.Add ("there4", '\u2234');
entities.Add ("sim", '\u223C');
entities.Add ("cong", '\u2245');
entities.Add ("asymp", '\u2248');
entities.Add ("ne", '\u2260');
entities.Add ("equiv", '\u2261');
entities.Add ("le", '\u2264');
entities.Add ("ge", '\u2265');
entities.Add ("sub", '\u2282');
entities.Add ("sup", '\u2283');
entities.Add ("nsub", '\u2284');
entities.Add ("sube", '\u2286');
entities.Add ("supe", '\u2287');
entities.Add ("oplus", '\u2295');
entities.Add ("otimes", '\u2297');
entities.Add ("perp", '\u22A5');
entities.Add ("sdot", '\u22C5');
entities.Add ("lceil", '\u2308');
entities.Add ("rceil", '\u2309');
entities.Add ("lfloor", '\u230A');
entities.Add ("rfloor", '\u230B');
entities.Add ("lang", '\u2329');
entities.Add ("rang", '\u232A');
entities.Add ("loz", '\u25CA');
entities.Add ("spades", '\u2660');
entities.Add ("clubs", '\u2663');
entities.Add ("hearts", '\u2665');
entities.Add ("diams", '\u2666');
entities.Add ("quot", '\u0022');
entities.Add ("amp", '\u0026');
entities.Add ("lt", '\u003C');
entities.Add ("gt", '\u003E');
entities.Add ("OElig", '\u0152');
entities.Add ("oelig", '\u0153');
entities.Add ("Scaron", '\u0160');
entities.Add ("scaron", '\u0161');
entities.Add ("Yuml", '\u0178');
entities.Add ("circ", '\u02C6');
entities.Add ("tilde", '\u02DC');
entities.Add ("ensp", '\u2002');
entities.Add ("emsp", '\u2003');
entities.Add ("thinsp", '\u2009');
entities.Add ("zwnj", '\u200C');
entities.Add ("zwj", '\u200D');
entities.Add ("lrm", '\u200E');
entities.Add ("rlm", '\u200F');
entities.Add ("ndash", '\u2013');
entities.Add ("mdash", '\u2014');
entities.Add ("lsquo", '\u2018');
entities.Add ("rsquo", '\u2019');
entities.Add ("sbquo", '\u201A');
entities.Add ("ldquo", '\u201C');
entities.Add ("rdquo", '\u201D');
entities.Add ("bdquo", '\u201E');
entities.Add ("dagger", '\u2020');
entities.Add ("Dagger", '\u2021');
entities.Add ("permil", '\u2030');
entities.Add ("lsaquo", '\u2039');
entities.Add ("rsaquo", '\u203A');
entities.Add ("euro", '\u20AC');
}
public HttpUtility ()
{
}
#endregion // Constructors
#region Methods
public static void HtmlAttributeEncode (string s, TextWriter output)
{
output.Write(HtmlAttributeEncode(s));
}
public static string HtmlAttributeEncode (string s)
{
if (null == s)
return null;
if (s.IndexOf ('&') == -1 && s.IndexOf ('"') == -1)
return s;
StringBuilder output = new StringBuilder ();
foreach (char c in s)
switch (c) {
case '&' :
output.Append ("&amp;");
break;
case '"' :
output.Append ("&quot;");
break;
default:
output.Append (c);
break;
}
return output.ToString();
}
public static string UrlDecode (string str)
{
return UrlDecode(str, Encoding.UTF8);
}
private static char [] GetChars (MemoryStream b, Encoding e)
{
return e.GetChars (b.GetBuffer (), 0, (int) b.Length);
}
public static string UrlDecode (string s, Encoding e)
{
if (null == s)
return null;
if (s.IndexOf ('%') == -1 && s.IndexOf ('+') == -1)
return s;
if (e == null)
e = Encoding.UTF8;
StringBuilder output = new StringBuilder ();
long len = s.Length;
NumberStyles hexa = NumberStyles.HexNumber;
MemoryStream bytes = new MemoryStream ();
for (int i = 0; i < len; i++) {
if (s [i] == '%' && i + 2 < len) {
if (s [i + 1] == 'u' && i + 5 < len) {
if (bytes.Length > 0) {
output.Append (GetChars (bytes, e));
bytes.SetLength (0);
}
output.Append ((char) Int32.Parse (s.Substring (i + 2, 4), hexa));
i += 5;
} else {
bytes.WriteByte ((byte) Int32.Parse (s.Substring (i + 1, 2), hexa));
i += 2;
}
continue;
}
if (bytes.Length > 0) {
output.Append (GetChars (bytes, e));
bytes.SetLength (0);
}
if (s [i] == '+') {
output.Append (' ');
} else {
output.Append (s [i]);
}
}
if (bytes.Length > 0) {
output.Append (GetChars (bytes, e));
}
bytes = null;
return output.ToString ();
}
public static string UrlDecode (byte [] bytes, Encoding e)
{
if (bytes == null)
return null;
return UrlDecode (bytes, 0, bytes.Length, e);
}
private static int GetInt (byte b)
{
char c = Char.ToUpper ((char) b);
if (c >= '0' && c <= '9')
return c - '0';
if (c < 'A' || c > 'F')
return 0;
return (c - 'A' + 10);
}
private static char GetChar (byte [] bytes, int offset, int length)
{
int value = 0;
int end = length + offset;
for (int i = offset; i < end; i++)
value = (value << 4) + GetInt (bytes [offset]);
return (char) value;
}
public static string UrlDecode (byte [] bytes, int offset, int count, Encoding e)
{
if (bytes == null || count == 0)
return null;
if (bytes == null)
throw new ArgumentNullException ("bytes");
if (offset < 0 || offset > bytes.Length)
throw new ArgumentOutOfRangeException ("offset");
if (count < 0 || offset + count > bytes.Length)
throw new ArgumentOutOfRangeException ("count");
StringBuilder output = new StringBuilder ();
MemoryStream acc = new MemoryStream ();
int end = count + offset;
for (int i = offset; i < end; i++) {
if (bytes [i] == '%' && i + 2 < count) {
if (bytes [i + 1] == (byte) 'u' && i + 5 < end) {
if (acc.Length > 0) {
output.Append (GetChars (acc, e));
acc.SetLength (0);
}
output.Append (GetChar (bytes, offset + 2, 4));
i += 5;
} else {
acc.WriteByte ((byte) GetChar (bytes, offset + 1, 2));
i += 2;
}
continue;
}
if (acc.Length > 0) {
output.Append (GetChars (acc, e));
acc.SetLength (0);
}
if (bytes [i] == '+') {
output.Append (' ');
} else {
output.Append ((char) bytes [i]);
}
}
if (acc.Length > 0) {
output.Append (GetChars (acc, e));
}
acc = null;
return output.ToString ();
}
public static byte [] UrlDecodeToBytes (byte [] bytes)
{
if (bytes == null)
return null;
return UrlDecodeToBytes (bytes, 0, bytes.Length);
}
public static byte [] UrlDecodeToBytes (string str)
{
return UrlDecodeToBytes (str, Encoding.UTF8);
}
public static byte [] UrlDecodeToBytes (string str, Encoding e)
{
if (str == null)
return null;
if (e == null)
throw new ArgumentNullException ("e");
return UrlDecodeToBytes (e.GetBytes (str));
}
public static byte [] UrlDecodeToBytes (byte [] bytes, int offset, int count)
{
if (bytes == null)
return null;
int len = bytes.Length;
if (offset < 0 || offset >= len)
throw new ArgumentOutOfRangeException("offset");
if (count < 0 || offset > len - count)
throw new ArgumentOutOfRangeException("count");
MemoryStream result = new MemoryStream ();
int end = offset + count;
for (int i = offset; i < end; i++){
char c = (char) bytes [i];
if (c == '+')
c = ' ';
else if (c == '%' && i < end - 2) {
c = GetChar (bytes, i, 2);
i += 2;
}
result.WriteByte ((byte) c);
}
return result.ToArray ();
}
public static string UrlEncode(string str)
{
return UrlEncode(str, Encoding.UTF8);
}
public static string UrlEncode (string s, Encoding Enc)
{
if (s == null)
return null;
if (s == "")
return "";
byte [] bytes = Enc.GetBytes (s);
byte [] b =UrlEncodeToBytes (bytes, 0, bytes.Length);
return Encoding.ASCII.GetString (b,0,b.Length);
}
public static string UrlEncode (byte [] bytes)
{
if (bytes == null)
return null;
if (bytes.Length == 0)
return "";
byte []b=UrlEncodeToBytes(bytes, 0, bytes.Length);
return Encoding.ASCII.GetString (b,0,b.Length);
}
public static string UrlEncode (byte [] bytes, int offset, int count)
{
if (bytes == null)
return null;
if (bytes.Length == 0)
return "";
byte []b=UrlEncodeToBytes(bytes, offset, count);
return Encoding.ASCII.GetString (b,0,b.Length);
}
public static byte [] UrlEncodeToBytes (string str)
{
return UrlEncodeToBytes (str, Encoding.UTF8);
}
public static byte [] UrlEncodeToBytes (string str, Encoding e)
{
if (str == null)
return null;
if (str == "")
return new byte [0];
byte [] bytes = e.GetBytes (str);
return UrlEncodeToBytes (bytes, 0, bytes.Length);
}
public static byte [] UrlEncodeToBytes (byte [] bytes)
{
if (bytes == null)
return null;
if (bytes.Length == 0)
return new byte [0];
return UrlEncodeToBytes (bytes, 0, bytes.Length);
}
static char [] hexChars = "0123456789abcdef".ToCharArray ();
public static byte [] UrlEncodeToBytes (byte [] bytes, int offset, int count)
{
if (bytes == null)
return null;
int len = bytes.Length;
if (len == 0)
return new byte [0];
if (offset < 0 || offset >= len)
throw new ArgumentOutOfRangeException("offset");
if (count < 0 || count > len - offset)
throw new ArgumentOutOfRangeException("count");
MemoryStream result = new MemoryStream ();
int end = offset + count;
for (int i = offset; i < end; i++) {
char c = (char) bytes [i];
if ((c == ' ') || (c < '0' && c != '-' && c != '.') ||
(c < 'A' && c > '9') ||
(c > 'Z' && c < 'a' && c != '_') ||
(c > 'z')) {
result.WriteByte ((byte) '%');
int idx = ((int) c) >> 4;
result.WriteByte ((byte) hexChars [idx]);
idx = ((int) c) & 0x0F;
result.WriteByte ((byte) hexChars [idx]);
} else {
result.WriteByte ((byte) c);
}
}
return result.ToArray ();
}
public static string UrlEncodeUnicode (string str)
{
if (str == null)
return null;
StringBuilder result = new StringBuilder ();
int end = str.Length;
for (int i = 0; i < end; i++) {
int idx;
char c = str [i];
if (c > 255) {
result.Append ("%u");
idx = ((int) c) >> 24;
result.Append (hexChars [idx]);
idx = (((int) c) >> 16) & 0x0F;
result.Append (hexChars [idx]);
idx = (((int) c) >> 8) & 0x0F;
result.Append (hexChars [idx]);
idx = ((int) c) & 0x0F;
result.Append (hexChars [idx]);
continue;
}
if ((c == ' ') || (c < '0' && c != '-' && c != '.') ||
(c < 'A' && c > '9') ||
(c > 'Z' && c < 'a' && c != '_') ||
(c > 'z')) {
result.Append ('%');
idx = ((int) c) >> 4;
result.Append (hexChars [idx]);
idx = ((int) c) & 0x0F;
result.Append (hexChars [idx]);
continue;
}
result.Append (c);
}
return result.ToString ();
}
public static byte [] UrlEncodeUnicodeToBytes (string str)
{
if (str == null)
return null;
if (str == "")
return new byte [0];
return Encoding.ASCII.GetBytes (UrlEncodeUnicode (str));
}
/// <summary>
/// Decodes an HTML-encoded string and returns the decoded string.
/// </summary>
/// <param name="s">The HTML string to decode. </param>
/// <returns>The decoded text.</returns>
public static string HtmlDecode (string s)
{
if (s == null)
throw new ArgumentNullException ("s");
if (s.IndexOf ('&') == -1)
return s;
bool insideEntity = false; // used to indicate that we are in a potential entity
string entity = String.Empty;
StringBuilder output = new StringBuilder ();
int len = s.Length;
for (int i = 0; i < len; i++) {
char c = s [i];
switch (c) {
case '&' :
output.Append (entity);
entity = "&";
insideEntity = true;
break;
case ';' :
if (!insideEntity) {
output.Append (c);
break;
}
entity += c;
int length = entity.Length;
if (length >= 2 && entity[1] == '#' && entity[2] != ';')
entity = ((char) Int32.Parse (entity.Substring (2, entity.Length - 3))).ToString();
else if (length > 1 && Entities.ContainsKey (entity.Substring (1, entity.Length - 2)))
entity = Entities [entity.Substring (1, entity.Length - 2)].ToString ();
output.Append (entity);
entity = String.Empty;
insideEntity = false;
break;
default :
if (insideEntity)
entity += c;
else
output.Append (c);
break;
}
}
output.Append (entity);
return output.ToString ();
}
/// <summary>
/// Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream.
/// </summary>
/// <param name="s">The HTML string to decode</param>
/// <param name="output">The TextWriter output stream containing the decoded string. </param>
public static void HtmlDecode(string s, TextWriter output)
{
if (s != null)
output.Write (HtmlDecode (s));
}
/// <summary>
/// HTML-encodes a string and returns the encoded string.
/// </summary>
/// <param name="s">The text string to encode. </param>
/// <returns>The HTML-encoded text.</returns>
public static string HtmlEncode (string s)
{
if (s == null)
return null;
StringBuilder output = new StringBuilder ();
foreach (char c in s)
switch (c) {
case '&' :
output.Append ("&amp;");
break;
case '>' :
output.Append ("&gt;");
break;
case '<' :
output.Append ("&lt;");
break;
case '"' :
output.Append ("&quot;");
break;
default:
if ((int) c > 128) {
output.Append ("&#");
output.Append (((int) c).ToString ());
output.Append (";");
}
else
output.Append (c);
break;
}
return output.ToString ();
}
/// <summary>
/// HTML-encodes a string and sends the resulting output to a TextWriter output stream.
/// </summary>
/// <param name="s">The string to encode. </param>
/// <param name="output">The TextWriter output stream containing the encoded string. </param>
public static void HtmlEncode(string s, TextWriter output)
{
if (s != null)
output.Write (HtmlEncode (s));
}
#if NET_1_1
public string UrlPathEncode (string s)
{
if (s == null)
return null;
int idx = s.IndexOf ("?");
string s2 = null;
if (idx != -1) {
s2 = s.Substring (0, idx-1);
s2 = UrlEncode (s2) + s.Substring (idx);
} else {
s2 = UrlEncode (s);
}
return s2;
}
#endif
#endregion // Methods
}
}

View File

@@ -1,322 +0,0 @@
using System;
using System.Diagnostics;
using System.Collections;
using HtmlHelp.ChmDecoding;
namespace HtmlHelp
{
/// <summary>
/// Enumeration for specifying the index type
/// </summary>
public enum IndexType
{
/// <summary>
/// Keyword links should be used
/// </summary>
KeywordLinks = 0,
/// <summary>
/// Associative links should be used
/// </summary>
AssiciativeLinks = 1
}
/// <summary>
/// The class <c>Index</c> holds the (keyword links) KLinks and (associative links) ALinks of the htmlhelp
/// system. It implements methods for easy index-based searching.
/// </summary>
public class Index
{
private ArrayList _kLinks = new ArrayList();
private ArrayList _aLinks = new ArrayList();
/// <summary>
/// Standard constructor
/// </summary>
public Index()
{
}
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="kLinks">arraylist with keyword links</param>
/// <param name="aLinks">arraylist with associative links</param>
public Index(ArrayList kLinks, ArrayList aLinks)
{
_kLinks= kLinks;
_aLinks = aLinks;
}
/// <summary>
/// Clears the current toc
/// </summary>
public void Clear()
{
if(_aLinks != null)
_aLinks.Clear();
if(_kLinks != null)
_kLinks.Clear();
}
/// <summary>
/// Gets the number of index items for a specific type
/// </summary>
/// <param name="typeOfIndex">type of index</param>
/// <returns>Returns the number of index items for a specific type</returns>
public int Count(IndexType typeOfIndex)
{
ArrayList _index = null;
switch( typeOfIndex )
{
case IndexType.AssiciativeLinks: _index = _aLinks; break;
case IndexType.KeywordLinks: _index = _kLinks; break;
}
if(_index != null)
return _index.Count;
return 0;
}
/// <summary>
/// Gets the internal index list of keyword links
/// </summary>
public ArrayList KLinks
{
get
{
if(_kLinks==null)
_kLinks = new ArrayList();
return _kLinks;
}
}
/// <summary>
/// Gets the internal index list of associative links
/// </summary>
public ArrayList ALinks
{
get
{
if(_aLinks==null)
_aLinks = new ArrayList();
return _aLinks;
}
}
/// <summary>
/// Merges the the index list <c>arrIndex</c> into the current one
/// </summary>
/// <param name="arrIndex">indexlist which should be merged with the current one</param>
/// <param name="typeOfIndex">type of index to merge</param>
public void MergeIndex( ArrayList arrIndex, IndexType typeOfIndex )
{
ArrayList _index = null;
switch(typeOfIndex)
{
case IndexType.AssiciativeLinks: _index = _aLinks;break;
case IndexType.KeywordLinks: _index = _kLinks;break;
}
foreach(IndexItem curItem in arrIndex)
{
//IndexItem searchItem = ContainsIndex(_index, curItem.KeyWordPath);
int insertIndex=0;
IndexItem searchItem = BinSearch(0, _index.Count-1, _index, curItem.KeyWordPath, false, false, ref insertIndex);
if(searchItem != null)
{
// extend the keywords topics
foreach(IndexTopic curEntry in curItem.Topics)
{
searchItem.Topics.Add( curEntry );
}
}
else
{
// add the item to the global collection
//_index.Add( curItem );
if(insertIndex > _index.Count)
_index.Add(curItem);
else
_index.Insert(insertIndex, curItem);
}
}
}
/// <summary>
/// Searches an index entry using recursive binary search algo (divide and conquer).
/// </summary>
/// <param name="nStart">start index for searching</param>
/// <param name="nEnd">end index for searching</param>
/// <param name="arrIndex">arraylist containing sorted IndexItem entries</param>
/// <param name="keywordPath">keyword path to search</param>
/// <param name="searchKeyword">true if the keywordPath will only contain the keyword not the complete path</param>
/// <param name="caseInsensitive">True if case should be ignored</param>
/// <param name="insertIndex">out reference. will receive the index where the item with the
/// keywordPath should be inserted if not found (receives -1 if the item was found)</param>
/// <returns>Returns an IndexItem instance if found, otherwise null
/// (use insertIndex for inserting the new item in a sorted order)</returns>
private IndexItem BinSearch(int nStart, int nEnd, ArrayList arrIndex, string keywordPath,
bool searchKeyword, bool caseInsensitive, ref int insertIndex)
{
if( arrIndex.Count <= 0 )
{
insertIndex=0;
return null;
}
if(caseInsensitive)
keywordPath = keywordPath.ToLower();
if( (nEnd - nStart) > 1)
{
int nCheck = nStart + (nEnd-nStart)/2;
IndexItem iC = arrIndex[nCheck] as IndexItem;
string sCompare = iC.KeyWordPath;
if(searchKeyword)
sCompare = iC.KeyWord;
if(caseInsensitive)
sCompare = sCompare.ToLower();
if( sCompare == keywordPath )
{
insertIndex=-1;
return iC;
}
if( keywordPath.CompareTo(sCompare) < 0 )
{
return BinSearch(nStart, nCheck-1, arrIndex, keywordPath, searchKeyword, caseInsensitive, ref insertIndex);
}
if( keywordPath.CompareTo(sCompare) > 0 )
{
return BinSearch(nCheck+1, nEnd, arrIndex, keywordPath, searchKeyword, caseInsensitive, ref insertIndex);
}
}
else if(nEnd-nStart == 1)
{
IndexItem i1 = arrIndex[nStart] as IndexItem;
IndexItem i2 = arrIndex[nEnd] as IndexItem;
string sCompare1 = i1.KeyWordPath;
if(searchKeyword)
sCompare1 = i1.KeyWord;
if(caseInsensitive)
sCompare1 = sCompare1.ToLower();
string sCompare2 = i2.KeyWordPath;
if(searchKeyword)
sCompare2 = i2.KeyWord;
if(caseInsensitive)
sCompare2 = sCompare2.ToLower();
if( sCompare1 == keywordPath)
{
insertIndex = -1;
return i1;
}
if( sCompare2 == keywordPath)
{
insertIndex = -1;
return i2;
}
if( sCompare1.CompareTo(keywordPath) > 0)
{
insertIndex = nStart;
return null;
}
else if( sCompare2.CompareTo(keywordPath) > 0)
{
insertIndex = nEnd;
return null;
}
else
{
insertIndex = nEnd+1;
}
}
IndexItem itm = arrIndex[nEnd] as IndexItem;
string sCompareI = itm.KeyWordPath;
if(searchKeyword)
sCompareI = itm.KeyWord;
if(caseInsensitive)
sCompareI = sCompareI.ToLower();
if( sCompareI.CompareTo(keywordPath) > 0)
{
insertIndex = nStart;
return null;
}
else if( sCompareI.CompareTo(keywordPath) < 0)
{
insertIndex = nEnd+1;
return null;
}
else
{
insertIndex = -1;
return arrIndex[nEnd] as IndexItem;
}
}
/// <summary>
/// Checks if a keyword exists in a index collection
/// </summary>
/// <param name="arrIndex">index to search (arraylist of IndexItems)</param>
/// <param name="keywordPath">keywordpath to search</param>
/// <returns>Returns the found IndexItem, otherwise null</returns>
private IndexItem ContainsIndex(ArrayList arrIndex, string keywordPath)
{
foreach(IndexItem curItem in arrIndex)
{
if(curItem.KeyWordPath == keywordPath)
return curItem;
}
return null;
}
/// <summary>
/// Searches the alinks- or klinks-index for a specific keyword/associative
/// </summary>
/// <param name="search">keyword/associative to search</param>
/// <param name="typeOfIndex">type of index to search</param>
/// <returns>Returns an ArrayList which contains IndexTopic items or null if nothing was found</returns>
public IndexItem SearchIndex(string search, IndexType typeOfIndex)
{
ArrayList _index = null;
switch( typeOfIndex )
{
case IndexType.AssiciativeLinks: _index = _aLinks;break;
case IndexType.KeywordLinks: _index = _kLinks;break;
}
int insertIdx=0;
IndexItem foundItem = BinSearch(0, _index.Count, _index, search, true, true, ref insertIdx);
return foundItem;
}
}
}

View File

@@ -1,396 +0,0 @@
using System;
using System.IO;
using System.Text;
using System.Collections;
using HtmlHelp.ChmDecoding;
namespace HtmlHelp
{
/// <summary>
/// The class <c>IndexItem</c> implements an help-index item
/// </summary>
public sealed class IndexItem : IComparable
{
/// <summary>
/// Internal member storing the keyword
/// </summary>
private string _keyWord = "";
/// <summary>
/// Internal member storing all associated information type strings
/// </summary>
private ArrayList _infoTypeStrings = new ArrayList();
/// <summary>
/// Internal member storing the flag if this is a see-also keyword
/// </summary>
private bool _isSeeAlso = false;
/// <summary>
/// Internal member storing the indent of the keyword
/// </summary>
private int _indent = 0;
/// <summary>
/// Internal member storing the last index of the keyword in the seperated list
/// </summary>
private int _charIndex = 0;
/// <summary>
/// Internal member storing the entry index
/// </summary>
private int _entryIndex = 0;
/// <summary>
/// Internal member storing an array of see-also values
/// </summary>
private string[] _seeAlso = new string[0];
/// <summary>
/// Internal member storing an array of topic offsets
/// </summary>
private int[] _nTopics = new int[0];
/// <summary>
/// Internal member storing the topics
/// </summary>
private ArrayList _Topics = null;
/// <summary>
/// Associated CHMFile instance
/// </summary>
private CHMFile _chmFile = null;
/// <summary>
/// Internal flag specifying the chm file path
/// </summary>
private string _chmFileName = "";
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="chmFile">associated CHMFile instance</param>
/// <param name="keyWord">keyword</param>
/// <param name="isSeeAlso">true if it is a see-also keyword</param>
/// <param name="indent">indent of the entry</param>
/// <param name="charIndex">char index of the last keyword in the separated list</param>
/// <param name="entryIndex">index of the entry</param>
/// <param name="seeAlsoValues">string array with see-also values</param>
/// <param name="topicOffsets">integer array with topic offsets</param>
internal IndexItem(CHMFile chmFile, string keyWord, bool isSeeAlso, int indent, int charIndex, int entryIndex, string[] seeAlsoValues, int[] topicOffsets)
{
_chmFile = chmFile;
_chmFileName = _chmFile.ChmFilePath;
_keyWord = keyWord;
_isSeeAlso = isSeeAlso;
_indent = indent;
_charIndex = charIndex;
_entryIndex = entryIndex;
_seeAlso = seeAlsoValues;
_nTopics = topicOffsets;
}
/// <summary>
/// Standard constructor
/// </summary>
public IndexItem()
{
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
/// <param name="writeFileName">true if the chm filename should be written</param>
internal void Dump(ref BinaryWriter writer, bool writeFileName)
{
int i=0;
writer.Write(_keyWord);
writer.Write(_isSeeAlso);
writer.Write(_indent);
if(writeFileName)
writer.Write(_chmFileName);
writer.Write(_infoTypeStrings.Count);
for(i=0; i<_infoTypeStrings.Count; i++)
writer.Write( (_infoTypeStrings[i]).ToString() );
writer.Write(_seeAlso.Length);
for(i=0; i<_seeAlso.Length; i++)
{
if(_seeAlso[i] == null)
writer.Write("");
else
writer.Write( _seeAlso[i] );
}
writer.Write(Topics.Count);
for(i=0; i<Topics.Count; i++)
{
IndexTopic topic = ((IndexTopic)(Topics[i]));
topic.Dump(ref writer);
}
}
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
Dump(ref writer, false);
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
/// <param name="filesList">filelist from helpsystem</param>
internal bool ReadDump(ref BinaryReader reader, ArrayList filesList)
{
int i=0;
_keyWord = reader.ReadString();
_isSeeAlso = reader.ReadBoolean();
_indent = reader.ReadInt32();
_chmFileName = reader.ReadString();
foreach(CHMFile curFile in filesList)
{
if(curFile.ChmFilePath == _chmFileName)
{
_chmFile = curFile;
break;
}
}
if(_chmFile==null)
return false;
int nCnt = reader.ReadInt32();
for(i=0; i<nCnt; i++)
{
string sIT = reader.ReadString();
_infoTypeStrings.Add(sIT);
}
nCnt = reader.ReadInt32();
_seeAlso = new string[nCnt];
for(i=0; i<nCnt; i++)
{
_seeAlso[i] = reader.ReadString();
}
nCnt = reader.ReadInt32();
for(i=0; i<nCnt; i++)
{
IndexTopic topic = new IndexTopic("","","","");
topic.SetChmInfo( _chmFile.CompileFile, _chmFile.ChmFilePath);
topic.AssociatedFile = _chmFile;
topic.ReadDump(ref reader);
Topics.Add(topic);
}
return true;
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
int i=0;
_keyWord = reader.ReadString();
_isSeeAlso = reader.ReadBoolean();
_indent = reader.ReadInt32();
int nCnt = reader.ReadInt32();
for(i=0; i<nCnt; i++)
{
string sIT = reader.ReadString();
_infoTypeStrings.Add(sIT);
}
nCnt = reader.ReadInt32();
_seeAlso = new string[nCnt];
for(i=0; i<nCnt; i++)
{
_seeAlso[i] = reader.ReadString();
}
nCnt = reader.ReadInt32();
for(i=0; i<nCnt; i++)
{
IndexTopic topic = new IndexTopic("","","","");
topic.AssociatedFile = _chmFile;
topic.SetChmInfo( _chmFile.CompileFile, _chmFile.ChmFilePath);
topic.ReadDump(ref reader);
Topics.Add(topic);
}
}
#endregion
/// <summary>
/// Implements the compareto method which allows sorting.
/// </summary>
/// <param name="obj">object to compare to</param>
/// <returns>See <see cref="System.IComparable">IComparable.CompareTo()</see></returns>
public int CompareTo(object obj)
{
if( obj.GetType() == this.GetType() )
{
IndexItem cmp = (IndexItem)obj;
return this.KeyWordPath.CompareTo( cmp.KeyWordPath );
}
return 0;
}
/// <summary>
/// Gets/Sets the associated CHMFile instance
/// </summary>
internal CHMFile ChmFile
{
get { return _chmFile; }
set { _chmFile = value; }
}
/// <summary>
/// Gets the ArrayList which holds all information types/categories this item is associated
/// </summary>
internal ArrayList InfoTypeStrings
{
get { return _infoTypeStrings; }
}
/// <summary>
/// Adds a see-also string to the index item and marks it as see also item
/// </summary>
/// <param name="seeAlsoString">see also string to add</param>
internal void AddSeeAlso(string seeAlsoString)
{
string[] seeAlso = new string[ _seeAlso.Length +1 ];
for(int i=0; i<_seeAlso.Length; i++)
seeAlso[i] = _seeAlso[i];
seeAlso[_seeAlso.Length] = seeAlsoString;
_seeAlso = seeAlso;
_isSeeAlso = true;
}
/// <summary>
/// Gets/Sets the full keyword-path of this item ( ", " separated list)
/// </summary>
public string KeyWordPath
{
get { return _keyWord; }
set { _keyWord = value; }
}
/// <summary>
/// Gets the keyword of this item
/// </summary>
public string KeyWord
{
get
{
return _keyWord.Substring(_charIndex, _keyWord.Length-_charIndex);
}
}
/// <summary>
/// Gets the keyword of this item with prefixing indent spaces
/// </summary>
public string IndentKeyWord
{
get
{
string sKW = this.KeyWord;
StringBuilder sb = new StringBuilder("",this.Indent*3 + sKW.Length);
for(int i=0; i<this.Indent; i++)
sb.Append(" ");
sb.Append(sKW);
return sb.ToString();
}
}
/// <summary>
/// Gets/Sets the see-also flag of this item
/// </summary>
public bool IsSeeAlso
{
get { return _isSeeAlso; }
set { _isSeeAlso = value; }
}
/// <summary>
/// Gets/Sets the listbox indent for this item
/// </summary>
public int Indent
{
get { return _indent; }
set { _indent = value; }
}
/// <summary>
/// Gets/Sets the character index of an indent keyword
/// </summary>
public int CharIndex
{
get { return _charIndex; }
set { _charIndex = value; }
}
/// <summary>
/// Gets the see-also values of this item
/// </summary>
public string[] SeeAlso
{
get { return _seeAlso; }
}
/// <summary>
/// Gets an array with the associated topics
/// </summary>
public ArrayList Topics
{
get
{
if( _Topics == null )
{
if(IsSeeAlso)
{
_Topics = new ArrayList();
}
else
{
if( (_chmFile != null) && (_chmFile.TopicsFile != null) )
{
_Topics = new ArrayList();
for(int i=0; i<_nTopics.Length; i++)
{
IndexTopic newTopic = IndexTopic.FromTopicEntry((TopicEntry)_chmFile.TopicsFile.TopicTable[ _nTopics[i] ]);
newTopic.AssociatedFile = _chmFile;
_Topics.Add( newTopic );
}
}
else
{
_Topics = new ArrayList();
}
}
}
return _Topics;
}
}
}
}

View File

@@ -1,216 +0,0 @@
using System;
using System.IO;
using HtmlHelp.ChmDecoding;
namespace HtmlHelp
{
/// <summary>
/// The class <c>IndexTopic</c> implements an entry for the <see cref="IndexItem">IndexItem</see> topics list.
/// </summary>
public sealed class IndexTopic
{
private DataMode _topicMode = DataMode.TextBased;
private string _title="";
private string _local="";
private string _compileFile = "";
private string _chmPath = "";
private int _topicOffset = -1;
private CHMFile _associatedFile = null;
/// <summary>
/// Creates a new instance of the class based on an existing TopicEntry
/// </summary>
/// <param name="entry"></param>
internal static IndexTopic FromTopicEntry(TopicEntry entry)
{
return new IndexTopic(entry.EntryOffset, entry.ChmFile);
//return new IndexTopic( entry.Title, entry.Locale, entry.ChmFile.CompileFile, entry.ChmFile.ChmFilePath);
}
/// <summary>
/// Creates a new instance of the class (binary extraction mode)
/// </summary>
/// <param name="topicOffset">offset of the topic entry</param>
/// <param name="associatedFile">associated CHMFile instance</param>
internal IndexTopic(int topicOffset, CHMFile associatedFile)
{
_topicMode = DataMode.Binary;
_topicOffset = topicOffset;
_associatedFile = associatedFile;
}
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="Title">topic title</param>
/// <param name="local">topic local (content filename)</param>
/// <param name="compilefile">name of the chm file (location of topic)</param>
/// <param name="chmpath">path of the chm file</param>
public IndexTopic(string Title, string local, string compilefile, string chmpath)
{
_topicMode = DataMode.TextBased;
_title = Title;
_local = local;
_compileFile = compilefile;
_chmPath = chmpath;
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
writer.Write((int)_topicMode);
if(_topicMode==DataMode.TextBased)
{
writer.Write(_title);
writer.Write(_local);
}
else
{
writer.Write(_topicOffset);
}
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
_topicMode = (DataMode)reader.ReadInt32();
if(_topicMode==DataMode.TextBased)
{
_title = reader.ReadString();
_local = reader.ReadString();
}
else
{
_topicOffset = reader.ReadInt32();
}
}
#endregion
/// <summary>
/// Internally used to set the chm-finos when reading from dump store
/// </summary>
/// <param name="compilefile"></param>
/// <param name="chmpath"></param>
internal void SetChmInfo(string compilefile, string chmpath)
{
_compileFile = compilefile;
_chmPath = chmpath;
}
/// <summary>
/// Gets/Sets the associated CHMFile instance
/// </summary>
internal CHMFile AssociatedFile
{
get { return _associatedFile; }
set { _associatedFile = value; }
}
/// <summary>
/// Gets the topic title
/// </summary>
public string Title
{
get
{
if((_topicMode == DataMode.Binary )&&(_associatedFile!=null))
{
if( _topicOffset >= 0)
{
TopicEntry te = (TopicEntry) (_associatedFile.TopicsFile[_topicOffset]);
if(te != null)
{
return te.Title;
}
}
}
return _title;
}
}
/// <summary>
/// Gets the local (content filename)
/// </summary>
public string Local
{
get
{
if((_topicMode == DataMode.Binary )&&(_associatedFile!=null))
{
if( _topicOffset >= 0)
{
TopicEntry te = (TopicEntry) (_associatedFile.TopicsFile[_topicOffset]);
if(te != null)
{
return te.Locale;
}
}
}
return _local;
}
}
/// <summary>
/// Gets the compile file (location)
/// </summary>
public string CompileFile
{
get
{
if(_associatedFile != null)
return _associatedFile.CompileFile;
return _compileFile;
}
}
/// <summary>
/// Gets the chm file path
/// </summary>
public string ChmFilePath
{
get
{
if(_associatedFile != null)
return _associatedFile.ChmFilePath;
return _chmPath;
}
}
/// <summary>
/// Gets the url
/// </summary>
public string URL
{
get
{
string sL = Local;
if(sL.Length<=0)
return "";//"about:blank";
if( (sL.ToLower().IndexOf("http://") >= 0) ||
(sL.ToLower().IndexOf("https://") >= 0) ||
(sL.ToLower().IndexOf("mailto:") >= 0) ||
(sL.ToLower().IndexOf("ftp://") >= 0) ||
(sL.ToLower().IndexOf("ms-its:") >= 0))
return sL;
return HtmlHelpSystem.UrlPrefix + ChmFilePath + "::/" + sL;
}
}
}
}

View File

@@ -1,146 +0,0 @@
using System;
using System.IO;
namespace HtmlHelp
{
/// <summary>
/// Enumeration for specifying the mode of the information type
/// </summary>
public enum InformationTypeMode
{
/// <summary>
/// Inclusive information type. The user will be allowed to select from one or more information types.
/// </summary>
Inclusive = 0,
/// <summary>
/// Exclusive information type. The user will be allowed to choose only one information type within each category
/// </summary>
Exclusive = 1,
/// <summary>
/// Hidden information type. The user cannot see this information types (only for API calls).
/// </summary>
Hidden = 2
}
/// <summary>
/// The class <c>InformationType</c> implements a methods/properties for an information type.
/// </summary>
/// <remarks>Note: Information types and categories allow users to filter help contents.
/// They are only supported if using sitemap TOC and/or sitemap Index.</remarks>
public class InformationType
{
private string _name = "";
private string _description = "";
private InformationTypeMode _typeMode = InformationTypeMode.Inclusive;
private bool _isInCategory = false;
private int _referenceCount = 1;
/// <summary>
/// Standard constructor
/// </summary>
/// <remarks>the mode is set to InformationTypeMode.Inclusive by default</remarks>
public InformationType() : this("","")
{
}
/// <summary>
/// Standard constructor
/// </summary>
/// <param name="name">name of the information type</param>
/// <param name="description">description</param>
/// <remarks>the mode is set to InformationTypeMode.Inclusive by default</remarks>
public InformationType(string name, string description) : this(name, description, InformationTypeMode.Inclusive)
{
}
/// <summary>
/// Standard constructor
/// </summary>
/// <param name="name">name of the information type</param>
/// <param name="description">description</param>
/// <param name="mode">mode of the information type</param>
public InformationType(string name, string description, InformationTypeMode mode)
{
_name = name;
_description = description;
_typeMode = mode;
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
writer.Write( (int)_typeMode );
writer.Write( _name );
writer.Write( _description );
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
_typeMode = (InformationTypeMode)reader.ReadInt32();
_name = reader.ReadString();
_description = reader.ReadString();
}
#endregion
/// <summary>
/// Sets the flag if this information type is nested in at least one category
/// </summary>
/// <param name="newValue">true or false</param>
internal void SetCategoryFlag(bool newValue)
{
_isInCategory = newValue;
}
/// <summary>
/// Gets/Sets the reference count of this information type instance
/// </summary>
internal int ReferenceCount
{
get { return _referenceCount; }
set { _referenceCount = value; }
}
/// <summary>
/// Gets true if this information type is nested in at least one category
/// </summary>
public bool IsInCategory
{
get { return _isInCategory; }
}
/// <summary>
/// Gets/Sets the name of the information type
/// </summary>
public string Name
{
get { return _name; }
set { _name = value; }
}
/// <summary>
/// Gets/Sets the description of the information type
/// </summary>
public string Description
{
get { return _description; }
set { _name = value; }
}
/// <summary>
/// Gets/Sets the mode of the information type
/// </summary>
public InformationTypeMode Mode
{
get { return _typeMode; }
set { _typeMode = value; }
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,494 +0,0 @@
using System;
using System.IO;
using System.Collections;
using System.Windows.Forms;
using HtmlHelp.ChmDecoding;
namespace HtmlHelp
{
/// <summary>
/// The class <c>TOCItem</c> implements a toc-entry item
/// </summary>
public sealed class TOCItem
{
/// <summary>
/// Constant for standard folder (closed) image index (HH2 image list)
/// </summary>
public const int STD_FOLDER_HH2 = 4;
/// <summary>
/// Constant for standard folder (opened) image index (HH2 image list)
/// </summary>
public const int STD_FOLDER_OPEN_HH2 = 6;
/// <summary>
/// Constant for standard file image index (HH2 image list)
/// </summary>
public const int STD_FILE_HH2 = 16;
/// <summary>
/// Constant for standard folder (closed) image index (HH1 image list)
/// </summary>
public const int STD_FOLDER_HH1 = 0;
/// <summary>
/// Constant for standard folder (opened) image index (HH1 image list)
/// </summary>
public const int STD_FOLDER_OPEN_HH1 = 1;
/// <summary>
/// Constant for standard file image index (HH1 image list)
/// </summary>
public const int STD_FILE_HH1 = 10;
/// <summary>
/// Internal flag specifying the data extraction mode used for this item
/// </summary>
private DataMode _tocMode = DataMode.TextBased;
/// <summary>
/// Internal member storing the offset (only used in binary tocs)
/// </summary>
private int _offset = 0;
/// <summary>
/// Internal member storing the offset of the next item(only used in binary tocs)
/// </summary>
private int _offsetNext = 0;
/// <summary>
/// Internal member storing a merge link.
/// If the target file is in the merged files list of the CHM,
/// this item will be replaced with the target TOC or Topic, if not it will
/// be removed from TOC.
/// </summary>
private string _mergeLink = "";
/// <summary>
/// Internal member storing the toc name
/// </summary>
private string _name = "";
/// <summary>
/// Internal member storing the toc loca (content file)
/// </summary>
private string _local = "";
/// <summary>
/// Internal member storing all associated information type strings
/// </summary>
private ArrayList _infoTypeStrings = new ArrayList();
/// <summary>
/// Internal member storing the associated chm file
/// </summary>
private string _chmFile = "";
/// <summary>
/// Internal member storing the image index
/// </summary>
private int _imageIndex = -1;
/// <summary>
/// Internal member storing the offset of the associated topic entry (for binary tocs)
/// </summary>
private int _topicOffset = -1;
/// <summary>
/// Internal member storing the toc children
/// </summary>
private ArrayList _children = new ArrayList();
/// <summary>
/// Internal member storing the parameter collection
/// </summary>
private Hashtable _otherParams = new Hashtable();
/// <summary>
/// Internal member storing the associated chmfile object
/// </summary>
private CHMFile _associatedFile = null;
/// <summary>
/// Parent item
/// </summary>
private TOCItem _parent=null;
/// <summary>
/// Holds a pointer to the next item in the TOC
/// </summary>
public TOCItem Next=null;
/// <summary>
/// Holds a pointer to the previous item in the TOC
/// </summary>
public TOCItem Prev=null;
/// <summary>
/// Holds a pointer to the TreeNode where this TOC Item is used
/// </summary>
public System.Windows.Forms.TreeNode treeNode=null;
/// <summary>
/// Constructor of the class used during text-based data extraction
/// </summary>
/// <param name="name">name of the item</param>
/// <param name="local">local content file</param>
/// <param name="ImageIndex">image index</param>
/// <param name="chmFile">associated chm file</param>
public TOCItem(string name, string local, int ImageIndex, string chmFile)
{
_tocMode = DataMode.TextBased;
_name = name;
_local = local;
_imageIndex = ImageIndex;
_chmFile = chmFile;
}
/// <summary>
/// Constructor of the class used during binary data extraction
/// </summary>
/// <param name="topicOffset">offset of the associated topic entry</param>
/// <param name="ImageIndex">image index to use</param>
/// <param name="associatedFile">associated chm file</param>
public TOCItem(int topicOffset, int ImageIndex, CHMFile associatedFile)
{
_tocMode = DataMode.Binary;
_associatedFile = associatedFile;
_chmFile = associatedFile.ChmFilePath;
_topicOffset = topicOffset;
_imageIndex = ImageIndex;
}
/// <summary>
/// Standard constructor
/// </summary>
public TOCItem()
{
}
#region Data dumping
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
/// <param name="writeFilename">true if the chmfile name should be written</param>
internal void Dump(ref BinaryWriter writer, bool writeFilename)
{
writer.Write((int)_tocMode);
writer.Write(_topicOffset);
writer.Write(_name);
if((_tocMode == DataMode.TextBased)||(_topicOffset<0))
{
writer.Write(_local);
}
writer.Write(_imageIndex);
writer.Write(_mergeLink);
if(writeFilename)
writer.Write(_chmFile);
writer.Write(_infoTypeStrings.Count);
for(int i=0; i<_infoTypeStrings.Count; i++)
writer.Write( (_infoTypeStrings[i]).ToString() );
writer.Write(_children.Count);
for(int i=0; i<_children.Count; i++)
{
TOCItem child = ((TOCItem)(_children[i]));
child.Dump(ref writer, writeFilename);
}
}
/// <summary>
/// Dump the class data to a binary writer
/// </summary>
/// <param name="writer">writer to write the data</param>
internal void Dump(ref BinaryWriter writer)
{
Dump(ref writer, false);
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
/// <param name="readFilename">true if the chmfile name should be read</param>
internal void ReadDump(ref BinaryReader reader, bool readFilename)
{
int i=0;
_tocMode = (DataMode)reader.ReadInt32();
_topicOffset = reader.ReadInt32();
_name = reader.ReadString();
if((_tocMode == DataMode.TextBased)||(_topicOffset<0))
{
_local = reader.ReadString();
}
_imageIndex = reader.ReadInt32();
_mergeLink = reader.ReadString();
if(readFilename)
_chmFile = reader.ReadString();
int nCnt = reader.ReadInt32();
for(i=0; i<nCnt; i++)
{
string sIT = reader.ReadString();
_infoTypeStrings.Add(sIT);
}
nCnt = reader.ReadInt32();
if(_associatedFile != null)
_chmFile = _associatedFile.ChmFilePath;
for(i=0; i<nCnt; i++)
{
TOCItem child = new TOCItem();
child.AssociatedFile = _associatedFile;
child.ReadDump(ref reader, readFilename);
if(_associatedFile != null)
child.ChmFile = _associatedFile.ChmFilePath;
else if(!readFilename)
child.ChmFile = _chmFile;
child.Parent = this;
_children.Add(child);
if(child.MergeLink.Length > 0)
_associatedFile.MergLinks.Add(child);
}
}
/// <summary>
/// Reads the object data from a dump store
/// </summary>
/// <param name="reader">reader to read the data</param>
internal void ReadDump(ref BinaryReader reader)
{
ReadDump(ref reader, false);
}
#endregion
/// <summary>
/// Gets/Sets the data extraction mode with which this item was created.
/// </summary>
internal DataMode TocMode
{
get { return _tocMode; }
set { _tocMode = value; }
}
/// <summary>
/// Gets/Sets the offset of the associated topic entry
/// </summary>
internal int TopicOffset
{
get { return _topicOffset; }
set { _topicOffset = value; }
}
/// <summary>
/// Gets/Sets the associated CHMFile instance
/// </summary>
internal CHMFile AssociatedFile
{
get { return _associatedFile; }
set
{
_associatedFile = value;
}
}
/// <summary>
/// Gets/Sets the offset of the item.
/// </summary>
/// <remarks>Only used in binary tocs</remarks>
internal int Offset
{
get { return _offset; }
set { _offset = value; }
}
/// <summary>
/// Gets/Sets the offset of the next item.
/// </summary>
/// <remarks>Only used in binary tocs</remarks>
internal int OffsetNext
{
get { return _offsetNext; }
set { _offsetNext = value; }
}
/// <summary>
/// Gets the ArrayList which holds all information types/categories this item is associated
/// </summary>
internal ArrayList InfoTypeStrings
{
get { return _infoTypeStrings; }
}
/// <summary>
/// Gets/Sets the parent of this item
/// </summary>
public TOCItem Parent
{
get { return _parent; }
set { _parent = value; }
}
/// <summary>
/// Gets/Sets the mergelink for this item.
/// <b>You should not set the mergedlink by your own !</b>
/// This is only for loading merged CHMs.
/// </summary>
public string MergeLink
{
get { return _mergeLink; }
set { _mergeLink = value; }
}
/// <summary>
/// Gets/Sets the name of the item
/// </summary>
public string Name
{
get
{
if(_mergeLink.Length > 0)
return "";
if(_name.Length <= 0)
{
if((_tocMode == DataMode.Binary )&&(_associatedFile!=null))
{
if( _topicOffset >= 0)
{
TopicEntry te = (TopicEntry) (_associatedFile.TopicsFile[_topicOffset]);
if(te != null)
{
return te.Title;
}
}
}
}
return _name;
}
set
{
_name = value;
}
}
/// <summary>
/// Gets/Sets the local of the item
/// </summary>
public string Local
{
get
{
if(_mergeLink.Length > 0)
return "";
if(_local.Length <= 0)
{
if((_tocMode == DataMode.Binary )&&(_associatedFile!=null))
{
if( _topicOffset >= 0)
{
TopicEntry te = (TopicEntry) (_associatedFile.TopicsFile[_topicOffset]);
if(te != null)
{
return te.Locale;
}
}
}
}
return _local;
}
set { _local = value; }
}
/// <summary>
/// Gets/Sets the chm file
/// </summary>
public string ChmFile
{
get
{
if(_associatedFile!=null)
return _associatedFile.ChmFilePath;
return _chmFile;
}
set { _chmFile = value; }
}
/// <summary>
/// Gets the url for the webbrowser for this file
/// </summary>
public string Url
{
get
{
string sL = Local;
if( (sL.ToLower().IndexOf("http://") >= 0) ||
(sL.ToLower().IndexOf("https://") >= 0) ||
(sL.ToLower().IndexOf("mailto:") >= 0) ||
(sL.ToLower().IndexOf("ftp://") >= 0) ||
(sL.ToLower().IndexOf("ms-its:") >= 0))
return sL;
return HtmlHelpSystem.UrlPrefix + ChmFile + "::/" + sL;
}
}
/// <summary>
/// Gets/Sets the image index of the item
/// </summary>
/// <remarks>Set this to -1 for a default icon</remarks>
public int ImageIndex
{
get
{
if( _imageIndex == -1)
{
int nFolderAdd = 0;
if((_associatedFile != null) && (_associatedFile.ImageTypeFolder))
{
// get the value which should be added, to display folders instead of books
if(HtmlHelpSystem.UseHH2TreePics)
nFolderAdd = 8;
else
nFolderAdd = 4;
}
if( _children.Count > 0)
return (HtmlHelpSystem.UseHH2TreePics ? (STD_FOLDER_HH2+nFolderAdd) : (STD_FOLDER_HH1+nFolderAdd));
return (HtmlHelpSystem.UseHH2TreePics ? STD_FILE_HH2 : STD_FILE_HH1);
}
return _imageIndex;
}
set { _imageIndex = value; }
}
/// <summary>
/// Gets/Sets the children of this item.
/// </summary>
/// <remarks>Each entry in the ArrayList is of type TOCItem</remarks>
public ArrayList Children
{
get { return _children; }
set { _children = value; }
}
/// <summary>
/// Gets the internal hashtable storing all params
/// </summary>
public Hashtable Params
{
get { return _otherParams; }
}
}
}

View File

@@ -1,198 +0,0 @@
using System;
using System.Diagnostics;
using System.Collections;
using HtmlHelp.ChmDecoding;
namespace HtmlHelp
{
/// <summary>
/// The class <c>TableOfContents</c> holds the TOC of the htmlhelp system class.
/// </summary>
public class TableOfContents
{
private ArrayList _toc = new ArrayList();
/// <summary>
/// Standard constructor
/// </summary>
public TableOfContents()
{
}
/// <summary>
/// Constructor of the class
/// </summary>
/// <param name="toc"></param>
public TableOfContents(ArrayList toc)
{
_toc = toc;
}
/// <summary>
/// Gets the internal stored table of contents
/// </summary>
public ArrayList TOC
{
get { return _toc; }
}
/// <summary>
/// Clears the current toc
/// </summary>
public void Clear()
{
if(_toc!=null)
_toc.Clear();
}
/// <summary>
/// Gets the number of topics in the toc
/// </summary>
/// <returns>Returns the number of topics in the toc</returns>
public int Count()
{
if(_toc!=null)
return _toc.Count;
else
return 0;
}
/// <summary>
/// Merges the <c>arrToC</c> list to the one in this instance
/// </summary>
/// <param name="arrToC">the toc list which should be merged with the current one</param>
internal void MergeToC( ArrayList arrToC )
{
if(_toc==null)
_toc = new ArrayList();
MergeToC(_toc, arrToC, null);
}
/// <summary>
/// Merges the <c>arrToC</c> list to the one in this instance (called if merged files
/// were found in a CHM)
/// </summary>
/// <param name="arrToC">the toc list which should be merged with the current one</param>
/// <param name="openFiles">An arraylist of CHMFile instances.</param>
internal void MergeToC( ArrayList arrToC, ArrayList openFiles )
{
if(_toc==null)
_toc = new ArrayList();
MergeToC(_toc, arrToC, openFiles);
}
/// <summary>
/// Internal method for recursive toc merging
/// </summary>
/// <param name="globalLevel">level of global toc</param>
/// <param name="localLevel">level of local toc</param>
/// <param name="openFiles">An arraylist of CHMFile instances.</param>
private void MergeToC( ArrayList globalLevel, ArrayList localLevel, ArrayList openFiles )
{
foreach( TOCItem curItem in localLevel)
{
// if it is a part of the merged-links, we have to do nothing,
// because the method HtmlHelpSystem.RecalculateMergeLinks() has already
// placed this item at its correct position.
if(!IsMergedItem(curItem.Name, curItem.Local, openFiles))
{
TOCItem globalItem = ContainsToC(globalLevel, curItem.Name);
if(globalItem == null)
{
// the global toc doesn't have a topic with this name
// so we need to add the complete toc node to the global toc
globalLevel.Add( curItem );
}
else
{
// the global toc contains the current topic
// advance to the next level
if( (globalItem.Local.Length <= 0) && (curItem.Local.Length > 0) )
{
// set the associated url
globalItem.Local = curItem.Local;
globalItem.ChmFile = curItem.ChmFile;
}
MergeToC(globalItem.Children, curItem.Children);
}
}
}
}
/// <summary>
/// Checks if the item is part of the merged-links
/// </summary>
/// <param name="name">name of the topic</param>
/// <param name="local">local of the topic</param>
/// <param name="openFiles">An arraylist of CHMFile instances.</param>
/// <returns>Returns true if this item is part of the merged-links</returns>
private bool IsMergedItem(string name, string local, ArrayList openFiles)
{
if(openFiles==null)
return false;
foreach(CHMFile curFile in openFiles)
{
foreach(TOCItem curItem in curFile.MergLinks)
if( (curItem.Name == name) && (curItem.Local == local) )
return true;
}
return false;
}
/// <summary>
/// Checks if a topicname exists in a SINGLE toc level
/// </summary>
/// <param name="arrToC">toc list</param>
/// <param name="Topic">topic to search</param>
/// <returns>Returns the topic item if found, otherwise null</returns>
private TOCItem ContainsToC(ArrayList arrToC, string Topic)
{
foreach(TOCItem curItem in arrToC)
{
if(curItem.Name == Topic)
return curItem;
}
return null;
}
/// <summary>
/// Searches the table of contents for a special topic
/// </summary>
/// <param name="topic">topic to search</param>
/// <returns>Returns an instance of TOCItem if found, otherwise null</returns>
public TOCItem SearchTopic(string topic)
{
return SearchTopic(topic, _toc);
}
/// <summary>
/// Internal recursive tree search
/// </summary>
/// <param name="topic">topic to search</param>
/// <param name="searchIn">tree level list to look in</param>
/// <returns>Returns an instance of TOCItem if found, otherwise null</returns>
private TOCItem SearchTopic(string topic, ArrayList searchIn)
{
foreach(TOCItem curItem in searchIn)
{
if(curItem.Name.ToLower() == topic.ToLower() )
return curItem;
if(curItem.Children.Count>0)
{
TOCItem nf = SearchTopic(topic, curItem.Children);
if(nf != null)
return nf;
}
}
return null;
}
}
}

View File

@@ -1,32 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following
// attributes.
//
// change them to the information which is associated with the assembly
// you compile.
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):
[assembly: AssemblyVersion("1.0.*")]
// The following attributes specify the key for the sign of your assembly. See the
// .NET Framework documentation for more information about signing.
// This is not required, if you don't want signing let these attributes like they're.
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]

View File

@@ -1,200 +0,0 @@
// Adler32.cs - Computes Adler32 data checksum of a data stream
// Copyright (C) 2001 Mike Krueger
//
// This file was translated from java, it was part of the GNU Classpath
// Copyright (C) 1999, 2000, 2001 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// Linking this library statically or dynamically with other modules is
// making a combined work based on this library. Thus, the terms and
// conditions of the GNU General Public License cover the whole
// combination.
//
// As a special exception, the copyright holders of this library give you
// permission to link this library with independent modules to produce an
// executable, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting executable under
// terms of your choice, provided that you also meet, for each linked
// independent module, the terms and conditions of the license of that
// module. An independent module is a module which is not derived from
// or based on this library. If you modify this library, you may extend
// this exception to your version of the library, but you are not
// obligated to do so. If you do not wish to do so, delete this
// exception statement from your version.
using System;
namespace ICSharpCode.SharpZipLib.Checksums
{
/// <summary>
/// Computes Adler32 checksum for a stream of data. An Adler32
/// checksum is not as reliable as a CRC32 checksum, but a lot faster to
/// compute.
///
/// The specification for Adler32 may be found in RFC 1950.
/// ZLIB Compressed Data Format Specification version 3.3)
///
///
/// From that document:
///
/// "ADLER32 (Adler-32 checksum)
/// This contains a checksum value of the uncompressed data
/// (excluding any dictionary data) computed according to Adler-32
/// algorithm. This algorithm is a 32-bit extension and improvement
/// of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073
/// standard.
///
/// Adler-32 is composed of two sums accumulated per byte: s1 is
/// the sum of all bytes, s2 is the sum of all s1 values. Both sums
/// are done modulo 65521. s1 is initialized to 1, s2 to zero. The
/// Adler-32 checksum is stored as s2*65536 + s1 in most-
/// significant-byte first (network) order."
///
/// "8.2. The Adler-32 algorithm
///
/// The Adler-32 algorithm is much faster than the CRC32 algorithm yet
/// still provides an extremely low probability of undetected errors.
///
/// The modulo on unsigned long accumulators can be delayed for 5552
/// bytes, so the modulo operation time is negligible. If the bytes
/// are a, b, c, the second sum is 3a + 2b + c + 3, and so is position
/// and order sensitive, unlike the first sum, which is just a
/// checksum. That 65521 is prime is important to avoid a possible
/// large class of two-byte errors that leave the check unchanged.
/// (The Fletcher checksum uses 255, which is not prime and which also
/// makes the Fletcher check insensitive to single byte changes 0 -
/// 255.)
///
/// The sum s1 is initialized to 1 instead of zero to make the length
/// of the sequence part of s2, so that the length does not have to be
/// checked separately. (Any sequence of zeroes has a Fletcher
/// checksum of zero.)"
/// </summary>
/// <see cref="ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream"/>
/// <see cref="ICSharpCode.SharpZipLib.Zip.Compression.Streams.DeflaterOutputStream"/>
public sealed class Adler32 : IChecksum
{
/// <summary>
/// largest prime smaller than 65536
/// </summary>
readonly static uint BASE = 65521;
uint checksum;
/// <summary>
/// Returns the Adler32 data checksum computed so far.
/// </summary>
public long Value {
get {
return checksum;
}
}
/// <summary>
/// Creates a new instance of the <code>Adler32</code> class.
/// The checksum starts off with a value of 1.
/// </summary>
public Adler32()
{
Reset();
}
/// <summary>
/// Resets the Adler32 checksum to the initial value.
/// </summary>
public void Reset()
{
checksum = 1; //Initialize to 1
}
/// <summary>
/// Updates the checksum with the byte b.
/// </summary>
/// <param name="bval">
/// the data value to add. The high byte of the int is ignored.
/// </param>
public void Update(int bval)
{
//We could make a length 1 byte array and call update again, but I
//would rather not have that overhead
uint s1 = checksum & 0xFFFF;
uint s2 = checksum >> 16;
s1 = (s1 + ((uint)bval & 0xFF)) % BASE;
s2 = (s1 + s2) % BASE;
checksum = (s2 << 16) + s1;
}
/// <summary>
/// Updates the checksum with the bytes taken from the array.
/// </summary>
/// <param name="buffer">
/// buffer an array of bytes
/// </param>
public void Update(byte[] buffer)
{
Update(buffer, 0, buffer.Length);
}
/// <summary>
/// Updates the checksum with the bytes taken from the array.
/// </summary>
/// <param name="buf">
/// an array of bytes
/// </param>
/// <param name="off">
/// the start of the data used for this update
/// </param>
/// <param name="len">
/// the number of bytes to use for this update
/// </param>
public void Update(byte[] buf, int off, int len)
{
if (buf == null) {
throw new ArgumentNullException("buf");
}
if (off < 0 || len < 0 || off + len > buf.Length) {
throw new ArgumentOutOfRangeException();
}
//(By Per Bothner)
uint s1 = checksum & 0xFFFF;
uint s2 = checksum >> 16;
while (len > 0) {
// We can defer the modulo operation:
// s1 maximally grows from 65521 to 65521 + 255 * 3800
// s2 maximally grows by 3800 * median(s1) = 2090079800 < 2^31
int n = 3800;
if (n > len) {
n = len;
}
len -= n;
while (--n >= 0) {
s1 = s1 + (uint)(buf[off++] & 0xFF);
s2 = s2 + s1;
}
s1 %= BASE;
s2 %= BASE;
}
checksum = (s2 << 16) | s1;
}
}
}

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