Commit Graph

576 Commits

Author SHA1 Message Date
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