- odbccp32.cpl is therefore complete YUHU
- rbuild needs to be hacked that odbccp32.cpl is outputed in the right destination folder (currently it writes into destination of odbccp32.dll)
svn path=/trunk/; revision=26263
- We shouldn't allow attaching to a device that's still initlizaing, but ROS currently does because of some device that tries to do this, in the PnP manager or early boot-phase drivers (it has an auto-generated name). Please fix this!
svn path=/trunk/; revision=26258
- Use OBJ_KERNEL_HANDLE for various internal Device Object handles.
- Fix bug in IopStartNextPacketByKeyEx which didn't actually read the flags to see if the I/O was cancelleable or not.
- Fail DO creation if the VPB couldn't be created.
- Fix completely wrong implementation of IoGetDeviceAttachmentBaseRef. It was getting the attached device instead of the base device, and wasn't even referencing it!.
-
svn path=/trunk/; revision=26257
- Implement Fast I/O Dispatch entrypoints for null.
- Support query file information and lock IRPs, just like NT.
- Remove query volume information IRP, not supported by NT.
- Page the entire driver.
svn path=/trunk/; revision=26256
- Don't load beep.sys in non-setup mode.
- Improve beep driver by making it use device queues instead of instantly completing beep requests, and make it cancel-safe, unloadable, and thread-safe in regards to timers. Also reduce memory footprint by making the entire driver pageable and dynamically locking/unlocking the image section by keeping a reference count of opens.
svn path=/trunk/; revision=26254
- Move serial stack to /serial.
- Move parallel stack to /parallel and make room for parport/parclass (NT5+ Parallel stack).
svn path=/trunk/; revision=26251
- Bugfix new sense request code (it was saving a pointer to the wrong SRB).
- Implement requests, which bypass frozen queue. CdRom should now work properly.
- Some very small code reformating.
svn path=/trunk/; revision=26249
- Stop committing on crack.
- Read IRC logs and use your head.
- GCC 3.4.5 is buggy, don't use. Don't break good code to hide compiler bugs.
svn path=/trunk/; revision=26248
- ReactOS boots/works (faster/stabler), VMWare bug is gone.
- Delete the old scsiport, switching to the new scsiport instead.
NOTE(!): Before commenting this commit read license.txt files. If you still want to comment, read license.txt again, it should help.
- Warnings fixes, improvements, etc to the code will come later.
svn path=/trunk/; revision=26238
- Implement RELEASE_QUEUE and FLUSH_QUEUE srb functions
- Turn off DPRINTs, since scsiport seems to finally work (without advanced features, but enough to install and boot using ATAPI and DISK drivers)!
svn path=/trunk/; revision=26226
- Bugfixes: IOCTL_SCSI_GET_CAPABILITIES fixed, setting inquiry operation in CDB fixed, storing information about bus scanning fixed
svn path=/trunk/; revision=26225
!!! ATTENTION PSEH USERS - new features & a change in rules !!!
modified include/reactos/libs/pseh/framebased.h
modified include/reactos/libs/pseh/framebased/internal.h
deleted include/reactos/libs/pseh/setjmp.h
modified lib/pseh/framebased.c
deleted lib/pseh/i386/setjmp.asm
modified lib/pseh/pseh.rbuild
Big PSEH revamp. If God is kind and merciful, this might be the last revision to PSEH ever
!!! RULE CHANGE !!! Obsoleted _SEH_NO_NATIVE_NLG, do NOT use it anymore, it will now cause fatal compile-time errors
!!! RULE CHANGE !!! As a side effect to the fix for a bug where a _SEH_TRY nested in a _SEH_HANDLE would lead to stack corruption, using "return" or "goto" from anywhere inside a PSEH block is now FORBIDDEN; all code that already did has been fixed in this revision
!!! NEW FEATURE !!! To leave a PSEH block from anywhere inside it, use the new _SEH_YIELD(<statement>) macro; examples: _SEH_YIELD(return value), _SEH_YIELD(goto label), _SEH_YIELD(returnvalue = value; goto label); ALWAYS ensure a _SEH_YIELD() leads outside the top-level _SEH_TRY block - do NOT goto into an ancestor _SEH_TRY block!!! Also note that _SEH_YIELD() disables SEH protection for the enclosed statement, so do NOT perform operations that might throw exceptions inside a _SEH_YIELD(); finally, ensure the enclosed statement does NOT allow execution to continue, or _SEH_YIELD() will get in an infinite loop; bear with me, for I have done the impossible, so don't expect miracles
Don't use a fake setjmp/longjmp *ever*, too dangerous; removed _SEHLongJmp & _SEHSetJmp, obsoleted _SEH_NO_NATIVE_NLG
On GCC, use __builtin_setjmp/__builtin_longjmp instead of setjmp/longjmp; they produce efficient code that plays well with optimizations, require no external library and are designed specifically for exception handling; should result in faster code and no hidden bugs
Use inline code to enter/leave trylevels; yields much better binary code
Inline handlers inside _SEH_PortableFrame_t instead of pointing to them; yields better code for the most common usages
Turn all top-level statements generated by macros from bare scopes into for loops, to ensure they are used correctly as stand-alone statements
Removed bitrotten old syntax, because it wasn't being used nor maintained
modified dll/3rdparty/freetype/freetype.rbuild
modified dll/win32/kernel32/kernel32.rbuild
modified drivers/network/tcpip/tcpip.rbuild
modified lib/drivers/ip/ip.rbuild
modified lib/rtl/rtl.rbuild
modified ntoskrnl/ntoskrnl.rbuild
modified subsystems/win32/win32k/win32k.rbuild
Removed obsolete _SEH_NO_NATIVE_NLG define
modified drivers/network/afd/afd/lock.c
modified drivers/network/afd/afd/tdi.c
modified subsystems/csr/csrsrv/api.c
modified subsystems/win32/win32k/ntuser/clipboard.c
modified subsystems/win32/win32k/ntuser/window.c
Use the new _SEH_YIELD macro to return/goto from SEH blocks
modified tools/rbuild/backend/mingw/modulehandler.cpp
modified tools/rbuild/backend/mingw/modulehandler.h
modified tools/rbuild/module.cpp
modified tools/rbuild/project.dtd
modified tools/rbuild/rbuild.h
Don't use the obsolete _SEH_NO_NATIVE_NLG flag anymore
Only add underscores to imported symbols when module is marked underscoresymbols="true"; fixes debugsup and, indirectly, PSEH tracing
modified lib/3rdparty/mingw/mingw.rbuild
Build with underscoresymbols="true"
svn path=/trunk/; revision=26224
- Packets are sequentially numbered.
Now all devices are perfectly enumerated (SpBuildDeviceMap() may still need work, but later), and problem occurs later when servicing IOCTLs.
svn path=/trunk/; revision=26222