Commit Graph

60 Commits

Author SHA1 Message Date
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 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
Alexandre Julliard 5e3549bf3b Implemented RtlCreateProcessParameters and related functions. 2003-10-04 03:11:57 +00:00
Alexandre Julliard f80b869939 Converted most of the loader code to Unicode. 2003-09-29 20:42:24 +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
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
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
Dimitrie O. Paun 53f9c21fb7 Use angle brackets (<>) rather than quotes ("") for the include
directives in our .h files. This should avoid some potentially nasty
surprises for Winelib apps.
2003-08-28 21:43:34 +00:00
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard 02f2813968 Renamed a few TEB fields to use the "official" names. 2003-08-27 23:14:29 +00:00
Jon Griffiths 08922859c6 Make RtlTimeToSecondsSince1970 consistent with other time calls.
Documentation fixes.
2003-08-19 00:56:34 +00:00
Jon Griffiths c0ae5f8f6f Fixed msvc warning. 2003-07-18 22:55:02 +00:00
Alexandre Julliard 4f196ead13 Implemented the ThreadBasicInformation case for
NtQueryInformationThread.
2003-07-09 02:57:57 +00:00
Alexandre Julliard 4f4b980c1e Implemented NtRead/WriteVirtualMemory. 2003-07-08 21:18:45 +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
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
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 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 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
Eric Pouech 2e5cdf95da Implemented:
- RtlDoesFileExists_U as a stub
- RtlDosSearchPath_U
2003-06-16 01:24:30 +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
Eric Pouech b350438074 Implemented NtQueryObject and NtSetInformationObject for the
ObjectDataInformation class.
2003-05-20 19:20:42 +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
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
Eric Pouech b124fa9617 Implemented RtlExpandEnvironmentStrings_U and fixed an incorrect
behavior in RtlQueryEnvironmentString.
2003-05-13 04:45:50 +00:00
Alexandre Julliard d9bab57477 Added support for calling the TLS callback functions. 2003-05-08 04:13:26 +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
Thomas Mertes d628d125ab Implement RtlDuplicateUnicodeString, RtlFindCharInUnicodeString,
RtlInitUnicodeStringEx.
Documentation updates for RtlInitAnsiString, RtlInitString,
RtlInitUnicodeString, RtlAnsiStringToUnicodeString and
RtlOemStringToUnicodeString.
2003-05-06 18:27:40 +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 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 d6da1f33ab Implemented RtlIsNameLegalDOS8Dot3 (based on a patch by Eric Pouech).
Implemented RtlUpcaseUnicodeStringToCountedOemString.
2003-04-16 23:15:29 +00:00
Alexandre Julliard aa94a5ad1a Implemented RtlDetermineDosPathNameType_U and RtlIsDosDeviceName_U. 2003-04-12 00:10:13 +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 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 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
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
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
Alexandre Julliard 500a2f95f7 Partially implemented LdrLock/UnlockLoaderLock. 2003-03-20 04:29:21 +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
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
Eric Pouech 32872b1a57 - implementation of LdrLoadDll out of loader/module.c
- in impacted functions, ensure that we only use ntdll functions
- for internal loading, start using NTDLL style for error reporting
- making use of new LdrLoadDll
2003-03-14 05:01:20 +00:00
Eric Pouech 7d6096480a - added Ldr* information to include/winternl.h
- exported a few functions/global vars from module.h while we move
  code from loader/module.c to dlls/ntdll/loader.c
- implemented LdrShutdownProcess, LdrShutdownThread and
  LdrDisableThreadCalloutsForDll (and made use of them)
2003-03-04 04:36:56 +00:00
Thomas Mertes f4757bb631 - Implement RtlCharToInteger, RtlExtendedMagicDivide, RtlUpperChar,
RtlInt64ToUnicodeString, RtlIntegerToChar, RtlIntegerToUnicodeString,
  RtlLargeIntegerToChar, RtlUnicodeStringToInteger and
  RtlUpcaseUnicodeChar.
- Use toupperW instead of toupper in RtlCompareUnicodeString.
2003-02-19 03:39:46 +00:00
Dimitrie O. Paun 8b36681bad Rename __WINE__ to __WINESRC__. 2003-01-04 00:52:18 +00:00