Commit Graph

865 Commits

Author SHA1 Message Date
Jukka Heinonen d7ee5f3f31 Fix race in real mode event handling.
Merge real mode pending event checking routines.
Remove some obsolete code.
2003-11-11 00:44:10 +00:00
Alexandre Julliard 50fba7ffec Moved the remaining SYSDEPS_* functions to the wine_pthread interface.
Let the pthread library allocate the stack itself.
2003-11-09 01:25:23 +00:00
Alexandre Julliard 4dba172e55 Added server_abort_thread to replace SYSDEPS_AbortThread.
Removed no longer used SIGNAL_Block and SIGNAL_Reset.
Moved some internal ntdll definitions to ntdll_misc.h.
2003-11-06 00:08:05 +00:00
Alexandre Julliard 8574412e1e Added wine_pthread_create_thread and wine_pthread_exit_thread to the
pthread support, and removed the corresponding SYSDEPS functions.
Moved stack allocation for new threads to wine_pthread_create_thread
to allow more flexibility.
2003-11-05 23:31:11 +00:00
Ulrich Czekalla da10653f6f Implemented RtlSelfRelativeToAbsoluteSD and RtlMakeSelfRelativeSD.
Fixed some related SE_SELF_RELATIVE bugs.
2003-11-05 01:41:20 +00:00
Alexandre Julliard 063cff8686 Use the signal stack pointer to determine the current thread.
Converted the SIGUSR2 handler to use setup_exception (probably still
not working properly).
2003-11-05 00:52:29 +00:00
Alexandre Julliard 7924f421e9 Allocate the TEB and signal stack separately from the main stack.
Dynamically allocate the initial TEB too so that it is properly
page-aligned.
2003-11-04 04:50:18 +00:00
Gerald Pfeifer bcb09c198d The CDDA case of CDROM_RawRead() no longer works on FreeBSD -CURRENT,
remove it.  Also, combine the FreeBSD and NetBSD NYI notes.
2003-11-04 04:23:49 +00:00
Alexandre Julliard a062677a95 Allocate a memory view for builtin dlls so that VirtualQuery returns
something sensible.
2003-11-03 22:23:09 +00:00
Alexandre Julliard 7fcc737faa Fixed type and protection values returned by NtQueryVirtualMemory to
be closer to what Windows does.
Allow using MEM_SYSTEM without MEM_RESERVE to avoid 64k alignment.
Use pread instead of lseek+read when faking mmap.
2003-11-03 22:21:55 +00:00
Alexandre Julliard 7370f60120 Implemented RtlCreateUserThread, and use it to move thread creation to
ntdll.
2003-10-31 00:16:20 +00:00
Alexandre Julliard 0f95d5498d Fixed race in %gs selector restoring during vm86 mode return.
Minor cleanups.
2003-10-30 23:15:56 +00:00
Pavel Roskin 0f252372b7 Include ntdll_misc.h to avoid undefined reference to GetProcessHeap
when compiled without optimization.
2003-10-30 23:06:41 +00:00
Alexandre Julliard 07931f2d70 Removed no longer needed SIGNAL_Unblock() function. 2003-10-28 21:46:46 +00:00
Alexandre Julliard 54b1d87daf Implemented Add/RemoveVectoredExceptionHandler. 2003-10-28 21:22:50 +00:00
Alexandre Julliard 4cb001967a Switch back to the main process stack before calling exception
handlers.
2003-10-28 00:30:55 +00:00
Alexandre Julliard 8f1b861e27 Repaired relay debugging for kernel and ntdll (spotted by Uwe
Bonnes).
2003-10-28 00:25:32 +00:00
Uwe Bonnes d0f86f640b get_full_path_helper: Handle the case \\.\\ as intended; fix length
arguments for memmove.
2003-10-28 00:07:56 +00:00
Alexandre Julliard 2e4f0bc9ba Use sigsetjmp instead of setjmp in Wine internal exception handlers to
make sure the signal mask is restored properly.
2003-10-24 04:30:13 +00:00
Alexandre Julliard f9df57d94d Call the application entry point from kernel32, some apps depend on
that.
2003-10-24 00:32:36 +00:00
Alexandre Julliard 8824c38e9e Simplified signal stack allocation a bit, and avoid allocating it on
non-i386 platforms.
2003-10-22 03:26:53 +00:00
Alexandre Julliard 5e4e0de15f A signal stack is not needed on PowerPC. 2003-10-22 03:25:38 +00:00
Dave Belanger 2c39191ef1 Fix splitpath and wsplitpath for the file extension. 2003-10-21 23:51:06 +00:00
Alexandre Julliard bbc5242fbc Fixed handling of relay and snoop include/exclude lists to behave as
documented (based on a patch by Rein Klazes).
2003-10-16 00:24:49 +00:00
Alexandre Julliard 2937826866 Rewrote splitpath and wsplitpath to avoid modifying the path
separators.
2003-10-15 02:34:51 +00:00
Jukka Heinonen 46f29944c3 Remove races from DPMI async event handling. 2003-10-14 05:20:34 +00:00
Gerald Pfeifer 9b4b21b7b0 Fix function pointer variable declaration in __wine_process_init(). 2003-10-14 05:19:24 +00:00
Alexandre Julliard e55d5937ac Set or clear the BeingDebugged flag in the PEB when a debugger is
attached to or detached from a process.
Don't send exception events to the server unless a debugger is
present.
2003-10-14 01:30:42 +00:00
Alexandre Julliard 08a64e6e6a Moved the pthread emulation into the main binary so that we don't need
to link it against ntdll.
2003-10-10 23:37:18 +00:00
Alexandre Julliard a438ebc509 Fixed importing of dlls with no exports (reported by Warren Baird).
Don't crash on an empty load order specification (reported by Maxime
Bellengé).
Try to avoid crashing when an import is missing for a builtin dll.
2003-10-10 23:28:51 +00:00
Alexandre Julliard 21066d0d44 Link kernel32 as a normal dll. 2003-10-10 00:23:47 +00:00
Alexandre Julliard 410e6b7b39 Changed the init code to make libwine load only ntdll and transfer
control to it, and then have ntdll load kernel32 using the normal
loader mechanisms.
Get rid of BUILTIN32_LoadExeModule.
2003-10-10 00:12:17 +00:00
Alexandre Julliard 5cb5aa6346 Use the Rtl bitmap functions to implement Tls allocation.
Get rid of the PDB structure.
2003-10-09 19:58:56 +00:00
Alexandre Julliard 96118aeafb Added a few missing exports. 2003-10-09 05:00:41 +00:00
Alexandre Julliard 20e73d739a Moved the constructor for the initial TEB to ntdll so that it runs as
early as possible on startup.
2003-10-09 04:59:03 +00:00
Alexandre Julliard 67d9f38059 Added __wine_set_signal_fs function to avoid sharing the
SYSLEVEL_Win16CurrentTeb variable between kernel and ntdll.
On the kernel side, replaced SYSLEVEL_Win16CurrentTeb by
CallTo16_TebSelector stored directly in the asm relay code to avoid a
run-time relocation.
2003-10-08 22:59:22 +00:00
Alexandre Julliard 2de67b8428 Duplicate parts of the relay debugging init code into kernel to avoid
referencing ntdll internal symbols.
2003-10-08 22:41:12 +00:00
Alexandre Julliard 0de2fde550 Moved build_command_line back to kernel and make it handle Unicode
properly.
2003-10-08 22:38:52 +00:00
Pavel Roskin e5e1844d24 Include ntdll_misc.h to get the GetCurrentProcess/ThreadId macros. 2003-10-08 22:34:37 +00:00
Pavel Roskin 3ec73af37f Include ntdll_misc.h to get the GetCurrentProcess/ThreadId macros. 2003-10-08 19:11:08 +00:00
Pavel Roskin 91f234f267 Eliminate dependency on SetLastError(). 2003-10-08 19:10:33 +00:00
Alexandre Julliard 687ecfa312 Moved a few more functions to the dlls/kernel directory. 2003-10-08 04:24:49 +00:00
Alexandre Julliard b81d9e7cf4 Link all remaining files that contain kernel APIs into kernel32.dll
instead of ntdll.dll. Removed a number of no longer needed files.
2003-10-08 03:57:02 +00:00
Alexandre Julliard 953849f2fc Added hack to call CreateFileW through a pointer so that we don't need
to link to kernel functions.
Commented out SMB support in NtReadFile for now.
2003-10-08 03:51:31 +00:00
Alexandre Julliard 01def427b7 Pass the cdrom device path in CDROM_InitRegistry so that ntdll doesn't
need to call DRIVE_GetDevice.
Get rid of GetDriveType calls.
2003-10-08 02:59:22 +00:00
Alexandre Julliard 87ae825bf8 Get rid of the argv0 and full_argv0 global variables. 2003-10-08 00:45:01 +00:00
Alexandre Julliard af192f83b6 Store a "removable" flag instead of the full drive type in the server
file object; this way we don't need to use GetDriveTypeW in the loader
code.
Make sure we always have a valid builtin_load_info pointer.
2003-10-08 00:25:32 +00:00
Alexandre Julliard 146afcc98c Removed references to GetSystemDirectoryW.
Optimized module lookup a bit.
Keep track of the modref pointer across builtin dll loads to avoid
having to look it up by name afterwards.
2003-10-07 22:56:34 +00:00
Rein Klazes c6c404dcd6 Added a check for <scsi/scsi.h> and include it in dlls/ntdll/cdrom.c. 2003-10-07 22:49:22 +00:00
Alexandre Julliard 5d9422b09f Rewrite of the dll file search algorithm to better deal with the
broken behavior of RtlDosSearchPath_U.
2003-10-07 03:48:42 +00:00
Alexandre Julliard 509e4d175a A couple more fixes in RtlGetFullPathName_U.
Reverted my previous fix in RtlDosSearchPath_U, extension handling is
supposed to be broken.
2003-10-07 03:46:34 +00:00
Alexandre Julliard 632676b17e Moved the final process init and dependency loading to
dlls/ntdll/loader.c, (ab)using the LdrInitializeThunk entry point.
2003-10-06 21:18:51 +00:00
Alex Pasadyn 0f5db95401 Fix buffer length error code for NtQueryInformationToken. 2003-10-06 21:04:06 +00:00
Daniel Marmier 0348649853 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-06 21:03:32 +00:00
Alexandre Julliard 841f898663 Converted process creation to Unicode. 2003-10-04 04:09:41 +00:00
Alexandre Julliard 5e3549bf3b Implemented RtlCreateProcessParameters and related functions. 2003-10-04 03:11:57 +00:00
Eric Pouech 7760413f6b Fixed a couple of bugs in RtlGetFullPathName_U. 2003-10-04 03:06:58 +00:00
Uwe Bonnes 6d59b887cd SNOOP_ShowDebugmsgSnoop(): check for NULL function name. 2003-10-04 03:05:58 +00:00
Michael Günnewig 4d375d1b8b Fixed warnings with gcc option "-Wwrite-strings". 2003-10-04 03:04:45 +00:00
Alexandre Julliard fbb5390a32 Avoid closing the cdrom if we failed to open it. 2003-10-03 04:35:55 +00:00
Pavel Roskin 8956e41b82 Add support for SCSI CD-ROMs to CDROM_GetInterfaceInfo().
Fix device number for IDE CD-ROMs.  Return 0 for unsupported drives.
2003-10-03 04:33:25 +00:00
Alexandre Julliard 4137aecaa5 Changed LdrLoadDll to only search for the dll in the specified path,
using ntdll functions.
Moved LOAD_WITH_ALTERED_SEARCH_PATH functionality to LoadLibraryEx
where it belongs.
2003-10-02 04:58:49 +00:00
Alexandre Julliard 28c3c2f0f0 Fixed a couple of bugs in RtlDosSearchPath_U and RtlGetFullPathName_U.
Make RtlDoesFileExists_U do something useful by calling CreateFileW
for now.
2003-10-02 04:43:45 +00:00
Gerald Pfeifer aa0f37940f Cast time_t parameters to fprintf(...,"%l",...) to long. 2003-10-02 04:29:30 +00:00
Jon Griffiths 4c1fa161a3 Documentation updates. 2003-10-01 03:20:21 +00:00
Alexandre Julliard c30cefb2d5 Store module names in Unicode in the server. 2003-09-30 01:04:19 +00:00
Alexandre Julliard f80b869939 Converted most of the loader code to Unicode. 2003-09-29 20:42:24 +00:00
Alexandre Julliard 1cb92bbeec Converted the load order code to use Unicode throughout. 2003-09-27 03:50:40 +00:00
Alexandre Julliard 74c5efeb76 Moved WINE_MODREF definition to loader.c.
Removed short module name from WINE_MODREF, Windows doesn't have it.
Rewrote LdrGetDllHandle to only use Unicode.
2003-09-25 23:55:35 +00:00
Alexandre Julliard 2052538a47 Moved loadorder support to dlls/ntdll.
Removed the --dll option and replaced it by the WINEDLLOVERRIDES
environment variable.
2003-09-25 20:33:41 +00:00
Jon Griffiths 90535ce905 Various test fixes for XP/msvc. 2003-09-25 20:29:40 +00:00
Alexandre Julliard 16cd86197a Moved DLLFLAGS to a separate variable instead of including it in
DEFS.
2003-09-24 19:01:44 +00:00
Alexandre Julliard 240b0a9b48 Moved the Windows version code to dlls/ntdll, and implemented
RtlGetVersion and RtlVerifyVersionInfo.
Moved the 16-bit and DOS version support to dlls/kernel.
2003-09-24 05:26:00 +00:00
Jon Griffiths fe455456af Documentation updates. 2003-09-24 05:14:39 +00:00
Steven Edwards 807e4af46e Porting fix. 2003-09-22 19:28:21 +00:00
Alexandre Julliard a37e7608c7 Moved 32-bit relay and snoop support to dlls/ntdll. 2003-09-19 04:32:39 +00:00
Alexandre Julliard 97ad311e71 Moved the 32-bit builtin loader and the remaining bits of the PE
loader into dlls/ntdll/loader.c.
2003-09-19 04:04:57 +00:00
Eric Pouech c3e6c095e1 Implemented kernel32.GetIoProcessCounters and stubbed
ntdll.NtQueryProcessInformation(ProcessIoCounters).
2003-09-19 00:06:45 +00:00
Alexandre Julliard 52f692fb9b Moved the wine server client-side support to dlls/ntdll. Removed a
couple of unnecessary functions.
2003-09-18 23:27:19 +00:00
Alexandre Julliard ec39821750 Moved 16-bit global heap, DOS memory and selector functions to
dlls/kernel.
2003-09-18 20:58:41 +00:00
Alexandre Julliard bff860c4b1 Moved synchronization and syslevel routines to dlls/kernel. 2003-09-18 04:39:13 +00:00
Alexandre Julliard dccbbcd5d5 Link msdos/int21.c into kernel for now, until it is properly moved to
winedos.
2003-09-18 00:58:48 +00:00
Alexandre Julliard 9eb1d2c7fa Moved I/O port handling to dlls/winedos. 2003-09-17 22:45:46 +00:00
Alexandre Julliard aaf3503ea5 Moved almost all remaining process, thread, fiber and exception
functions to dlls/kernel.
2003-09-17 05:31:32 +00:00
Alexandre Julliard 1479aebda3 Moved instruction emulation to dlls/kernel. 2003-09-17 04:34:31 +00:00
Steven Edwards c07808a04b Remove redundant includes. 2003-09-17 04:16:51 +00:00
Alexandre Julliard 65e7196fed Moved most kernel string functions to dlls/kernel. 2003-09-16 20:35:42 +00:00
Alexandre Julliard 0f170015f1 Moved most 32-bit heap functions to dlls/kernel. 2003-09-16 20:34:14 +00:00
Eric Pouech 9fd54b2838 - Implemented a few information classes in NtQuerySystemInformation.
- Added handle information to (wineserver) process snapshot.
2003-09-16 01:07:21 +00:00
Francois Gouget ae50013017 Fix the case of product and company names. 2003-09-08 19:38:45 +00:00
Alexandre Julliard 2eb5d8b9b1 On TlsFree, clear the released TLS index in all threads. 2003-09-08 19:02:01 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 80e34dbb66 Moved the implementation of the pthread wrappers to dlls/kernel. 2003-09-03 00:26:08 +00:00
Alexandre Julliard ca3bfd8318 Export SYSDEPS_SwitchToThreadStack() functionality from libwine as
wine_switch_to_stack().
2003-08-29 22:23:42 +00:00
John K. Hohm a3f6410f9e Set SE_GROUP_ENABLED in Attributes of Administrators SID during
NtQueryInformationToken for TokenGroups.
2003-08-29 22:10:53 +00:00
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Dave Belanger 06da8c2869 Fixed a compile error. 2003-08-28 19:39:42 +00:00
Alexandre Julliard b91e9cb3e6 Renamed a few more TEB fields. 2003-08-28 03:44:41 +00:00
Alexandre Julliard ee106783d0 Renamed EXCEPTION_FRAME to EXCEPTION_REGISTRATION_RECORD since that
seems to be the official name.
2003-08-28 03:07:56 +00:00
Alexandre Julliard 02f2813968 Renamed a few TEB fields to use the "official" names. 2003-08-27 23:14:29 +00:00
Alexandre Julliard bf97962a51 Avoid including stackframe.h if it's not needed. 2003-08-27 02:52:17 +00:00
Alexandre Julliard 94463d7bbe Moved profile functions to dlls/kernel. 2003-08-26 02:54:37 +00:00
Alexandre Julliard 0ac9690081 Moved 16-bit relay and snoop support to dlls/kernel. 2003-08-26 02:28:59 +00:00
Alexandre Julliard 3be5d62b29 Moved 16-bit calls initialization and exception handling to kernel32.
Store the call_to_16 return address on the stack from the C code so
that we don't need two variants of call_to_16_regs.
2003-08-25 00:56:37 +00:00
Alexandre Julliard 9ca159b61a Moved 16-bit builtin module handling to dlls/kernel/ne_module.c. 2003-08-23 23:07:10 +00:00
Alexandre Julliard af62e83d1c Got rid of 16-bit glue code generation since it is no longer used. 2003-08-23 00:45:20 +00:00
Alexandre Julliard 5fbb446cfc Moved most of the 16-bit task support and NE module loader to
dlls/kernel.
2003-08-23 00:03:40 +00:00
Alexandre Julliard aee989a7ed Store the debug info structure on the thread stack.
Moved thread initialization code from sysdeps.c to thread.c to avoid
an indirection.
2003-08-21 21:34:33 +00:00
Alexandre Julliard 864ca06832 winnls.h must not include winbase.h. 2003-08-20 18:22:31 +00:00
Dmitry Timoshkov 4aec75f017 Apply only specified tests.
Implement IS_TEXT_UNICODE_REVERSE_SIGNATURE, IS_TEXT_UNICODE_STATISTICS
and IS_TEXT_UNICODE_NULL_BYTES tests.
Revert IS_TEXT_UNICODE_ODD_LENGTH test.
2003-08-20 03:34:45 +00:00
Alexandre Julliard 9b8a0595bc _ftol should return a 64-bit int (spotted by Jon Griffiths). 2003-08-19 01:03:08 +00:00
Jon Griffiths 08922859c6 Make RtlTimeToSecondsSince1970 consistent with other time calls.
Documentation fixes.
2003-08-19 00:56:34 +00:00
Jon Griffiths 228f22e967 Add some new types and functions.
Remove ITU_IMPLEMENTED_TESTS, its not part of the Win32 Api.
2003-08-18 19:54:13 +00:00
Eric Pouech a851c88001 Regression fixes for Nt{Read|Write}File:
- actually block in TIMEOUT mode
- in overlapped mode, if any data is already available then process it
  without returning a pending status code
2003-08-18 19:45:53 +00:00
Alexandre Julliard 03d7998970 Moved __errno_location() handling to pthread.c, and added similar
handling for __res_state().
2003-08-15 03:55:06 +00:00
Alexandre Julliard 52b9cedb8e Don't try to allocate the debug info before the process heap exists. 2003-08-13 01:09:45 +00:00
Alexandre Julliard 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Alexandre Julliard 06e34ffc12 Minor tracing fix. 2003-08-12 20:34:06 +00:00
Alexandre Julliard 97d862c93c Fixed the pthread wrappers to work with the new glibc/linuxthreads
interface in glibc 2.3.2.
2003-08-12 18:59:13 +00:00
Alexandre Julliard d7fca891e9 Avoid non-portable long long constants. 2003-08-06 22:09:11 +00:00
Alexandre Julliard 8669193d11 Properly free thread stacks on NPTL systems. 2003-08-02 00:44:25 +00:00
Mike McCormack 36cd6f5dbb Added a security token object in wineserver. 2003-07-24 00:07:00 +00:00
Pierre d'Herbemont 8eb55b8892 Added PowerPC support in SYSDEPS_SwitchToThreadStack. 2003-07-24 00:02:40 +00:00
Marcus Meissner 20ea3a2d52 Added missing register defines for Linux/PPC. 2003-07-21 20:03:07 +00:00
Jon Griffiths 3c95046d03 Fix -W warnings. 2003-07-19 03:06:03 +00:00
Alexandre Julliard 0fb0f2a306 Print status codes in hex. 2003-07-18 23:00:49 +00:00
Jon Griffiths 7787587587 Documentation updates. 2003-07-18 22:55:28 +00:00
Jon Griffiths b62fb40f54 Added some new Rtl* tests. 2003-07-18 22:55:15 +00:00
Pierre d'Herbemont 3b9f280d81 Change __darwin__ to __APPLE__. 2003-07-16 23:29:40 +00:00
Pierre d'Herbemont 41670d3ed7 Added support for the TEB on Mac OS X. 2003-07-16 23:29:14 +00:00
Francois Gouget 3ca761220a Spelling fixes (s/occured/occurred/ and variants). 2003-07-15 20:53:39 +00:00
Paul Rupe eede817da2 register_new_async sets status already. Do not overwrite it with the
function's return value.
2003-07-11 21:44:17 +00:00
Alexandre Julliard 09029b2878 Implemented the SMTO_ABORTIFHUNG flag of SendMessageTimeout. 2003-07-11 04:09:42 +00:00
Dmitry Timoshkov 14d766845c Fix spec entry for ZwSetTimerResolution. 2003-07-09 19:44:51 +00:00
Alexandre Julliard 4f196ead13 Implemented the ThreadBasicInformation case for
NtQueryInformationThread.
2003-07-09 02:57:57 +00:00
Mike McCormack 99c67eefcd Null parameters need to be quoted on the commandline. 2003-07-09 02:50:15 +00:00
Alexandre Julliard 4f4b980c1e Implemented NtRead/WriteVirtualMemory. 2003-07-08 21:18:45 +00:00
Alexandre Julliard d9780a8b3e Fixed compile when functions are not inlined. 2003-07-03 18:12:38 +00:00
Francois Gouget 14a5d168e9 Fixed some common spelling errors. 2003-07-02 04:37:26 +00:00
Eric Pouech 675b75597b - removed next & prev fields from WINE_MODREF and implement instead
the three linked lists in LDR_MODULE
- added PEB_LDR_DATA structure to PEB
- removed a couple of no longer needed global & static variables
2003-07-01 03:38:56 +00:00
Jukka Heinonen 2a3ce4c425 Start processing asynchronous DOS events in DPMI mode. 2003-07-01 03:37:41 +00:00
Alexandre Julliard 217fdab78f Implemented NtDelayExecution and make Sleep call it.
The handle count must not be 0 in NtWaitForMultipleObjects (spotted by
Troy Rollo).
2003-06-30 21:00:15 +00:00
Dmitry Timoshkov 85d4281616 Implement LCMapString using unicode collation tables.
Move CompareString and LCMapString to dlls/kernel/locale.c.
2003-06-27 19:02:23 +00:00
Alexandre Julliard 4cb212063b Moved some of the process functions to dlls/kernel.
Removed kernel dependencies from sysdeps.c and moved it to dlls/ntdll.
2003-06-27 04:08:04 +00:00
Alexandre Julliard b379334271 Make sure to return an error if load_dll fails because the load order
is empty.
2003-06-27 04:06:23 +00:00
Troy Rollo b58e121326 Removed FIXME when loading second exe file. 2003-06-27 04:05:27 +00:00
Eric Pouech 9bd4f6bf15 - made async.h ready for use in ntdll: replaced all calls to kernel32
functions with ntdll equivalent
- replaced status setter/getter for wine async structures with direct
  access to a (now included) IO_STATUS_BLOCK structure
- since we now have a IO_STATUS_BLOCK in async_private, we no longer
  need in most of the user (derivated) structures a field for
  LPOVERLAPPED (it's stored as the IO_STATUS_BLOCK)
- rewrote the async.h users accordingly
- implemented ntdll.Nt{Read|Write}File and let
  kernel32.{Read|Write}File(Ex)? use those new ntdll functions
- rewrote smb read/write interfaces to be more ntdll stylish (no
  overlapped yet)
2003-06-26 02:08:17 +00:00
Eric Pouech 583bb3fd3e - started implementing ntdll.NtDeviceIoControlFile and made
kernel32.DeviceIoControl call it
- changed cdrom ioctl function's prototype to stick to
  ntdll.NtDeviceIoControlFile signature
2003-06-24 19:28:21 +00:00
Alexandre Julliard dc4b0c7655 Moved tape.c to dlls/kernel.
Moved critical section and resource update functions to dlls/kernel.
Started moving some of the thread functions too.
2003-06-24 03:34:15 +00:00
Eric Pouech f6a70969e1 - start moving a few file related functions from files/file.c to
dlls/kernel subdir (also splitting 16bit APIs in a separate file)
- implemented ntdll.Nt{Lock|Unlock}File, and made use of those for the
  kernel32 equivalent
- implemented a few information classes in NtQueryInformationFile and
  NtSetInformationFile (still lots of missing classes)
- enhanced the get_file_info server request in order to implement
  correctly NtQueryInformationFile (change time & file alloc size)
- rewrote registry loading to comply with latest changes
2003-06-24 02:32:01 +00:00
Eric Pouech c962a6997c - in kernel32, replaced all {Enter|Leave}CriticalSection calls with
ntdll counterparts
- {Enter|Leave}CriticalSection is now a pure forward from kernel32 to
  ntdll (we now longer can use {Enter|Leave}CriticalSection in kernel32)
- replaced a few kernel32 heap management calls from ntdll, with
  RtlHeap* equivalents
2003-06-23 18:12:28 +00:00
Eric Pouech 415dfa63e5 Fixed section mapping in PE loading when both
IMAGE_SCN_CNT_UNINITIALIZED_DATA and IMAGE_SCN_CNT_INITIALIZED_DATA
are set.
2003-06-21 02:02:27 +00:00
Francois Gouget 9591836ffb 'sizeof type' is best avoided as it won't always compile (e.g. 'int
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Francois Gouget c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Eric Pouech 9d0fa2f02e - kernel32's environment tests: a few more tests now succeed
- added some console related tests to process creation
- added a few more test cases to the ntdll environment tests
2003-06-18 03:24:20 +00:00
Eric Pouech b53b5bcb50 - fixed a couple of bugs in ntdll environment functions (one in trace,
the other one in environment variable expansion)
- the process parameters, when passed thru wineserver, are now fully
  handled in ntdll, they are stored in the RTL_USER_PROCESS_PARAMETERS
  structure.
- later on in kernel32 loading sequence, those parameters are copied
  into STARTUPINFO shadow structures
- later modification to those paramters are now reflected to the
  RTL_USER_PROCESS_PARAMETERS structure (and STARTUPINFO is kept
  untouched) (for example, StdHandle setting) (Win 2k behaves like this)
- ENVDB has been removed
- command line inheritance (from unix command line) is now purely in ntdll
- all kernel32 environment functions now rely on their ntdll counterparts
- goodies: input/output handle inheritance while asking for a detached
  console is better handled; a few more kernel32 environment tests now
  pass ; silenced a valgrind warning in process creation
2003-06-18 03:23:22 +00:00
736ff98510 Added AddAccessAllowdAceEx, AddAccessDeniedAceEx, GetAclInformation. 2003-06-16 19:44:06 +00:00
Mike Hearn 25b4d10138 Add the ID of the blocking thread to the error message. 2003-06-16 19:36:22 +00:00
Eric Pouech 2e5cdf95da Implemented:
- RtlDoesFileExists_U as a stub
- RtlDosSearchPath_U
2003-06-16 01:24:30 +00:00
Jukka Heinonen ae906923a1 Remove SIGALRM handler.
Reserve TEB field for DPMI virtual interrupt flag.
2003-06-16 01:18:26 +00:00
Eric Pouech 1bb3859ece Added support for overlapped ioctl requests (and a few other
cosmetics).
2003-06-13 16:33:50 +00:00
Eric Pouech 8638b26483 Correctly convert into EXCEPTION_RECORD SIGTRAPs received from
DebugBreakProcess.
2003-06-07 00:33:13 +00:00
Yorick Hardy 4b1f667e73 Improve CDROM_GetIdeInterface (becomes CDROM_GetInterfaceInfo), in
order to better support SCSI drives.
2003-06-04 20:15:59 +00:00
Yorick Hardy 6dd0685f74 Use SA_RESTART on NetBSD. 2003-06-04 20:15:10 +00:00
Jukka Heinonen 38fa857648 Timer routines must check for NULL timer name. 2003-06-04 20:14:24 +00:00
Alexandre Julliard 6bc5091160 Start to make use of the proper PEB structure for process
information.
2003-05-22 03:44:01 +00:00
Alexandre Julliard 78d108b964 Moved misc/error.c to dlls/kernel/error16.c.
Get rid of misc/main.c.
2003-05-21 18:31:01 +00:00
Alexandre Julliard 81e72d8f2d Moved all process initialisation code to process.c and removed
loader/main.c.
2003-05-20 19:21:43 +00:00
Eric Pouech b350438074 Implemented NtQueryObject and NtSetInformationObject for the
ObjectDataInformation class.
2003-05-20 19:20:42 +00:00
Yorick Hardy d1d5ca539d Implement CDROM_ScsiPassThrough and CDROM_ScsiPassThroughDirect on
NetBSD.
2003-05-20 19:17:04 +00:00
Alexandre Julliard b2f32bc604 Moved system.dll implementation to dlls/kernel. 2003-05-20 17:50:59 +00:00
Eric Pouech c00a4473bd Implement anonymous pipes on top of named pipes. 2003-05-20 04:32:53 +00:00
Alexandre Julliard 9bf3ac619e Moved timer functions to dlls/kernel. 2003-05-20 04:14:45 +00:00
Eric Pouech 4c591d4ef3 Implemented timer related functions in ntdll and make the kernel32
functions use them.
2003-05-20 04:00:42 +00:00
Alexandre Julliard c7a51eec43 Only create the 16-bit dummy module when we need really it. 2003-05-20 02:32:26 +00:00
Yorick Hardy c26b7dbad9 Added the implementation for CDROM_GetIdeInterface on NetBSD. 2003-05-19 21:46:09 +00:00
Alexandre Julliard 3d15c86cf8 Moved atom functions to dlls/kernel. 2003-05-16 00:05:08 +00:00
Alexandre Julliard a098c82aac Moved vxd support to winedos. 2003-05-15 23:25:49 +00:00
Mike McCormack ef8b94622a - rewrite of the named pipe code
- allow NtFileFlushBuffers to wait
- allow DisconnectNamedPipe to invalidate client cached fd
- fix the pipe test now that one extra test passes
2003-05-15 04:22:45 +00:00
Eric Pouech 35d5d06ac9 Implemented RtlDosPathNameToNtPathName_U, RtlGetCurrentDirectory_U,
RtlGetFullPathName_U and RtlSetCurrentDirectory_U (the last one
partially as we can't test whether a path exists or not).
2003-05-15 04:20:42 +00:00
Alexandre Julliard adb532903c Rewrote module TLS support and moved it to ntdll. 2003-05-14 19:51:14 +00:00
Alexandre Julliard 0b34697abb Made INSTR_EmulateInstruction return the exception code.
Don't allow intXX instructions from 32-bit code (based on a patch by
Jukka Heinonen).
2003-05-14 19:41:16 +00:00
Eric Pouech f06a996a07 Enhanced test for queries, added tests for expansion. 2003-05-13 04:46:05 +00:00
Eric Pouech b124fa9617 Implemented RtlExpandEnvironmentStrings_U and fixed an incorrect
behavior in RtlQueryEnvironmentString.
2003-05-13 04:45:50 +00:00
Pierre d'Herbemont ed3417e349 - Save more registers (exception, float...) if they are defined.
- Add Mac OS X signal support.
2003-05-13 03:35:01 +00:00
Francois Gouget f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +00:00
Robert Shearman 8e3bb615a0 Fix NULL pointer error when displaying error message about missing
forwarded export.
2003-05-13 00:28:25 +00:00
Aric Stewart 3de90d99b7 RtlUnicodeToMultiByteSize argument is not a null terminated string,
use 'ptr'.
2003-05-12 03:32:56 +00:00
Dmitry Timoshkov 7baa67cbcb Added missing return in HEAP_ValidateInUseArena. 2003-05-12 03:32:07 +00:00
Alexandre Julliard f54ffdac93 Removed unnecessary function link names. 2003-05-11 03:04:57 +00:00
Alexandre Julliard d9bab57477 Added support for calling the TLS callback functions. 2003-05-08 04:13:26 +00:00
Alexandre Julliard c808e67da1 Fixed wrong file offset used when mapping the import directory from a
shared section.
2003-05-08 03:50:32 +00:00
Eric Pouech 3a10bf5890 Added environment tests. 2003-05-08 03:47:24 +00:00
Eric Pouech 2d758c6444 Implemented a bunch of environment related NTDLL APIs. 2003-05-08 03:47:00 +00:00
Alexandre Julliard ce4d111cd8 Moved the EnumResource* functions to the kernel dll, and fixed their
prototypes.
2003-05-07 03:21:26 +00:00
Alexandre Julliard 54f59e5005 Added comment about why changing ADDRESS_SPACE_LIMIT is wrong. 2003-05-06 18:52:43 +00:00
Alexandre Julliard ebe67a2864 Added support for retrieving page fault address on Solaris (based on a
patch by Robert Lunnon).
2003-05-06 18:50:08 +00:00
Thomas Mertes 4f6caf6ca3 Tests for RtlDuplicateUnicodeString, RtlFindCharInUnicodeString,
RtlInitUnicodeStringEx.
2003-05-06 18:28:02 +00:00
Thomas Mertes d628d125ab Implement RtlDuplicateUnicodeString, RtlFindCharInUnicodeString,
RtlInitUnicodeStringEx.
Documentation updates for RtlInitAnsiString, RtlInitString,
RtlInitUnicodeString, RtlAnsiStringToUnicodeString and
RtlOemStringToUnicodeString.
2003-05-06 18:27:40 +00:00
Marcus Meissner e65d6715ce Fixed powerpc compile. 2003-05-04 02:25:07 +00:00
Robert Shearman f0025e2adc - Implemented RtlAddAccessAllowedAce, RtlAddAccessDeniedAce,
RtlAddAce, RtlValidAcl.
- Added the corresponding functions in advapi32.
- Grouped the ACL functions in advapi32.
2003-05-01 00:29:26 +00:00
Alexandre Julliard 88fbc45dc9 Fixed typo in last minute change (spotted by Gerald Pfeifer). 2003-04-30 17:12:14 +00:00
Alexandre Julliard 424202bd9a Moved most of the kernel resource APIs to dlls/kernel. 2003-04-30 00:53:23 +00:00
Alexandre Julliard 86666c51e2 Implemented ntdll resource functions. 2003-04-29 23:00:48 +00:00
Eric Pouech b6338878a8 Moved kernel32.FlushFileBuffers to ntdll.NtFlushBuffersFile. 2003-04-22 04:04:17 +00:00
Alexandre Julliard 2e12d33dfd Removed no longer needed uses of LDPATH. 2003-04-21 23:54:05 +00:00
Jukka Heinonen 013f89465c Moved dosconf.c to winedos. 2003-04-21 23:22:53 +00:00
Alexandre Julliard d6da1f33ab Implemented RtlIsNameLegalDOS8Dot3 (based on a patch by Eric Pouech).
Implemented RtlUpcaseUnicodeStringToCountedOemString.
2003-04-16 23:15:29 +00:00
Alexandre Julliard 46adbecd13 Insert the last free block of a subheap at the end of the free list to
avoid using uncomitted space unless really necessary.
2003-04-14 21:44:21 +00:00
Alexandre Julliard aa94a5ad1a Implemented RtlDetermineDosPathNameType_U and RtlIsDosDeviceName_U. 2003-04-12 00:10:13 +00:00
Robert Shearman efc069cbb3 Added NtQueryProcessInformation case needed by NT version of MSI. 2003-04-12 00:01:32 +00:00
Thomas Mertes b5763feb55 Tests for RtlUlonglongByteSwap, RtlRandom, RtlAreAllAccessesGranted,
RtlAreAnyAccessesGranted, RtlUnicodeStringToAnsiString,
RtlAppendAsciizToString, RtlAppendStringToString,
RtlAppendUnicodeToString and RtlAppendUnicodeStringToString.
2003-04-08 00:56:01 +00:00
Thomas Mertes 0ce4826eee Implemented RtlRandom, RtlAreAllAccessesGranted,
RtlAreAnyAccessesGranted, RtlCopyLuid, RtlEqualLuid, RtlMapGenericMask
and RtlCopyLuidAndAttributesArray.
Documentation updates for RtlExtendedMagicDivide, RtlUniform,
RtlUnicodeStringToAnsiString, RtlAppendAsciizToString,
RtlAppendStringToString, RtlAppendUnicodeToString and
RtlAppendUnicodeStringToString.
2003-04-08 00:55:36 +00:00
Alexandre Julliard f130f8099a Added possibility to filter relay traces based on the module that
called the function. Cleaned up a few traces.
2003-04-07 23:27:54 +00:00
Alexandre Julliard 0412cc55d2 Rewrote most of the import fixup code to avoid doing redundant work
for every entry point. Moved it all to dlls/ntdll/loader.c.
Various optimizations in the other loader routines.
2003-04-05 05:16:11 +00:00
Alexandre Julliard 088bcf9ca5 Implemented NtQueueApcThread, and changed the server APC interface to
always take 3 parameters.
Implemented a number of other ntdll thread functions, and use them
from the kernel ones.
2003-04-04 22:26:34 +00:00
Alexandre Julliard 39f73ddeaa Merged PE_InitDLL into MODULE_InitDLL.
Fixed a few traces.
2003-04-04 19:50:17 +00:00
Alexandre Julliard 56b5e0862c Remove the Wine-specific EXCEPTION_CRITICAL_SECTION_WAIT define. 2003-04-04 19:41:31 +00:00
Eric Pouech 14d04b608c No longer call WaitFor*Object* from ntdll (but NtWait*Object*). 2003-04-03 23:57:11 +00:00
Alexandre Julliard 6a9cea957a Added --with-nptl configure option and necessary changes to support
running on top of NPTL threads.
2003-04-03 02:54:54 +00:00
Alexandre Julliard 462172a3d6 Added abs_time_t structure to the server protocol, and added a dump
routine for it that displays the relative timeout to make timeout
values easier to interpret.
2003-04-02 22:48:59 +00:00
Alexandre Julliard c44555bb37 Added support for marking heap blocks as inaccessible/uninitialized if
valgrind is installed, based on a patch by Adam Gundy.
2003-04-02 01:42:06 +00:00
Andreas Mohr 114b667f41 Some spelling and formatting fixes. 2003-04-02 01:23:43 +00:00
Eric Pouech 70f3522933 Fixed a few FormatCode entries. 2003-04-02 00:59:12 +00:00
Alexandre Julliard 6d4aeeca5e Added missing NONAMELESSSTRUCT/UNION. 2003-03-31 19:32:20 +00:00
Alexandre Julliard fbef57c0ce Moved WaitForMultipleObjects to ntdll (based on a patch by Eric
Pouech).
Added NTDLL_get_server_timeout function to compute ntdll-style
timeouts and adapted the timer code to use it.
2003-03-31 01:37:04 +00:00
Yorick Hardy 14251f1b48 Added fields from NetBSD struct sigcontext on i386. 2003-03-28 00:29:45 +00:00
Alexandre Julliard 3e588e3a57 Implemented file change notifications, based on a patch by Mike
McCormack.
2003-03-26 23:41:43 +00:00
Alexandre Julliard 78675ba234 Store %gs in the TEB on every call to 16-bit code, and don't restore
it from the TEB for signals that did not happen in 16-bit code.
2003-03-25 00:36:16 +00:00
Alexandre Julliard a993df861c Make sure changes to the debug registers while inside a SIGTRAP
exception are taken into account (based on a patch by Alex Pasadyn).
2003-03-24 19:31:10 +00:00
Alexandre Julliard 5cdfa593c0 Fixed duplicate initialization of some of the wm->ldr fields. 2003-03-22 20:54:40 +00:00
Thomas Mertes 83ee8478d4 Tests for RtlCompareMemoryUlong, RtlUniform, RtlDowncaseUnicodeString,
RtlAppendUnicodeStringToString.
2003-03-22 00:21:35 +00:00
Thomas Mertes c83aa0d311 - Implement RtlDowncaseUnicodeString, RtlUniform, iswdigit, iswlower,
iswspace, iswxdigit.
- Fixed RtlInt64ToUnicodeString and RtlIntegerToUnicodeString.
- According to tests RtlAppendUnicodeStringToString leaves the
  destination unchanged when the source length is 0 (FIXED).
- Documentation updates in RtlExtendedMagicDivide,
  RtlLargeIntegerToChar, RtlInt64ToUnicodeString, RtlUpperChar,
  RtlUpperString, RtlUpcaseUnicodeChar, RtlCharToInteger,
  RtlIntegerToChar, RtlUnicodeStringToInteger,
  RtlIntegerToUnicodeString, _ultoa, _ltoa, _itoa, _ui64toa, _i64toa,
  _atoi64, _ultow, _ltow, _itow, _ui64tow, _i64tow, _wtol, _wtoi,
  _wtoi64.
2003-03-22 00:20:58 +00:00
Alexandre Julliard 6a26e3f7ac Split signal blocking code out of SIGNAL_Reset into SIGNAL_Block.
Added SIGTERM handler.
2003-03-21 23:45:26 +00:00
Alexandre Julliard 25fe361010 Added 'wine' prefix to libwine_unicode exports. 2003-03-21 21:30:51 +00:00
Eric Pouech 69dc0d93d5 Removed no longer needed MODREF.find_export field. 2003-03-21 21:27:16 +00:00
Eric Pouech 051f87150f - implemented LdrQueryProcessModuleInformation
- rewrote VERSION_GetLinkedDllVersion() with this new function instead
  of accessing directly the modref list
2003-03-21 00:34:36 +00:00
Eric Pouech 19e050eb6f Moved WINE_MODREF.flags to WINE_MODREF.ldr.Flags, and make use of the
same flags values as Win2000.
2003-03-20 23:40:08 +00:00
Eric Pouech f94c8b85b9 Move some fields (refCount, tls_index and module) from WINE_MODREF to
LDR_MODULE.
2003-03-20 22:05:26 +00:00
Eric Pouech 255b6141f2 Fixed some unneeded unix to Win32 error mapping. 2003-03-20 21:59:50 +00:00
Alexandre Julliard a9bedef3f6 Changed name of the asm version of RtlUlong/shortByteSwap to avoid
conflicts with the inline version.
2003-03-20 19:25:39 +00:00
Eric Pouech 9b79d698b2 Moved the module loading/unloading code and the remaining needed
static variables to ntdll.
2003-03-20 04:55:59 +00:00
Alexandre Julliard 500a2f95f7 Partially implemented LdrLock/UnlockLoaderLock. 2003-03-20 04:29:21 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Alexandre Julliard 6da4c275ca Implemented Rtl*ByteSwap() functions, based on a patch by Jon
Griffiths.
2003-03-19 00:09:57 +00:00
Jon Griffiths ccf2f6162b Correct the agument count for RtlInitializeGenericTable().
Fix my own brown paper bag in RtlFillMemoryUlong().
RtlGetNtVersionNumbers() should never return < 5.
Remove RtlCopyMemory(), its not an ntdll export.
Implement RtlCompareMemoryUlong(), RtlComputeCrc32().
Documentation updates.
2003-03-18 20:12:07 +00:00
Alexandre Julliard c85f61b189 Avoid explicit long long constants. 2003-03-18 20:01:45 +00:00
Jon Griffiths cd4234aa49 Documentation updates. 2003-03-18 18:35:48 +00:00
Eric Pouech 84d1a8ff8c - added LDR_MODULE structure to WINE_MODREF and made dummy filling of
this structure
- implementation of LdrFindEntry
- implementation of GetModuleFileName[AW] on top of LdrFindEntry
2003-03-18 18:29:13 +00:00
Thomas Mertes 93189f2395 Tests for _itoa, _ltoa, _ultoa, _i64toa, _ui64toa, _itow, _ltow,
_ultow, _i64tow, _ui64tow, _atoi64, _wtoi, _wtol, _wtoi64.
2003-03-18 18:27:19 +00:00