- Clean up, fix, and add missing types to ntdef.h/ntifs.h/winddk.h/wdm.h/ntpoapi.h
- Add ntimage.h and use it in rossym and NDK
- Fix a gcc compatibility issue -- some internal NT structures have their pointer types defined in the DDK headers, but we define them along with the "struct" type when defining the full structure. MSVC is okay with this double definition, but gcc treats it as an error (hidden by system_header). Only define the "struct" type when declaring the full structure, making it compatible with both compilers.
- Also fix/add some types and header guards in NDK
- Clean up ks/portcls/drmk headers
- Fix incorrect types for some KS APIs (msdn is wrong for these) and add missing header guards
- Also, remove system_header (more of this coming up)
svn path=/trunk/; revision=37792
modified base/shell/cmd/ren.c
added base/shell/cmd/ren.txt
Correct implementation of "ren" command in cmd
Patch by Victor Martinez <[email protected]>
added include/crt/mingw32/intrin.h
added include/crt/mingw32/intrin_arm.h
added include/crt/mingw32/intrin_ppc.h
added include/crt/mingw32/intrin_x86.h
added include/crt/mingw32/intrin_x86_64.h
deleted include/psdk/intrin.h
deleted include/psdk/intrin_arm.h
deleted include/psdk/intrin_ppc.h
deleted include/psdk/intrin_x86.h
deleted include/psdk/intrin_x86_64.h
intrin.h positively IS NOT a PSDK header
The "a" argument to _bittestandcomplement, _bittestandreset and _bittestandset is an input AND output argument, unlike the argument to _bittest. Move argument to outputs, change constraint to "+mr"
Spotted by hto
modified lib/3rdparty/mingw/cpu_features.c
Stray semicolon
Patch by hto from Bugzilla
modified lib/sdk/crt/locale/locale.c
Missing colon
Patch by hto from Bugzilla
See issue #3902,3921,3924,3926 for more details.
svn path=/trunk/; revision=37781
- regstr.h: Add missing _IN_KERNEL_ guard
- rpcndr.h: Don't use the DWORD type
- windef.h: Add missing types, and put some under the BASETYPES guard
- winnt.h: Don't define types which should be in windef.h
- winuser.h: Correct KEYBOARD_OVERRUN_MAKE_CODE declaration, add missing NOWINDOWSTATION guard
- ntgdityp.h: Fix header guard for "FIX" type declaration
svn path=/trunk/; revision=37721
lib\rtl\srw.c: In function 'RtlAcquireSRWLockShared':
lib\rtl\srw.c:498: error: statement with no effect
lib\rtl\srw.c: In function 'RtlAcquireSRWLockExclusive':
lib\rtl\srw.c:637: error: statement with no effect
lib\rtl\srw.c:668: error: statement with no effect
lib\rtl\srw.c:696: error: statement with no effect
See issue #3922 for more details.
svn path=/trunk/; revision=37704
- Use same header guard in ddk's ntstatus.h as psdk's to prevent bogus redefinition errors. Also correct some status codes in the psdk version.
svn path=/trunk/; revision=37690
- DXG: Change the way PDC is defined -- treat the DC structure as opaque instead of including internal win32k headers. Also rework the way DD_BASEOBJECT is defined.
svn path=/trunk/; revision=37689
- TCPIP/IP/TDI/Uniata: Don't use user mode types
- USBDRIVER: Remove a peculiar redefinition of ULONG_PTR
- NDIS: Remove duplicate (and undocumented) types from ndis.h, defined in an internal NDIS header long ago. Also fix some warnings, define UINT as appropriate, and add a clever (not really) workaround for a gcc/msvc incompatibility. -- For some obnoxious reason msvc is fine with redeclaring types compatibly, while gcc treats it as an error. PSDK and DDK require this, so we need...extended header checks.
svn path=/trunk/; revision=37688
- Use KeBugCheck(MEMORY_MANAGEMENT) instead of ASSERT(FALSE), so it dies on release builds too.
- Enable support for Hyper-V.
- Fix incorrect gate wait code -- fixes sporadic crashes in the network stack.
- Mark KeBugCheck*, ExRaise* and RtlRaiseStatus as declspec(noreturn), for better optimization of functions which call them, less potential warnings in the compiler, and, assuming coverity understands it, less false CIDs.
- Fix KiUpdateDr7, which resulted in broken support for hardware breakpoints.
- Fix failure cases in EnumerateRootDevices which might've freed non-allocated memory.
- Fix NtAddAtom/NtFindAtom logic when dealing with NULL or kernel Atom names.
Patch by Alex Ionescu.
svn path=/trunk/; revision=37668
If the compiler is not GCC, assume native SEH support
modified lib/pseh/framebased-gcchack.c
modified lib/pseh/i386/framebased-gcchack.S
Allow pseh to be compiled with Visual C++ without warnings
svn path=/trunk/; revision=37663
modified include/psdk/rpcndr.h
Mask argument before casting in NdrFcShort
modified include/psdk/winternl.h
Visual C++-compatible placement of function attribute
modified include/reactos/wine/port.h
Visual C++ has interlocked intrinsics, too
modified lib/3rdparty/adns/adns_win32/adns_unix_calls.c
modified lib/3rdparty/adns/src/setup.c
alloca -> _alloca
modified lib/3rdparty/libwine/debug.c
Fix a benign range check warning
modified lib/3rdparty/libwine/debug_ros.c
Properly decorate malloc replacement
modified lib/3rdparty/libwine/string.c
The actual function is called _stricmp
modified lib/3rdparty/mingw/wcrt1.c
Visual C++ support
svn path=/trunk/; revision=37659
Implemented RPC exception handling macros with PSEH 2.0
modified base/services/rpcss/rpcss.rbuild
modified dll/win32/rpcrt4/rpcrt4.rbuild
RPC proxy stubs now depend on pseh. We should really add pseh as a link dependency automatically in rbuild, but, eh
modified tools/rbuild/backend/mingw/modulehandler.cpp
Compile RPC proxy stubs with -fno-unit-at-a-time due to a GCC bug. See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054
svn path=/trunk/; revision=37614
Make SF_FramePointer field of _SEHFrame_t volatile, too, just to be safe
Unoptimized compilation doesn't perform const-folding - "static const" could result in compilation errors, use just "const"
Renamed _SEH2_GetExceptionPointers to _SEH2_GetExceptionInformation to be closer to the "standard" SEH syntax
modified lib/pseh/framebased-gcchack.c
Clobber the register that's actually used
svn path=/trunk/; revision=37570