Files that should now compile with Win 32 API headers:
* sysinfo.c
* time.c
* work.c
* zone.c
If you suddenly discover that something no longer works due to a missing struct member, it's probably because I've renamed it to match the Win 32 API headers.
svn path=/trunk/; revision=5151
- include/funcs.h: declared GetScrollBarInfo
- include/napi/teb.h: removed misleading comment about NtCurrentTeb; preparing TEB for Windows 2003-compatible FLS support
- include/tchar.h: added _tcslen
- include/tgetopt.h: type-generic getopt (see lib/tgetopt)
- include/win32k/ntuser.h, subsys/win32k/ntuser/window.c, subsys/win32k/ntuser/timer.c, lib/user32/misc/timer.c, lib/user32/windows/paint.c: corrected declarations of NtUserSetTimer, NtUserKillTimer and NtUserRedrawWindow (Win32K doesn't follow the NT calling convention)
- lib/crtdll/crtdll.def: exported ::operator new and ::operator delete
- lib/kernel32/thread/fls.c: FLS support almost done
- lib/ntdll/*: implemented _chkstk/_alloca_probe - some more Visual C++ programs should run now; exported NtCurrentTeb for compatibility with Windows NT 3.51 and some non-i386 architectures; removed the CRT from the linker libraries
- lib/string/*: type-generic string functions (single, shared implementation for single-byte and Unicode variants using _t macros); corrected a bug in the i386 wcsncmp; merged strspn/strcspn; corrected non-portable code in strspn/strcspn; implemented strnlen/tcsnlen for the i386 architecture; all changes were regression-tested and compared against the Microsoft CRT
- tools/helper.mk: libraries, dlls and drivers now depend from their DEF/EDF files
svn path=/trunk/; revision=5010
KERNEL32.GetConsoleHardwareState implemented (undoc;incompatible)
KERNEL32.SetConsoleHardwareState implemented (undoc;incompatible)
Console window's handle is actually not returned because csrss does not create a window for each allocated console.
HardwareState is undocumented. Only size of the returned/set data is the same as NT's.
svn path=/trunk/; revision=4930
- thread.c: ThreadStartup: initialize error code to zero, so that void ThreadMains set the thread's exit code to something that makes sense
svn path=/trunk/; revision=4880
- Kernel32: GetCurrentFiber and GetFiberData are macros, not functions
- Kernel32: ExitThread now is declared as __declspec(noreturn)
- RosRtl: two new functions to allocate and free stacks
- RosRtl: corrected a couple of prototypes
svn path=/trunk/; revision=4794
- replaced DWORD with ULONG in a couple of places
- replaced some ULONGs with LONGs in the KD GDB stub
- replaced INITIAL_TEB with USER_STACK, as per Nebbet's book, to support both fixed size and expandable stacks
- added InterlockedExchangePointer
- added the ASM_BREAKPOINT macro as the architecture-dependent assembler code to raise a breakpoint exception
- corrected definitions of INT, LONG, DWORD, UINT, ULONG and ULONG32
- corrected IoSetCancelRoutine to use InterlockedExchangePointer
- corrected definition of NtCurrentTeb and NtCurrentPeb
- corrected DbgBreakPoint and DbgUserBreakPoint not to set up a stack frame (temporary fix with inline assembler - why doesn't GCC understand __declspec(naked)?)
- corrected various calls to Interlocked* functions to cast OUT operands to LONG *
- corrected various printf format strings
- corrected DbgUiIssueRemoteBreakin to use the smallest possible stack (this is what started everything)
- removed a DPRINT that accessed pageable memory at non-PASSIVE_LEVEL IRQL
- beautified CreateProcessA (another temporary fix - all the new functions will be isolated in the upcoming stand-alone RTL)
- prefixed LdrInitializeThunk with a nop that can be overwritten with a breakpoint for debugging purposes (temporary debugging aid until we have user-mode debugger support). Will add support for this to the breakin utility soon
- thread creation code rewritten from scratch (some glitches documented inline, but works fine)
- thread creation code now duplicated just twice, as opposed to five times (temporary fix - three new, non standard functions have been exported from NTDLL.DLL, will fix later)
svn path=/trunk/; revision=4595
- cleaned up some makefiles, added dependency tracking
- tlist now uses EPSAPI, and, incidentally, a bug has also been fixed
svn path=/trunk/; revision=4535
- reversed the Debug Monitor protocol, implemented OutputDebugString accordingly
- added a handful of new functions introduced in NT 5.1, either stubbed out or implemented
svn path=/trunk/; revision=4461