* Defined __WINE_FOR_REACTOS__ and created internal.h, which defines a few things not already defined.
It compiles, but *will NOT* link, as I haven't finished porting yet. I'll continue hacking away at it.
svn path=/trunk/; revision=5756
* fixes |many| gdi locking bugs ( particularly DC's )
* Polygon and Rectangle now match MS's perfectly.
* a lot of functions take PDC or have PDC-equivalents now.
* fixed some C89 compatibility issues. ( before you complain, I refuse
to upgrade b/c my gcc 2.95 has caught ERRORS that gcc 3 completely
ignores, so I refuse to upgrade )
svn path=/trunk/; revision=5619
This shouldn't directly affect anything for normal (non-W32API) builds. A more detailed change log will be sent to the ros-kernel mailing list shortly.
svn path=/trunk/; revision=5461
fixed install.bat to reflect those changes, and commented out missing files.
fixed cdmake to abort on non-ISO-9660 names, and removed name mangling.
svn path=/trunk/; revision=5329
* apps/tests/bitblt/bitblt.c (MainWndProc): Declare variables
before any statements are processed in the scope.
* apps/tests/icontest/icontest.c (WinMain): Ditto.
* apps/tests/wm_paint/wm_paint.c (WinMain, MainWndProc): Ditto.
svn path=/trunk/; revision=5080
- 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
Used with permission from Damon Chandler <dmc27@ee.cornell.edu>
Makefile still needs to be converted to ReactOS Makefile
and SEH needs to be disabled.
svn path=/trunk/; revision=4886
- cabman: brand new makefile - uses TARGET_* macros, the build helper, and the zlib library properly
- fmifs: static libraries (.a archives) are built directly into the dk/w32/lib directory, instead of their base directory, so the makefile has been fixed
- psapi: split into PSAPI.dll and EPSAPI (Extended PSAPI), renamed some files, new header
- zlib: cleaned up makefile from unnecessary hacks
svn path=/trunk/; revision=4528
Successfully reads and writes short test buffer using stream I/O, both A and W versions.
Tests for correct handling of /r/n in text modes however nothing as yet for multi-bytes.
If you rebuild me watch out for the dependacy _tfileio.c which doesn't have an entry in the makefile.
svn path=/trunk/; revision=3874
I:\Dev\reactos\reactos\apps\utils\net\roshttpd\include\socket.h
8 : #include <crtdll/stdio.h>
Fixed to now include <msvcrt/....> instead which is now common to both the ntdll and msvcrt dll's
svn path=/trunk/; revision=3804
* apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field
AccessMask ...
(ROS_ACE): ... here.
(DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use
sizeof(ACE) instead of sizeof(ACE_HEADER).
* include/ntos/security.h (ACE_HEADER): Move field AccessMask ...
(ACE): ... here.
* lib/ntdll/rtl/acl.c: Use new path for AccessMask.
* ntoskrnl/se/semgr.c: Ditto.
* ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use
sizeof(ACE) instead of sizeof(ACE_HEADER).
* ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE)
instead of sizeof(ACE_HEADER).
svn path=/trunk/; revision=3654
* subsys/smss/init.c (SmPagingFilesQueryRoutine): If possible
take the size of the paging file from the registry.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/mm/section.c (MmCreateDataFileSection): Extend the
section if necessary.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/mm/pagefile.c (NtCreatePagingFile): Set the file
size using the FileAllocationInformation class.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/mm/anonmem.c (MmWritePageVirtualMemory): Implemented
function to write anonymous memory pages to the swap file.
* ntoskrnl/mm/anonmem.c (MmFreeVirtualMemoryPage): Free any
swap page associated with the page.
* ntoskrnl/mm/mpw.c (MmWriteDirtyPages): New function to find
pages to write to disk.
* ntoskrnl/mm/mpw.c (MmMpwThreadMain): Implemented MPW functionality.
* ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): New function
to write a single page back to disk.
* ntoskrnl/mm/rmap.c (MmSetCleanAllRmaps, MmSetDirtyAllRmaps,
MmIsDirtyPageRmap): New rmap function to support the MPW thread.
* ntoskrnl/mm/section.c (MmWritePageSectionView): Implemented
function to write back section pages.
* ntoskrnl/mm/section.c (MmFreeSectionPage): Free any swap
entry associated with the page; mark pages shared with
the cache as dirty if necessary.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set name of
the module into the module text structure.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/io/rw.c (NtReadFile, NtWriteFile): Use the correct
test for whether to wait for the completion of i/o.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/cm/ntfunc.c (NtFlushKey): Request synchronous i/o
from NtOpenFile.
* ntoskrnl/cm/regfile (CmiInitPermanentRegistryHive): Request
synchronous i/o from NtCreateFile.
* ntoskrnl/dbg/kdb_stabs.c (LdrpLoadModuleSymbols): Request
synchronous i/o from NtOpenFile.
* ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Request synchronous i/o
from NtOpenFile.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/cc/view.c (CcRosSuggestFreeCacheSegment): Maintain the
correct reference count.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/cc/view.c (CcRosFlushCacheSegment): New function to
write back a modified cache segment.
* ntoskrnl/cc/view.c (CcRosFlushDirtyPages): New function to
flush some dirty pages from the cache.
* ntoskrnl/cc/view.c (CcRosMarkDirtyCacheSegment): New function to
mark a cache segment modified while mapped into memory as dirty.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/cc/pin.c (CcMapData, CcUnpinData, CcSetDirtyPinnedData):
Store the dirty status in the BCB; don't write back dirty data
immediately.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* include/ntos/mm.h: Added SEC_XXXX defines from 'Windows NT/2000
Native API Reference'
2002-08-14 David Welch <welch@computer2.darkstar.org>
* drivers/fs/vfat/ea.c (VfatSetExtendedAttributes): Empty
placeholder for extended attribute functions.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation):
Added function to set allocation size.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* drivers/fs/vfat/fcb.c (vfatFCBInitializeCache): Renamed
to vfatFCBInitializeCacheFromVolume.
* drivers/fs/vfat/fcb.c (vfatMakeFCBFromDirEntry): Don't
initialise the cache with a file object representing the
volume unless the FCB is for a directory.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* drivers/fs/vfat/create.c (VfatPagingFileCreate): Added a
new function for handling paging file only code.
* drivers/fs/vfat/create.c (VfatSupersedeFile): Added a
new function for doing a file supersede.
* drivers/fs/vfat/create.c (VfatCreateFile): Reformatted and
adjusted control flow. Set allocation size and extended attributes
on create.
* drivers/fs/vfat/create.c (VfatCreate): Removed goto.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* drivers/fs/vfat/cleanup.c (VfatCleanupFile): Renamed
updEntry to VfatUpdateEntry.
* drivers/fs/vfat/close.c (VfatCloseFile): Renamed
updEntry to VfatUpdateEntry.
* drivers/fs/vfat/dirwr.c (updEntry): Renamed to
VfatUpdateEntry.
* drivers/fs/vfat/dirwr.c (addEntry): Renamed to
VfatAddEntry.
2002-08-14 David Welch <welch@computer2.darkstar.org>
* apps/tests/sectest/sectest.c (main): Fixed formatting.
svn path=/trunk/; revision=3331
* ntoskrnl/ps/create.c (NtCreateThread): Call PsSuspendThread
if NtCreateThread has CreateSuspended as TRUE.
* ntoskrnl/ps/suspend.c (PsSuspendThread, PsResumeThread,
PiSuspendThreadKernelRoutine): Fixed suspend functionality.
2002-08-09 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/ke/i386/usertrap.c (print_user_address): Copy
the LDR variable from the right address.
2002-08-09 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/ke/apc.c (KiDeliverNormalApc): Check for
kernel APCs pending on exit from the kernel.
* ntoskrnl/ke/apc.c (KiDeliverNormalApc, KiDeliverUserApc,
KiDeliverApc): Set the APC's inserted flag to FALSE after
removing it from the thread's queue.
2002-08-09 David Welch <welch@computer2.darkstar.org>
* lib/kernel32/thread/thread.c (ThreadStartup): Don't
call DLL entrypoints; this is done by LdrInitializeThunk.
* lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
DLLs in initialization order; take the loader lock before
calling.
2002-08-09 David Welch <welch@computer2.darkstar.org>
* apps/tests/thread/thread.c (main): Test suspend and
resume functionality.
svn path=/trunk/; revision=3324
* subsys/win32k/include/callback.h: Fixed callback argument
definitions.
* subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
sizing/moving code.
* subsys/win32k/ntuser/painting.c: Implemented some more of the
window painting code.
* subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
* subsys/win32k/objects/region.c: Added stubs for some more
region functions.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
process desktop handle as well.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/se/token.c: Don't call the ZwXXX variant of
system calls when in system context.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/Makefile: Added file with MDA output code.
* ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
debug output.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* lib/user32/windows/defwnd.c: Implemented some more of the
default window handler.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* lib/user32/misc/stubs.c: Removed some stubs to seperate files.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* lib/user32/user32.def: Export ScreenToClient otherwise we
get problems when code in user32 tries to call it.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/win32k/region.h: Added prototypes for some missing
region functions.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/win32k/ntuser.h: Added prototypes for some missing
NtUserXXX functions.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/user32/wininternal.h: Added some constants for
private GetDCEx styles that WINE needs.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/user32/callback.h: Fixed callbacks for messages with
parameters.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/napi/win32.h (W32THREAD): Added pointer to the
thread's desktop.
* include/napi/win32.h (W32PROCESS): Removed handle table,
added a pointer to the process's window station.
* subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
a process's window station on the first win32k system call. Reference
a thread's desktop on the first win32k system call.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* include/messages.h: Added some missing WM_XXX constants.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* drivers/dd/ide/makefile: Compiling with debugging messages
needs libgcc to be linked in.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* iface/addsys/genw32k.c: Generate a variable with the
number of system calls.
* iface/native/genntdll.c: Generate a proper stack frame for
the user system call stubs.
* ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
the handler for system calls.
2002-07-04 David Welch <welch@computer2.darkstar.org>
* Makefile: Build the GUI startup application.
* subsys/system/gstart/gstart.c: Application to start up
the GUI.
svn path=/trunk/; revision=3179
* Call SepCreateSystemProcessToken() when creating the
initial system process. Cleanup the token during
in PiDeleteProcess().
* Call SepInitializeNewProcess() during NtCreateProcess
to copy the parent processes token to the new process.
ntoskrnl/include/internal/se.h
ntoskrnl/se/token.c
* Change name of SepDuplicationToken() [which was unimplemented]
to SepDuplicateToken(). Implement it.
* Implement new functions (which are used by process.c)
SepInitializeNewProcess() and SepCreateSystemToken().
* Correctly (I think) set Token->ImpersonationLevel in
NtCreateToken().
apps/tests/tokentest/tokentest.c
* Dump the current processes token.
svn path=/trunk/; revision=3113
* subsys/system/winlogon/winlogon.c (WinMain): Check for
failure when creating a window system.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
function for duplicating objects.
* ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
process's window station to the child process.
* ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
first process's window station.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
page operation structure members.
* ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
or decrement the page operation count in the memory area.
* ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
MmPageOutVirtualMemory): Check for a deleted memory area before
handling the fault.
* ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
page operations to finish before freeing the memory area.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
test for previous mode, upper 16-bit of CS on the stack after an
interrupt are arbitary.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* lib/user32/misc/winsta.c: Cleaned up indentation.
2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* apps/tests/winhello/winhello.c (WinMain, MainWndProc):
Cleaned up formatting, some more error checks.
2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
svn path=/trunk/; revision=3050
- Implement RtlGetAce()
- Fix bug which cause RtlCreateAcl() to always fail.
- Cleanup parameter names and fix bug that caused a buffer overrun in RtlCopySidAndAttributesArray()
- When referencing the token object in NtQueryInformationToken() pass in either TOKEN_QUERY access or TOKEN_QUERY_SOURCE access. Passing in zero led to ObReferenceObjectByHandle() always failing with ACCESS_DENIED.
- Fixed NtQueryInformationToken() to check the buffer length and return STATUS_BUFFER_TO_SMALL and the required length.
- Ensure that the ReturnLength is set correctly when NtQueryInformationToken() succeeds. Previously, it was set to the number of bytes unused in the user buffer in some cases or not set at all.
- Handle case of NULL default dacl correctly in NtQueryInformationToken()
- Update main makefile to build apps\utils.
- Update makefiles in apps\utils to have the correct PATH_TO_TOP.
- Update main makefile to build apps\tests\tokentest
Written by Joseph Galbraith.
svn path=/trunk/; revision=3024
E.g. to use both serial logging on COM1 and GDB remote debugging on COM2 use:
/DEBUGPORT=COM1 /COM2 /DEBUGPORT=GDB
Made PICE compile with GCC 3.2.
svn path=/trunk/; revision=2944
Evaluate static symbols
Evaulate local symbols
Still has bugs locating type definitions, at least for pointer types
There also seems to be a bug matching up lines of source with the correct instruction addresses
svn path=/trunk/; revision=2690