Commit Graph

13 Commits

Author SHA1 Message Date
Alex Ionescu
8c002db0c2 - NDK fix: don't undef a million status codes, instead, have apps define WIN32_NO_STATUS.
- winnt.h: respect WIN32_NO_STATUS for DBG codes.
- rtl: change STDCALL to NTAPI
- everything else: add precompiled headers where missing, define WIN32_NO_STATUS.

svn path=/trunk/; revision=18598
2005-10-19 17:03:38 +00:00
Emanuele Aliberti
3ddfd74461 Add stub for RtlSetProcessIsCritical.
svn path=/trunk/; revision=18217
2005-10-02 15:50:30 +00:00
Thomas Bluemel
c7781723f8 some Nt vs. Zw fixes; these functions shouldn't be used in ntoskrnl but since they're shared there's a chance they could be used
svn path=/trunk/; revision=17992
2005-09-22 23:50:38 +00:00
Alex Ionescu
c39ccd6592 - Part one of major RTL cleanup. Merge duplicated code and stick everything in lib\rtl that used to be in ntdll. Also cleanup the file headers, copyright information and includes.
svn path=/trunk/; revision=17731
2005-09-08 00:09:32 +00:00
Filip Navara
d2bc064abf #include "rtl.h" -> #include <rtl.h>
svn path=/trunk/; revision=16732
2005-07-26 08:39:07 +00:00
Alex Ionescu
e6523bb71e Second part of patch, implements the new RTL functions which will be used (not used by kernel yet).
- RtlCreateUserProcess:
        * Created RtlpInitEnvironment to manage Environment Block creation. Rougly based on
          old KlInitPeb code but with some optimizations.
        * Don't ignore Process Security Descriptor if one was specified.
        * Don't ignore ZeroBits, get correct entrypoint, and don't assume PEB address.
        * Don't close handle of section before closing process handle on failure.
        * Support new undocumented flag which pre-allocates 1MB of memory for Native Processes
        * FIXME: Hande duplication should be done, but wasn't and still isn't.
    
    - RtlpCreateUserStack:
        * New function to create a stack for a Thread, similar to BasepCreateStack but
          has some differences related to StackCommit/StackReserve.
        * Also create Guard Page
        
    - RtlpFreeUserStack:
        * Undoes what the function above does, in case of failure in code using it.
        
    - RtlCreateUserThread:
        * Use the new functions instead of rosrtl.
        
    - RtlInitializeContext:
        * New function similar to BasepInitializeContext but;
            > Uses a single entrypoint, not many possible thunks like Kernel32 (no need)
            > The starting EFLAGS is Interrupts Enabled, not IOPL 3.
            > We don't initialize the same Context Flags
            > The initial context registers are different
            
    - RtlFreeUserThreadStack
        * Don't assume the TEB address
          
    - RtlExitUserThread
        * Remove deprecated stack-switching semantics and use new TEB flag to tell the Kernel
          to deallocate the stack for us.

svn path=/trunk/; revision=16542
2005-07-12 04:41:41 +00:00
Alex Ionescu
a10ed009b7 Partial patch of larger rosrtl removal patch. This one merely is a structure fix patch, and renames/corrects RTL_USER_PROCESS_INFORMATION (which had the totally wrong names) as well as updates the TEB to the latest version. It also fixes SECTION_IMAGE_INFORMATION to have the right format and names. Also, some callers of CreateProcessW are modified to not send a constant string as lpCommandLine (this was illegal and will crash on Windows/my patch). INITIAL_TEB was also renamed to the more correct fields, although they won't make sense with the current rosrtl/rtl implementation, the names will only make sense with the next patch. Finally NtTerminateThread was fixed to support sending NULL as handle, and PspExitThread was updated to work with the new FreestackOnExit flag, both of which will be used in the next patch.
svn path=/trunk/; revision=16540
2005-07-12 01:56:14 +00:00
Thomas Bluemel
945ed508b6 fix code that depends on GCC's void* pointer arithmetic extension
svn path=/trunk/; revision=16420
2005-07-05 00:24:36 +00:00
Thomas Bluemel
eea2c1d47c some %x -> %p fixes
svn path=/trunk/; revision=16418
2005-07-04 22:25:46 +00:00
Steven Edwards
eace72f07c strip whitespace from end of lines
svn path=/trunk/; revision=15165
2005-05-09 01:41:02 +00:00
Alex Ionescu
35deccffea Make rtl use a single header. Helps for PCH and will help for the new Headers (no need to change each file)
svn path=/trunk/; revision=15115
2005-05-08 05:14:46 +00:00
Steven Edwards
bbba49d610 remove the use of windows.h in some places where it is not needed
svn path=/trunk/; revision=14522
2005-04-05 23:04:24 +00:00
Gunnar Dalsnes
95daa63b61 -move rtl thread/process stuff from ntdll to rtl and make ntoskrnl\ldr\init.c use those
-fix RtlCreateUserProcess to create the thread suspended and update all users of RtlCreateUserProcess to manually resume the thread

svn path=/trunk/; revision=14430
2005-04-02 00:18:46 +00:00