Commit graph

31561 commits

Author SHA1 Message Date
ReactOS Portable Systems Group
87f76ea54b - Our resident GCC expert just informed me of an undocumented "enable Microsoft Compiler Extensions" flag that makes things like unnnamed members work.
- Apply the switch and remove our workaround hack.


svn path=/trunk/; revision=34614
2008-07-20 19:39:55 +00:00
Jeffrey Morlan
f956615435 In ConioConsoleCtrlEvent, don't wait for the thread to terminate; a misbehaving handler could hang CSRSS indefinitely that way. Testing on Windows shows that no waiting is done when Ctrl-C is pressed; however, there is a wait of up to 5 seconds when attempting to close the window, so add a comment in GuiConsoleHandleClose mentioning this.
svn path=/trunk/; revision=34613
2008-07-20 19:34:18 +00:00
ReactOS Portable Systems Group
840143e28a - Fix the way NlsOemLeadByteInfo is exported.
- Fix definition of PFAST_IO_UNLOCK_ALL_BY_KEY.
- Add IO_REPARSE and IO_REMOUNT definitions.
- Add IOCTL_CDROM_DISK_TYPE definition.
- Add FlagOn, BooleanFlagOn, SetFlag and ClearFlag definitions.
- Add FILE_READ_ONLY_VOLUME, FILE_SEQUENTIAL_WRITE_ONCE, FILE_SUPPORTS_TRANSACTIONS definitions.
- Add FSRTL_FLAG_ADVANCED_HEADER definition.
- Add FSRTL_FLAG2_PURGE_WHEN_MAPPED and FSRTL_FLAG2_IS_PAGING_FILE definitions.
- Add FILE_ID_FULL_DIR_INFORMATION and FILE_ID_BOTH_DIR_INFORMATION structures.
- Add FSRTL_FCB_HEADER_V0 and FSRTL_FCB_HEADER_V1 definitions.
- Add FSRTL_COMPARISION_RESULT enumeration.
- Add backwards compatibility support for non-AVL tree routines.
- Add RtlInsertElementGenericTableAvl, RtlDeleteElementGenericTableAvl, RtlLookupElementGenericTableAvl, RtlEnumerateGenericTableWithoutSplayingAvl prototypes.
- Add FsRtlSetupAdvancedHeader macro.
- Add FsRtlIsFatDbcsLegal prototype.
- Add FsRtlTeardownPerStreamContexts prototype.
- Add RtlFreeOemString, RtlOemStringToCountedUnicodeString, RtlUnicodeStringToCountedOemString, RtlOemToUnicodeN prototypes.
- Fix GenericTable prototypes in rtlfuncs.h
- It seems the ntoskrnl_i386.def exports file is totally incorrect with respect to mingw -- most FsRtl functions are not properly exported. We fixed the ones we need, someone needs to go fix this entire file.
- Add memcmp to the NTOS exports -- we're not entirely sure how you were even expecting 3rd party drivers to load in React?
- Fix FastFat's "VfatFastIoUnlockAllByKey" prototype to match the fixed up PFAST_IO_UNLOCK_ALL_BY_KEY definition.
- Clean-build-tested on i386.


svn path=/trunk/; revision=34611
2008-07-20 19:19:02 +00:00
Matthias Kupfer
f3ddaf8067 mark the current keyboard layout as checked (in popup menu)
svn path=/trunk/; revision=34610
2008-07-20 19:08:35 +00:00
Jeffrey Morlan
d9c376b18d Fix memory leak in vfwprintf: Don't change 'mem' pointer before freeing it.
svn path=/trunk/; revision=34609
2008-07-20 16:48:24 +00:00
ReactOS Portable Systems Group
b1e617cc6f - Write out all the IOCTLs the RAM Disk emulation core needs to handle.
- Looks like the React CDFS driver behaves very differently from the NT CDFS driver.


svn path=/trunk/; revision=34608
2008-07-20 16:13:19 +00:00
Matthias Kupfer
ba074059a5 Mario Kacmar <kario AT szm DOT sk>
- Slovak translation of several inf-files
- See #3518 for more details.

svn path=/trunk/; revision=34607
2008-07-20 14:58:35 +00:00
Matthias Kupfer
54ca4c3d3b - again, one more fix of damaged inf files
- please take care when committing this utf-16 files

svn path=/trunk/; revision=34606
2008-07-20 14:52:15 +00:00
ReactOS Portable Systems Group
9da9409da6 - Unlike NT, it seems React has a bug and does not automatically load the boot FS driver regardless of start type.
svn path=/trunk/; revision=34605
2008-07-20 06:36:27 +00:00
ReactOS Portable Systems Group
7158e5bfa9 - Fix the parameters we were sending to IoCreateDevice for our drive FDO.
- Now the kernel attempts to mount us through CDFS!
- Start stubbing the work we'll need to do in RamdiskDeviceControl -- this is where the emulation magic will happen.

svn path=/trunk/; revision=34604
2008-07-20 06:32:23 +00:00
ReactOS Portable Systems Group
3a6f964385 - Ramdisk doesn't seem to work yet, we're not getting properly initialized yet.
- We end up crashing in CcRosTryToInitialzeFileCache because there is no SectionObjectPointer, and it is assumed this always exists.
- We need to verify if this is truly the case -- in either case, add an ASSERT, since all assumptions should be ASSERTed!

svn path=/trunk/; revision=34603
2008-07-20 04:40:27 +00:00
ReactOS Portable Systems Group
14ea158446 - Finish implementing RamdiskCreateDiskDevice -- we should now have a working ramdisk drive that should receive read/write requests.
svn path=/trunk/; revision=34602
2008-07-20 04:39:01 +00:00
ReactOS Portable Systems Group
54694096a1 - Looks like this FIXME was fixed.
svn path=/trunk/; revision=34601
2008-07-20 04:38:26 +00:00
Art Yerkes
5ba974a93f Patch by Cameron Gutman (aicommander <at> gmail <dot> com)
- Fixes some issues with releasing locks
- Verify that we have an MDL before trying to unlock it

svn path=/trunk/; revision=34600
2008-07-20 04:33:53 +00:00
Sylvain Petreolle
f2db1bc11f french translation for media/inf files
svn path=/trunk/; revision=34598
2008-07-20 00:44:09 +00:00
ReactOS Portable Systems Group
df5fe4469c - Fixup some more structure and prototype details to make more sense.
- Start building the drive FDO extension by capturing most of the input data and our strings.

svn path=/trunk/; revision=34597
2008-07-19 22:42:18 +00:00
ReactOS Portable Systems Group
1176b541f6 - Create the RAM Disk Drive Device Object.
- Create the name for it, based on the GUID sent by the kernel.
- Create the DOS Device Symbolic Link if requested and if possible.
- Create the DOS Drive Letter if requested.
- (drivers/storage/class/ramdisk/ramdisk.c:440) Creating symbolic link: \DosDevices\C: to \Device\Ramdisk{d9b257fc-684e-4dcb-79ab-f6a2cf0350b7}
- Need to continue implementing..


svn path=/trunk/; revision=34596
2008-07-19 22:21:38 +00:00
ReactOS Portable Systems Group
8ee4e020f8 - Implement the main RamdiskWorkerThread work loop.
- Now we have to implement RamdiskCreateDiskDevice for real.

svn path=/trunk/; revision=34594
2008-07-19 21:19:41 +00:00
ReactOS Portable Systems Group
71bada1343 - We break your build, you break ours...
svn path=/trunk/; revision=34593
2008-07-19 21:04:31 +00:00
ReactOS Portable Systems Group
5bcb1c6a0e - Usually a good idea to fill out the device relation count instead of leaving it uninitailized to 2 billion.
- Fixes all the ramdisk problems -- need to implement RamdiskWorkerThread now.

svn path=/trunk/; revision=34592
2008-07-19 20:57:31 +00:00
ReactOS Portable Systems Group
46eda1013c - No, it isn't "ramdisk" that's misbehaving, it's your code. PnP needs to handle BusRelations instead of ignoring them.
svn path=/trunk/; revision=34591
2008-07-19 20:55:49 +00:00
ReactOS Portable Systems Group
910b3242e7 - It doesn't make sense to dereference an I/O Work Item... did you perhaps mean to dereference the device object?
- Fixes a crash when IoInvalidateRelations is called, as well as a reference leak.


svn path=/trunk/; revision=34590
2008-07-19 20:52:52 +00:00
ReactOS Portable Systems Group
fd5bd1942d - Seperate the Ramdisk device extension into the Bus Device Extension and the Drive Device Extension.
- Rename the device types to Bus vs Drive, not FDO vs PDO (they're both FDOs).
- Use a common extension (the first 0x60 bytes or so) between Bus and Drive devices.
- Implement first pass of RamdiskCreateDiskDevice -- doesn't create anything, just validates the parameters.
- Implement our delayed work queue for handling requests asynchronously -- SendIrpToThread. Doesn't do anything for now.
- Implement RamdiskQueryDeviceRelations... not sure if we're doing the right thing. According to PnP, we get a warning that we are "misbehaving".
- Driver seems to crash right now, needs fixes.
- Some reformatting to make more lines fit inside 80 characters so it looks nice in joe.


svn path=/trunk/; revision=34589
2008-07-19 18:44:31 +00:00
Matthias Kupfer
aa4af5693a Display of ReactOS bitmap implemented.
svn path=/trunk/; revision=34588
2008-07-19 17:20:20 +00:00
Pierre Schweitzer
909b7f0308 Fixed i386 build
svn path=/trunk/; revision=34586
2008-07-19 08:04:47 +00:00
ReactOS Portable Systems Group
49de00587a - Implement DebugService2, but don't make it do anything yet.
- Add ATTEMPTED_SWITCH_FROM_DPC bugcheck code.


svn path=/trunk/; revision=34585
2008-07-19 06:53:36 +00:00
ReactOS Portable Systems Group
c0cde8777b - Enable interrupts after probing and capturing parameters during a system call.
- Enable WFI during idle loop.
- Implement undefined exception handler, and get rid of reserved exception code -- this will never happen except for an SoC bug.
- Request an APC interrupt if the new thread we context switched to has APCs pending and enabled.
- Perform DPC watchdog debugging code if a DPC lasted more than a second.
- Do the appropriate bugcheck if DPCs are active during a context switch.
- Go over the FIXMEs in the assembly files too, and create a new FIXME-PERF category.


svn path=/trunk/; revision=34584
2008-07-19 06:53:03 +00:00
ReactOS Portable Systems Group
b95845bf85 - Cleanup some stray header issues for ARM.
- Separate kernel FIXMEs into clearer groupings:
  - TODO FIXMEs are highest priority, as they are missing required functionality.
  - USER FIXMEs are the next highest priority, since they will be required for user mode support.
  - V6 FIXMEs and future groupings are lowest priority, since they relate to hardware support we don't care about for now.


svn path=/trunk/; revision=34583
2008-07-19 06:13:10 +00:00
James Tabor
7272eb9108 Move NUMC defines to FNIDs.
svn path=/trunk/; revision=34582
2008-07-19 03:49:48 +00:00
Timo Kreuzer
8bbca850f6 RtlpCreateCriticalSectionSem: use InterlockedCompareExchangePointer instead of InterlockedCompareExchange for a handle
svn path=/trunk/; revision=34581
2008-07-18 23:47:33 +00:00
Matthias Kupfer
8fddba3256 Mario Kacmar <kario AT szm DOT sk>
- Enhancement for basic Slovak keyboard layout added.
- See #1251 for more details.

svn path=/trunk/; revision=34580
2008-07-18 21:08:52 +00:00
Matthias Kupfer
98ecafb85f Mario Kacmar <kario AT szm DOT sk>
- Enhancement for Slovak keyboard layout (QWERTY) added.
- See #3528 for more details.

svn path=/trunk/; revision=34579
2008-07-18 21:05:40 +00:00
Matthias Kupfer
820054b030 Mario Kacmar <kario AT szm DOT sk>
- Slovak and Czech translation of several rc-files
- See #3519 for more details.

svn path=/trunk/; revision=34578
2008-07-18 20:58:09 +00:00
Klemens Friedl
50147b7f55 * update GUI interface, according to http://www.reactos.org/wiki/index.php/First_Stage_GUI_Setup
svn path=/trunk/; revision=34576
2008-07-18 19:35:03 +00:00
James Tabor
ce85b4a0f3 Update WinUser, CWPRETSTRUCT and MOUSEHOOKSTRUCTEX.
svn path=/trunk/; revision=34575
2008-07-18 18:09:12 +00:00
Art Yerkes
747d575347 Patch by Cameron Gutman (aicommander <at> gmail <dot> com)
- Reenable spinlocks in MiniIndicateData
- Don't raise IRQL when calling MiniDoRequest

svn path=/trunk/; revision=34574
2008-07-18 11:19:29 +00:00
Matthias Kupfer
11f2456fdf - gui template for 1st stage setup, english only
- implemented, but still disabled - it's work in progress

svn path=/trunk/; revision=34572
2008-07-18 09:07:54 +00:00
Stefan Ginsberg
90f3efacc5 - Patch from Samuel "encoded" Serapion (samdwise51 at gmail dot com)
- Use "size_t" instead of "unsigned int" where appropriate

svn path=/trunk/; revision=34570
2008-07-17 22:25:03 +00:00
Stefan Ginsberg
7c9bd27915 - Fix a typo in the DC_ATTR structure: mxDevicetoWorld -> mxDeviceToWorld
svn path=/trunk/; revision=34569
2008-07-17 21:54:40 +00:00
Jeffrey Morlan
b4db43fa7b Clean up console code a bit:
- Get/SetConsoleTitle: Get rid of unnecessary handle creation; instead, just have csrss get the console from the ProcessData.
- Instead of using ShowX/ShowY to store the origin of the buffer, use the VirtualX member that was put there for this purpose. Rename it to VirtualY, though, since it's a row number. ShowX/ShowY should hold the position of the visible window, once that's implemented.
- From the CSRSS_CONSOLE structure: remove hActiveBuffer (redundant), CodePageId (unused), and hWindowIcon (only used as a temporary)
- Make cursor coordinates be "logical", not "physical". This simplifies various things.
- ConioConsoleFromProcessData: If process has no console, return STATUS_INVALID_HANDLE; don't pretend to succeed (causing many functions to access memory around address 0, which is probably not a good thing). Remove various Console != NULL checks which are now unnecessary.

svn path=/trunk/; revision=34568
2008-07-17 21:53:39 +00:00
Art Yerkes
ecdd55845d Patch by Cameron Gutman (aicommander <at> gmail <dot> com)
- Don't mess with cancelled IRPs
- Don't attempt to cancel an already cancelled IRP
- Unmap MDL when then IRP gets completed

svn path=/trunk/; revision=34567
2008-07-17 19:42:26 +00:00
Jeffrey Morlan
846c750785 Fix argument parsing for label command. It should not split the arguments by spaces; on Windows you can do 'label c:x y z' and it will set the label to X Y Z. (Bug 3530 #2)
svn path=/trunk/; revision=34566
2008-07-17 16:46:09 +00:00
Stefan Ginsberg
c7ed95cb55 - Patch by Cameron Gutman aicommander <at> gmail <dot> com
- Don't release the device spinlock twice if KeSynchronizeExecution returns false
See issue #3520 for more details.

svn path=/trunk/; revision=34564
2008-07-17 14:43:36 +00:00
Stefan Ginsberg
03c3603a3d -PCHify OpenGL32
svn path=/trunk/; revision=34562
2008-07-17 11:37:49 +00:00
Christoph von Wittich
30feb7b285 fix for getaddrinfo
patch by Yuri Sidorov <jura at cp-lab dot com>

svn path=/trunk/; revision=34560
2008-07-17 08:07:37 +00:00
Jeffrey Morlan
c1e4ff95a4 - CsrReleaseObject: Fix locking to prevent possibility of closing the same handle twice.
- GuiConsolePaint: Clip the paint area to the screen buffer, to stop heap corruption if the window gets oversized.
- ConioDeleteConsole: Do decrement the active screen buffer's refcount, but only after calling ConioCleanupConsole to destroy the window.
- Remove Win32CsrInsertObject. This function did two unrelated things (initialize lock and create handle), but in the only place it was used (CsrCreateScreenBuffer) the lock had already been initialized in CsrInitConsoleScreenBuffer, so this use was erroneous.
- Rename Win32CsrInsertObject2 (creates handle only) to Win32CsrInsertObject.

svn path=/trunk/; revision=34559
2008-07-16 23:16:40 +00:00
Colin Finck
f776a00eeb Commit my test suite I used for verifying the behaviours of wctomb, wcstombs and WideCharToMultiByte and writing the reimplementations for ReactOS on request of Stefan
svn path=/trunk/; revision=34558
2008-07-16 22:08:58 +00:00
Colin Finck
248d39652c - Remove 2 wrong versions of wctomb and 2 wrong versions of wcstombs
- Implement new versions of wctomb and wcstombs, which consider the language set by setlocale() and work according to all behaviours I could find when testing under WinXP SP2.
  This was tested with an own test suite (which I can commit as well if anyone is interested)
- Do a real conversion to MultiByte characters using wctomb in fputwc and vfwprintf. (verified under WinXP SP2)
- Set 'MSVCRT___lc_codepage' and 'MSVCRT___lc_collate_cp' to 1252 by default ("C" locale) and not the current active codepage (which might not work with i.e. Eastern codepages)
- Add a new check for 'MultiByteCount < 0' to WideCharToMultiByte (also verified under WinXP SP2)
- Change MB_LEN_MAX back to 2, the value 5 only applies to newer CRT's (msvcrt only handles single-byte and double-byte characters)
- Don't compile the Wine-imported 'wcscpy_s', it isn't available in msvcrt

svn path=/trunk/; revision=34557
2008-07-16 21:40:09 +00:00
Matthias Kupfer
d37dc48ec3 add new Slovak keyboard layout to first stage setup list
svn path=/trunk/; revision=34556
2008-07-16 21:21:21 +00:00
Timo Kreuzer
ea50e3e05c FLOATOBJ is a structure only on x86 in kernelmode, for usermode drivers and other architectures it's a FLOAT. Update winddi.h accordingly.
svn path=/trunk/; revision=34555
2008-07-16 21:12:27 +00:00