- Created utils.c for the following new functions:
* BasepCreateStack - Creates a stack for a Thread or Fiber
* BasepInitializeContext - Initializes the Context for a Process, a Thread, or a Fiber
* BasepConvertObjectAttributes - Creates a OBJECT_ATTRIBUTES structure based on Win32
lpSecurityAttributes and name.
* BasepFreestack - Frees the stack created in case of a failure inside code using it.
* BasepMapFile - Converts a Win32 Path to NT Path and maps a file into a section.
* Base 8-bit String conversion functions - Use new, more efficient way to select
between OEM/ANSI strings, based on MSDN Article by Matt Pietrek. Other code needs
to be chand to use them.
Also added the new ASM for the startup thunks. All of this is still unused and only being committed to simply the diff output. Credits go to Matt Pietrek and his excellent MSDN article for the 8-bit conversion functions and implementaion details.
svn path=/trunk/; revision=16543
- 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
* Relicense to GPL.
* Display NodeType with meaningfull Human readable names.
* Exclusively use TCHAR strings.
* Display Physical Address, DHCP enabled state, IP Addresses/Netmasks,
* Default Gateway, DHCP server and DHCP Lease times.
* Parse command line options.
* Default to only showing the IP/SM/DG is no options specified
* Handel option: /All and /?
* Display message about all unimplemented options.
* Changed C++ style commenting to C style
svn path=/trunk/; revision=16534
so we can create reactos iso on ros. bug reported by harteex and Brandon Turner, thanks to Brandon to hunt down where the bug was.
svn path=/trunk/; revision=16526
- switch to UNICODE compilaton in Wine
- remove separate unixcalls.c file
- don't crash in set_curdir() for NULL in the 'entry' pointer
svn path=/trunk/; revision=16493