- Make SystemUnloadGdiDriverInformation take the opaque SectionPointer (which is really the Loader Entry) from the SYSTEM_GDI_DRIVER_INFORMATION structure returned in SystemLoadGdiDriverInformation so it doesn't need to loop the loaded module list to find it.
- Fix EngLoad/UnloadImage to do this. Also make EngLoadImage return the pointer to the internal structure as the "handle" so EngUnloadImage doesn't need to loop the driver list to find it. The code is still extremely broken and needs a rewrite.
- Remove some externs from related variables in the code -- we use something called "headers".
svn path=/trunk/; revision=44119
Alexander Yastrebov <menone7@gmail.com>
- Return proper lengths of required buffer sizes in characters (including the termination NULL character) in LookupAccountSid. Fixes 4 "advapi32_winetest security" failures.
See issue #4904 for more details.
svn path=/trunk/; revision=44117
- Move duplicate code from LoadSetupData to a separate function
- Fix a bug on line 1054 of the original file: SetupData.LangCount should be SetupData.KbLayoutCount (copy-paste mistake). This would have probably gone unnoticed if SetupData.LangCount > SetupData.KbLayoutCount due to other end of section checking.
- Based on a patch from bug 4933.
svn path=/trunk/; revision=44116
- Use different register allocation to be more efficient on certain systems.
- Add tables and initial code for Lazy IRQL support.
svn path=/trunk/; revision=44115
Don't link msvcrt twice, bad things happen
modified tests/dirdlg/dirdlg.rbuild
modified winetests/msvcrt/msvcrt.rbuild
More oldnames hacks
modified tests/tcpsvr/tcpsvr.c
Don't use close on sockets, use closesocket
svn path=/trunk/; revision=44103
- Implement KsEnableEvent, KsEnableEventWithAllocator, KsDiscardEvent
[PORTCLS]
- Fix signalling the event
- DirectSound clients can now use IDirectSoundNotify interface to be notified of a position change
svn path=/trunk/; revision=44100
Give poor pefixup its own echo line
modified ReactOS-amd64.rbuild
modified ReactOS-arm.rbuild
modified ReactOS-i386.rbuild
Set global linker flags globally
Goodbye NTOSKRNL_SHARED
modified tools/rbuild/backend/codeblocks/codeblocks.cpp
modified tools/rbuild/backend/msvc/vcprojmaker.cpp
Build fixes. I really want to delete these dead backends
modified tools/rbuild/backend/mingw/linkers/ld.mak
Makefile rule for the linker. Also generates the .lib and .exp for DLLs, and obsoletes a whole lot of shitty rbuild code
modified tools/rbuild/backend/mingw/mingw.cpp
modified tools/rbuild/backend/mingw/mingw.h
Specify module type-specific linker flags... in the specification of flags for module types, instead of wherever
Fix generation of project-global linker and NASM flags
Give better names to the variables that contain names of BE-provided libraries
Don't put quotes around the names of BE-provided libraries, GNU make doesn't support quoting in any way, shape or form and quotes around filenames actually break shit on Windows (see <http://reactos-blog.blogspot.com/2009/11/gnu-make-fails-on-windows-with-multiple.html>). Just install the BE in a path without spaces in it
Typo: LFLAGS is the flags for lex, flags for linker come from LDFLAGS
modified tools/rbuild/backend/mingw/modulehandler.cpp
modified tools/rbuild/backend/mingw/modulehandler.h
modified tools/rbuild/module.cpp
modified tools/rbuild/rbuild.h
Moved generation of linker and import library generation rules out of rbuild and into sub-makefiles. A lot of code deleted, nothing of value was lost
More LFLAGS -> LDFLAGS
Goodbye mangledsymbols and underscoresymbols attributes, they don't do shit other than complicating my life
If we have to add an underscore in front of the entry point name for some architectures, how about we do it in a single place?
modified tools/rbuild/backend/mingw/rules.mak
Minor cosmetic change
svn path=/trunk/; revision=44091
oldnames is not an import library and dlltool --add-underscore is not an appropriate way to build it. Delete it for now
modified base/applications/network/ftp/ftp.rbuild
modified base/applications/winhlp32/winhlp32.rbuild
modified base/services/dhcp/dhcp.rbuild
modified dll/win32/crypt32/crypt32.rbuild
modified dll/win32/mshtml/mshtml.rbuild
modified dll/win32/setupapi/setupapi.rbuild
modified dll/win32/wininet/wininet.rbuild
modified lib/3rdparty/libxml2/libxml2.rbuild
Workarounds for the removal of oldnames
modified dll/directx/d3d8/d3d8.rbuild
Use a file that actually exists
modified dll/win32/crtdll/crtdll.rbuild
modified dll/win32/msvcrt/msvcrt.rbuild
"mangledsymbols" never did anything: remove it
modified dll/win32/msvcrt/msvcrt.def
modified lib/sdk/crt/crt.rbuild
We don't actually implement j0/j1/jn/y0/y1/yn: _j0 calls __imp__j0, which is an alias for __imp___j0, which redirects back to _j0 in a perfect loop. Remove them for the time being
modified lib/3rdparty/bzip2/bzip2.rbuild
This was actually called unbzip2.dll. Who knew
svn path=/trunk/; revision=44090
- Implement handling of enabling / disabling events
- Implement firing of events when certain position is reached
- Code not yet used as ks needs more work
svn path=/trunk/; revision=44074
- AMD64's is a copy of x86's to match asm.h's the assembly offsets. ARM's is a stub containing two necessary members to have some offsets for the debugger data block.
- Add ARM stub for KiCallUserMode as this is referenced from the debugger data block.
svn path=/trunk/; revision=44063
modified dll/3rdparty/mesa32/src/drivers/windows/icd/mesa.def
modified dll/nls/idndl/idndl.def
modified dll/nls/normaliz/normaliz.def
modified drivers/video/font/ftfd/freetype.def
Soon, the rbuild "dllname" attribute will have no effect for .def files (only .spec/.pspec): prepare the sources for it by specifying the DLL name in the .def files themselves with the LIBRARY directory
svn path=/trunk/; revision=44059
MinGW provides a good enough POSIX-like environment to do away with a couple platform checks/hacks
Print error messages on stderr instead of stdout
Don't print anything when pefixup does nothing - "no news is good news"
svn path=/trunk/; revision=44058
- Add another hack to freeldr.c to make sure that HAL is the second entry in the Load Order list -- detect if it isn't and insert it as the second entry manually if it isn't.
- KdbInitialize can now assume that the 2nd entry in the Load Order list is HAL, just like ExpLoadBootSymbols and KD does, so get the Loader Entry directly instead of searching for it.
- Move KiBootTss and KiBootGdt to freeldr.c as this is where they belong -- they are not required for NTLDR/WINLDR boot style and are only used directly in freeldr.c.
- Get rid of the AcpiTableDetected variable from freeldr.c. Instead, set the AcpiTable entry to something and make PoInitSystem check for that instead to preserve the old behavior.
- Implement KdpGetFirstParameter and KdpGetSecondParameter for ARM too -- just retrieve R3/R4 here. Also rename those macros to clarify what parameters we are retrieving.
- Add MmIsSessionAddress stub and use it from KD handle session space properly in the Memory Query API, and ASSERT that we are not trying to do a copy to/from session space in MmDbgCopyMemory as we don't handle it properly. Put this in mmdbg.c for now as we don't implement session space, and it is only called from KD right now.
- Rename the 3 kdsup.c files to kdx86.c, kdx64.c and kdarm.c to differ them from each other.
- Implement KdpAllowDisable -- just check if any processor breakpoints are set on any processor in the system and disallow the disable if so. The routine is now architecture dependant, so move it to the appropriate files.
- Get rid of the MmFreeLdr* variables too. These have been deprecated for some time now.
- The ModuleObject and ImageBaseAddress parameters of MmLoadSystemImage are not optional so don't treat them as such, and don't zero initialize them as callers shouldn't rely on this.
- Set LDRP_ENTRY_NATIVE instead of LDRP_COMPAT_DATABASE_PROCESSED to mark the image as a native image. Also fix the value of LDRP_ENTRY_NATIVE.
- Fix definition of LDR_DATA_TABLE_ENTRY -- the Checksum member should be in the union too.
- Remove some unnecessary externs for stuff we now define globally in the kernel headers.
- Rename some variables in KD to better match the logic.
- Move some x86 only stuff from global ke.h and ke_x.h to the x86 dependent ke.h. Remove DR_ACTIVE_MASK as it has been deprecated/unused for a while now.
svn path=/trunk/; revision=44023