Commit graph

53 commits

Author SHA1 Message Date
Emanuele Aliberti bde15621e5 Register the LPC Port object object in the system name space.
svn path=/trunk/; revision=10390
2004-08-04 12:50:42 +00:00
Alex Ionescu 83f7c0f126 Added Lpc Stubs
svn path=/trunk/; revision=9838
2004-06-23 19:49:21 +00:00
Gé van Geldorp 6855f27251 Temporarily undo KeAttachProcess() done by win32k
svn path=/trunk/; revision=9567
2004-05-31 11:47:05 +00:00
Filip Navara 30e8e2d0b0 - Minor correction to NtConnectPort to avoid freeing NULL pointer. Based on patch by Waldo Alvarez Ca�izares.
svn path=/trunk/; revision=8282
2004-02-21 09:06:27 +00:00
Emanuele Aliberti 3356caccb3 LPC: initial work on NT/ROS compatibility.
svn path=/trunk/; revision=8007
2004-02-02 23:48:42 +00:00
Emanuele Aliberti 8443a77631 Use macros for LPC message limits in current LPC implementation.
svn path=/trunk/; revision=7967
2004-02-01 18:19:28 +00:00
Emanuele Aliberti aeccf4ff73 Do not make NtSecureConnectPort fail: for now direct the call to NtConnectPort.
svn path=/trunk/; revision=7831
2004-01-22 21:56:48 +00:00
Emanuele Aliberti f6f1650b2b Minor changes for NT compatibility.
svn path=/trunk/; revision=7504
2004-01-07 21:13:22 +00:00
Aleksey Bragin 49f967d0ed Continue of MSVC-compiling changes....
I double checked, but in case someone's recent commit is somehow overwritten -- please, don't be very frustrated :) -- I will fix it, just drop me a note.

svn path=/trunk/; revision=7338
2003-12-30 18:52:06 +00:00
Hartmut Birr e9568da21e - Added return values to some unimplemented functions.
svn path=/trunk/; revision=7039
2003-12-14 17:44:02 +00:00
Eric Kohl c966348df4 Fixed a cut-and-paste bug.
svn path=/trunk/; revision=6726
2003-11-20 11:06:35 +00:00
KJK::Hyperion 40e2bff3e7 Moved and renamed some ReactOS specific macros
svn path=/trunk/; revision=6672
2003-11-17 02:12:52 +00:00
Hartmut Birr 2a1821394f - Fixed the freeing of memory from boot load drivers.
- Put all init functions in a special section and do free
  the memory from this section after system initialization.

svn path=/trunk/; revision=6296
2003-10-12 17:05:50 +00:00
Eric Kohl 895c98c856 Replaced ObRosCreateObject() by ObCreateObject() and ObInsertObject().
Fixed ObCreateObject() and ObInsertObject().

svn path=/trunk/; revision=6140
2003-09-25 20:09:56 +00:00
Hartmut Birr 69ade55431 - Check for the status after calling KeWaitForSingleObject in NtRequestWaitReplyPort.
svn path=/trunk/; revision=5643
2003-08-18 11:48:19 +00:00
Andrew Greenwood 59a33415c2 W32API conversion update
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
2003-08-07 11:47:33 +00:00
Royce Mitchell III 2a438cfb48 created KEBUGCHECK, KEBUGCHECKEX, KEBUGCHECKWITHTS macros to report file/line of bugcheck. replace all direct calls of KeBugCheck, KeBugCheckEx and KeBugCheckWithTs with corresponding macros. I rebuilt from a make clean and it looks good.
svn path=/trunk/; revision=5213
2003-07-21 21:53:53 +00:00
Royce Mitchell III 59d5c9f016 finished applying @implemented and @unimplemented comments and remove the comments from non-api functions
svn path=/trunk/; revision=5068
2003-07-11 01:23:16 +00:00
Royce Mitchell III 00e0a5619c @implemented and @unimplemented comments for ntoskrnl/lpc/*.c
svn path=/trunk/; revision=5052
2003-07-10 20:42:53 +00:00
Hartmut Birr 5f1dae9d19 - Release the lock while accessing pageable user mode buffers in NtReplyWaitReceivePortEx.
svn path=/trunk/; revision=4908
2003-06-16 19:17:08 +00:00
Casper Hornstrup 685119e0cd 2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
Changes for compiling with w32api

	* include/ddk/obfuncs.h (ObCreateObject): Remove.
	* include/ntos/zwtypes.h (ObRosCreateObject): Add.
	* ntoskrnl/ntoskrnl.def, ntoskrnl/ntoskrnl.edf: Export ObCreateObject@36
	and ObRosCreateObject@20.
	* ntoskrnl/cm/ntfunc.c, ntoskrnl/cm/registry.c, ntoskrnl/cm/regobj.c,
	ntoskrnl/io/create.c, ntoskrnl/io/device.c, ntoskrnl/io/iocomp.c,
	ntoskrnl/lpc/connect.c, ntoskrnl/lpc/create.c, ntoskrnl/mm/section.c,
	ntoskrnl/nt/evtpair.c, ntoskrnl/nt/mutant.c, ntoskrnl/nt/ntevent.c,
	ntoskrnl/nt/ntsem.c, ntoskrnl/nt/nttimer.c, ntoskrnl/nt/profile.c,
	ntoskrnl/ob/dirobj.c, ntoskrnl/ob/namespc.c, ntoskrnl/ob/symlink.c,
	ntoskrnl/ps/create.c, ntoskrnl/ps/process.c, ntoskrnl/se/token.c,
	subsys/win32k/ntuser/winsta.c: Use ObRosCreateObject, not ObCreateObject.
	* ntoskrnl/ob/object.c (ObRosCreateObject): Rename from ObCreateObject.
	(ObCreateObject): Add stub.

svn path=/trunk/; revision=4867
2003-06-07 12:23:14 +00:00
Gé van Geldorp 8eaabc5146 Properly clean up terminated threads
svn path=/trunk/; revision=4633
2003-05-01 22:00:31 +00:00
KJK::Hyperion 879b1f5754 My biggest commit so far (everything compiles and apparently runs fine):
- 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
2003-04-26 23:13:33 +00:00
Hartmut Birr 680b25b598 Did not dereference the connected port if the function returns success.
svn path=/trunk/; revision=3975
2003-01-11 15:33:49 +00:00
Hartmut Birr fb46b3c16a * Fixed the buffer allocation in NtAccecptConnectedPort.
svn path=/trunk/; revision=3697
2002-11-05 20:27:56 +00:00
Casper Hornstrup 1d57b8f66d 2002-11-03 Casper S. Hornstrup <chorns@users.sourceforge.net>
* apps/tests/lpc/lpcclt.c: Change LPC_MESSAGE_HEADER to LPC_MESSAGE.
	* include/csrss/csrss.h: Ditto.
	* include/lsass/lsass.h: Ditto.
	* include/napi/dbg.h: Ditto.
	* include/napi/lpc.h: Ditto.
	* lib/kernel32/misc/console.c: Ditto.
	* lib/ntdll/csr/lpc.c: Ditto.
	* lib/ntdll/dbg/debug.c: Ditto.
	* lib/secur32/lsa.c: Ditto.
	* ntoskrnl/dbg/user.c: Ditto.
	* ntoskrnl/include/internal/port.h: Ditto.
	* ntoskrnl/lpc/connect.c: Ditto.
	* ntoskrnl/lpc/reply.c: Ditto.
	* ntoskrnl/ps/process.c: Ditto.
	* subsys/csrss/api/conio.c: Ditto.
	* subsys/csrss/api/process.c: Ditto.
	* subsys/csrss/api/user.c: Ditto.

svn path=/trunk/; revision=3692
2002-11-03 20:01:07 +00:00
Casper Hornstrup 17c0b5798e Reverted latest changes.
svn path=/trunk/; revision=3473
2002-09-08 10:23:54 +00:00
Casper Hornstrup 387d432884 Use free Windows DDK and compile with latest MinGW releases.
svn path=/trunk/; revision=3466
2002-09-07 15:13:13 +00:00
Robert Dickenson 9c63868251 Added a whole lot of CVS sugar so I can use WinCVS flat mode more effectively.
svn path=/trunk/; revision=3390
2002-08-25 07:16:37 +00:00
KJK::Hyperion d8bd5ccb4a New macros InitializeUnicodeString(), RtlInitUnicodeStringFromLiteral() and UNICODE_STRING_INITIALIZATOR(), for fast, compile-time initialization of UNICODE_STRING variables
svn path=/trunk/; revision=3371
2002-08-20 20:37:19 +00:00
Eric Kohl 82b7a361af Started implementing type objects.
Some object manager cleanup.

svn path=/trunk/; revision=2659
2002-03-01 00:47:40 +00:00
Eric Kohl 40a007aba1 - Fixed object creation. Named objects are now automatically attached to a parent directory object.
- Minor header cleanup.

svn path=/trunk/; revision=2632
2002-02-19 00:09:25 +00:00
David Welch c79d00b49a Fixed LPC section bug
svn path=/trunk/; revision=2480
2002-01-03 22:52:29 +00:00
David Welch a155c42316 Virtual memory support
svn path=/trunk/; revision=2462
2001-12-31 01:53:46 +00:00
David Welch 64ebe91f78 Fixed security define spelling
Added duplication notification

svn path=/trunk/; revision=2416
2001-12-05 01:40:25 +00:00
David Welch 7a15ff20db Implemented LPC sections
Changed WriteConsoleOutput to pass data in the section

svn path=/trunk/; revision=2413
2001-12-02 23:34:43 +00:00
Phillip Susi b7f6ddaf9a Fixed typeo that prevented compilation
svn path=/trunk/; revision=2412
2001-12-01 20:57:23 +00:00
David Welch 8fd78223cb include/csrss/csrss.h: Include a define for the size of the common
part of the csrss message header.
lib/kernel32/misc/console.c: WriteConsole: Use the same meanings for the
Length argument to CsrClientCallServer as all other callers.
lib/kernel32/misc/console.c: WriteConsoleOutput: Break up long requests
(not very efficently).
lib/ntdll/csr/lpc.c: CsrClientCallServer: Fill out DataSize and
MessageSize correctly.
lib/kernel32/misc/dllmain.c: DllMain: Die if we can't connect to csrss.
ntoskrnl/include/internal/ntoskrnl.c: Increase size of non-paged pool
ntoskrnl/ke/i386/exp.c: On double fault print loops in the stack trace
only once.
ntoskrnl/ke/i386/usertrap.c: Corrected checking in stack trace.
ntoskrnl/lpc/send.c: NtRequestWaitReplyPort: Check message consistency and
copy in safely.
ntoskrnl/mm/aspace.c: MmLockAddressSpace: Don't bother locking if we are
the only thread running.
ntoskrnl/mm/kmap.c: Implementing support functions for whole page
allocation.
ntoskrnl/mm/npool.c: Implementing allocation mode where every block is
allocated in a whole page and placed against the end so writes beyond the
allocated portion are caught immediately.

svn path=/trunk/; revision=2393
2001-11-25 15:21:11 +00:00
Eric Kohl 20f65a3fb9 Fixed callback calling conventions (part 1).
svn path=/trunk/; revision=2200
2001-08-26 17:30:21 +00:00
Phillip Susi 71f7e0cad5 Fixed LPC port implementation to use an internal semaphore, rather than an
event.  When using the event, if multiple messages were queued to the port
at once, the client would only get the first one, and then block rather than
read the next message.

I think that the port object should have a DISPATCHER_HEADER to make it a
full blown dispatcher object, allowing clients to wait on the port object.

svn path=/trunk/; revision=2003
2001-06-23 19:13:33 +00:00
Eric Kohl 5a58cc8836 Changed ObCreateObject() to a more nt-compatible format.
Now it returns a status value.

svn path=/trunk/; revision=1975
2001-06-16 14:11:31 +00:00
David Welch d60628a01b Fixes for APC handling
Fixes for exceptions
Remove KeAddTimeoutThread
Beginnings of debug handling
Fixes for contiguous memory allocation
Cancel the thread timer before termination

svn path=/trunk/; revision=1709
2001-03-18 19:35:14 +00:00
David Welch 47ea39add9 Represent page-in operations by descriptors
svn path=/trunk/; revision=1682
2001-03-13 16:25:55 +00:00
David Welch c5cdaa420a More .cvsignore files
svn path=/trunk/; revision=1674
2001-03-07 16:55:42 +00:00
David Welch c706428a2b Added tagging of most allocates
Added facility to print out newly allocated blocks from the non paged pool

svn path=/trunk/; revision=1673
2001-03-07 16:48:45 +00:00
Emanuele Aliberti 7bfcc9b94c Stubs for some new LPC functions (w2k).
Added some base checking in NtCreatePort's parameters.

svn path=/trunk/; revision=1581
2001-01-29 00:13:22 +00:00
Eric Kohl c06ef435fb Added mapping of access rights
svn path=/trunk/; revision=1579
2001-01-28 17:42:56 +00:00
David Welch a8660c1f02 Fixes for problems with NtReplyWaitReceive and KeWaitForSingleObject
svn path=/trunk/; revision=1540
2001-01-18 15:00:09 +00:00
David Welch 0fc13a01ee Implemented /Device/PhysicalMemory
Corrected an LPC bug when terminating a process with threads waiting for
LPC messages

svn path=/trunk/; revision=1479
2000-12-28 03:38:08 +00:00
David Welch 488f0ac078 Some work on file caching
Some work on the minix filesystem
Some work on v86 mode support
Implemented NtGetContextThread

svn path=/trunk/; revision=1467
2000-12-10 23:42:01 +00:00