- Move debug heap functionality to a separate file
- Clean includes
- Remove msvcrt dependency
- Clean up string usage
- Remove some higher level functions in favor of their ntdll counterparts (wip).
svn path=/trunk/; revision=75432
Import commits by Kaho Ng <ngkaho1234@gmail.com> from upstream:
- b7657e5 Ext3Fsd: Introduce VCB_RO_COMPAT_READ_ONLY flag for struct VCB
- e7c1142 Ext3Fsd: EXT4_FEATURE_INCOMPAT_64BIT is not supported
- 785943f Ext3Fsd: fix issue #6
Refuse mounting filesystems with incompatible flags. This avoids corrupting 64bits filesystems.
Patch by Lubomir Rintel
CORE-13589
svn path=/trunk/; revision=75422
- Misc fixes with DPRINTS
[RXCE]
- In RxFinalizeSrvOpen, always dereference the FCB, it's always referenced on SRV_OPEN creation
- Misc fixes with DPRINTS
With that revision and r75419, I'm now able to mount a NFS share, browse it, read a file from it, and unmount it.
We're OK regarding references counting!
CORE-8204
CORE-11327
CORE-13581
svn path=/trunk/; revision=75420
Revert r75348.
Because of r75349, this revision was made useless, and even worse, it was leaking a handle to the directory where the FSD doesn't support notifications.
Also made some debug traces more useful
svn path=/trunk/; revision=75419
Huge "hack" for ReactOS.
In case we're asked to unmount a NFS share, and there are still active FCBs, browse the prefix table for active NET_ROOT, and then, dump their associated FCBs (prefix + refcount).
It seems we only leak the root FCB.
CORE-8204
CORE-11327
CORE-13581
svn path=/trunk/; revision=75415
- Implement RxFastIoWrite()
- Finish implementation of RxFastIoCheckIfPossible()
[COPYSUP]
- Implement FsRtlCopyWrite2()
This brings (in link with r75398 fast IO writes to RDBSS, and thus NFS!
CORE-8204
CORE-11327
svn path=/trunk/; revision=75409
- Broadcast the appropriate messages to notify a change in display parameters and color. This should fix rollback issues from setting display modes. See CORE-12571 and CORE-13212.
svn path=/trunk/; revision=75407
[BOOTMGR]
Disabled x86-specific code when building ARM.
[LIBSUPP]
Use a hack to replace inline asm which is not supported by MSVC ARM.
[DBGHELP]
Fix ARM register access from context struct.
[MSVCRT]
Fix typo in spec file.
[NTOSKRNL]
[WIN32SS]
Add asm dependency to *sys modules.
[CPPRT]
Add one of the missing constructor aliases. There's more, but my brain is fried at this point.
[BTRFS]
Define-away an include for x86-specific intrinsics.
This is the first batch of fixes for building reactos using the MSVC ARM toolchain. A lot more work is needed to get a full build including rostests and rosapps.
svn path=/trunk/; revision=75403
Fix pointer math ('unsigned long' will truncate the pointer).
[MKISOFS/SCHILY TOOLS]
Fix the invalid assumption that a 'long' variable can hold pointers. Will be sent upstream.
With this the whole of reactos and rostests builds on x64. Rosapps still has issues.
svn path=/trunk/; revision=75399
- Implement __RxWriteReleaseResources(), RxCommonWrite(), RxCompleteMdl(), RxGetTopIrpIfRdbssIrp(), RxLowIoWriteShell(), RxLowIoWriteShellCompletion()
- Finish implementation of RxCommonCleanup() so that it handles setting EOF on a file
- Finish implementation of RxCommonCreate() so that it handles sharing violations and attempts to scavenge open files
[RXCE]
- Implement RxpScavengeFobxs(), RxpTrackDereference(), RxpTrackReference(), RxPurgeFobx(), RxPurgeRelatedFobxs(), RxReinitializeContext(), RxSetFileSizeWithLock(), RxScavengeFobxsForNetRoot()
- Fix a bug in RxPrefixTableLookupName() where it was badly handling nodes in scavenger
This commits brings several improvments to the NFS driver.
First of all, now, the driver handles creating, extending and writing to files!
It also handles purging dormant opened files when a file opening fails because of a sharing violation
Finally, it also brings something to look at our references issues in RDBSS to help finding out why our FCB are never (or nearly) dereferenced
CORE-8204
CORE-11327
CORE-13581
svn path=/trunk/; revision=75398
MSVCRT_CRT_APITEST: Remove getmainargs tests from X64 build.
DELAYIMP: Fix callback prototype.
CComHeapPtr: Fix implementation of IMallocSpy to match the actual interface.
[WINETESTS]
ntdll: Disable 'generated' tests when not i386 platform, since they were generated for x86 and not x64 or ARM.
Fixes x64 compilation for tests.
svn path=/trunk/; revision=75397
Stub out some arch-specific functions (fixes x64 build).
[USBPORT]
Actually fix x64 build. The old code was not working at all, but the bootlib errors cancelled the build earlier than I thought.
The X64 compilation now succeeds, but cabman crashes trying to generate the bootcd.
svn path=/trunk/; revision=75396
Correct callback return type (Fixes X64 build).
[USETUP]
Correct definition of the struct (fixes X64 build).
[USBPORT]
Improve struct size checks so they are X64-compatible (fixes X64 build).
The build as a whole still fails due to bootlib, but implementing those is beyond my expertise.
svn path=/trunk/; revision=75392
-CBandSite: Remove CCS_NORESIZE style. This is a hack probably needed because our rebar control is buggy.
[EXPLORER]
-CTaskBand::GetBandInfo: Use the toolbar button size as the minimum and integral size for the band.
-CTaskSwitchWnd: Use the system small icon size for the size of the icon. Recreate the image list if this size changes. This together with the size of the font are the only factors for the size of the toolbar and consequently for the size of the band and if it is the only band, the size of the taskbar. Don't use TB_SETBUTTONSIZE. Now the size of the image list and the font dictate the size.
-CTrayWindow: In the classic theme make the start button have the same height with the tasks toolbar button height. Improve the calculation of the size of the taskbar in FitToRebar.
These changes should make the taskbar and the toolbar have a proper size. On top of that the taskbar is finally resizable (however our rebar is too buggy and still fills only the first line in the taskbar). While testing this I noticed that moving the taskbar in the sides of the screen is buggy now. I'm not sure if this was uncovered by these changes, if this was broken before or this was caused by these changes (looks unlikely to me) but will be fixed in subsequent commits).
svn path=/trunk/; revision=75385