Commit Graph

484 Commits

Author SHA1 Message Date
Maarten Lankhorst 72423f5f6d ntdll: Make the loader process relocations correctly for x86_64. 2008-12-26 13:42:07 +01:00
Maarten Lankhorst 768160e944 ntdll: Make all exported wine functions CDECL. 2008-12-17 15:02:25 +01:00
Alexandre Julliard 345aff3f17 include: Added some definitions for x86_64 exception handling. 2008-12-08 19:27:59 +01:00
Alexandre Julliard 6c7ff61639 ntdll: Added stubs for NtGetWriteWatch and NtResetWriteWatch. 2008-11-14 11:02:15 +01:00
Alistair Leslie-Hughes 8c57a6ef8b advapi32: Correct spelling of SE_CHANGE_NOTIFY_PRIVILEGE. 2008-11-10 11:08:01 +01:00
Andrey Turkin c425c8a406 ntdll: Add stubbed implementations for NtQueryEaFile and NtSetEaFile. 2008-09-25 13:29:30 +02:00
Marcus Meissner 96412ee564 Annotate with allocation size attribute. 2008-09-05 11:22:26 +02:00
Alexandre Julliard 091d9748e3 ntdll: Add stubs for all the job object functions. 2008-09-04 22:47:13 +02:00
Alexandre Julliard 0327f84a2f ntdll: Implemented NtOpenProcessTokenEx and NtOpenThreadTokenEx. 2008-09-04 21:57:13 +02:00
Dmitry Timoshkov 97f2cbc1ea ntdll: Add support for NtSetInformationProcess(ProcessExecuteFlags). 2008-09-04 11:53:00 +02:00
Dan Hipschman 4c64d0cdfa ntdll: Implement RtlDeleteTimer for kernel32's DeleteTimerQueueTimer. 2008-07-25 14:09:15 +02:00
Dan Hipschman 396e47ef5c ntdll: Implement RtlUpdateTimer for kernel32's ChangeTimerQueueTimer. 2008-07-25 14:09:15 +02:00
Dan Hipschman d343f2baf7 ntdll: Implement RtlCreateTimer for kernel32's CreateTimerQueueTimer. 2008-07-23 11:24:03 +02:00
Dan Hipschman 20a1ca2bbf ntdll: Implement [Rtl]Create/DeleteTimerQueue[Ex]. 2008-07-22 13:24:21 +02:00
Jon Griffiths 1ad733e4e0 ntdll: Implement [Rtl]InitializeCriticalSectionEx. 2008-06-23 14:04:24 +02:00
Alexandre Julliard fca6067748 ntdll: Implemented LdrProcessRelocationBlock. 2008-04-02 20:38:51 +02:00
Alexandre Julliard 2d6366fc29 ntdll: Implemented NtWriteFileGather. 2008-03-15 10:58:38 +01:00
Alexandre Julliard 81e4a0f6f3 ntdll: Implemented NtReadFileScatter. 2008-03-15 10:58:38 +01:00
Alexandre Julliard 5625c6079e Get rid of the global thread.h header. 2008-03-01 11:57:00 +01:00
Alexandre Julliard 6d6e9a42b1 ntdll: Added definitions and structures for fiber local storage. 2008-02-29 19:55:34 +01:00
Francois Gouget 44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Zach Goldberg 17651d0d0c Fix some typos. 2008-01-03 13:10:04 +01:00
Rob Shearman 25bc7023ba ntdll: Implement RtlRegisterWait, RtlDeregisterWait and RtlDeregisterWaitEx. 2008-01-02 14:30:08 +01:00
Andrey Turkin 343f2c1b30 ntdll: Implement BindIoCompletionCallback. 2007-12-21 13:52:34 +01:00
Alexandre Julliard 6cf2df5a0c include: Add NTSYSAPI to the exported ntdll functions. 2007-11-07 12:30:08 +01:00
Rob Shearman 6b081232b9 ntdll: Add a stub for RtlSetControlSecurityDescriptor.
Implement SetSecurityDescriptorControl on top of RtlSetControlSecurityDescriptor.
2007-10-23 18:20:45 +02:00
Peter Oberndorfer 073dd7dde2 ntdll: NtAreMappedFilesTheSame semi stub. 2007-09-27 12:47:15 +02:00
Mikolaj Zalewski 04e688a26d ntdll: Add RtlAddAuditAccessAceEx. 2007-09-25 11:18:40 +02:00
Dmitry Timoshkov d666143f88 ntdll: Detect current time zone settings. 2007-08-21 12:40:37 +02:00
Eric Pouech 6792a9a92e ntdll: Implemented RtlFindActivationContextSectionString. 2007-07-26 11:05:32 +02:00
Alexandre Julliard 3a71513d99 ntdll: Initial implementation of RtlQueryInformationActivationContext.
Partially based on a patch by Eric Pouech.
2007-07-26 11:05:32 +02:00
Alexandre Julliard 4156a716b0 ntdll: Create the per-module activation context at module load time. 2007-07-25 16:50:32 +02:00
Alexandre Julliard 797dd942ec ntdll: Implemented handling of the per-thread activation context stack. 2007-07-19 17:07:48 +02:00
Alexandre Julliard 64f6fdc57e kernel32: Move activation context creation to ntdll (based on a patch by Eric Pouech). 2007-07-19 17:01:04 +02:00
Alexandre Julliard 44c9758d05 ntdll: Move private data to make room in the TEB for the activation context data. 2007-07-19 16:56:10 +02:00
Andrew Talbot 33c0db06f9 ntdll: Constify some variables. 2007-06-26 12:54:58 +02:00
Andrey Turkin ad5f94d0f7 ntdll: Stub and document IoCompletion APIs. 2007-06-08 13:29:31 +02:00
Dmitry Timoshkov 737b9e5acd winternl.h: Make the fields of the PROCESS_BASIC_INFORMATION structure use same type width as a PSDK one. 2007-05-23 13:04:58 +02:00
Dmitry Timoshkov 5f1a234731 kernel32: Fix the size of ThreadAffinityMask to match PSDK. 2007-05-21 19:11:01 +02:00
Vitaliy Margolen 311c001654 ntdll: Implement RtlWriteRegistryValue and forward ntoskrnl to it. 2007-05-21 17:03:00 +02:00
Alexandre Julliard 447fda5206 ntdll: Implemented LdrAddRefDll. 2007-05-16 16:39:29 +02:00
Alexandre Julliard b64530eee4 ntdll: Reimplement LdrGetDllHandle to use the same search algorithm as LdrLoadDll. 2007-05-16 16:35:43 +02:00
Andrew Talbot a22c7a6c34 kernel32: Constify a variable. 2007-05-03 14:23:31 +02:00
Andrew Talbot 7c6ef46cb9 include: Replace inline static with static inline. 2007-03-26 12:19:34 +02:00
Bang Jun-Young fdff5c3a3a ntdll: Fix NtUnloadKey to match the DDK. 2007-02-05 12:26:01 +01:00
Andrew Talbot 9cf1579aad ntdll/tests: Cast-qual warning fix. 2006-12-13 11:49:01 +01:00
Francois Gouget 5cff5038a9 Fix ntsecapi.h so it does not depend on winternl.h. 2006-11-08 12:53:19 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Alexandre Julliard c9b5569bc2 ntdll: Added implementation of RtlDllShutdownInProgress. 2006-11-03 13:52:02 +01:00
Robert Reif 46d2886dd0 ntdll: Fix some function arguments. 2006-08-04 11:59:25 +02:00
Alexandre Julliard 6f7b1f6463 ntdll: Move the calling of the process entry point back to kernel32.
Apparently some copy protection stuff relies on that.
This reverts commit 50fca716fd.
2006-07-31 21:25:29 +02:00
Alexandre Julliard 50fca716fd ntdll: Moved the calling of the process entry point to LdrInitializeThunk. 2006-07-13 14:58:04 +02:00
Ge van Geldorp 6096e5861a ntdll: Widen fields in LDR_RESOURCE_INFO to accomodate 64 bit pointers. 2006-07-11 17:15:54 +02:00
Eric Pouech 2d3504c309 ntdll/kernel32: Moved GetThreadSelectorEntry to ntdll.
- implemented NtQueryInformationThread's ThreadDescriptorTableEntry
  information class
- used it to implement the kernel32's equivalent (GetThreadSelectorEntry)
2006-05-27 13:00:19 +02:00
Eric Pouech 1d6e2590e0 ntdll/kernel32: Pipe information.
- implemented ntdll.NtQueryInformationFile's FilePipeLocalInformation control code 
- reimplemented kernel32.GetNamedPipeInfo on top of it
- enhance current features to make this work both on client and server handles
- now also returning the number of instances
2006-05-27 12:31:01 +02:00
Alexandre Julliard 9769806c3a ntdll: Implemented RtlPcToFileHeader. 2006-05-27 10:55:48 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack 9aa468d884 ntdll: Stub implementations of NtCreateIoCompletion, NtSetIoCompletion, and NtRemoveIoCompletion.
Based on a patch by Rob Shearman.
2006-04-19 12:00:02 +02:00
Robert Shearman a18bdf13f7 ntdll: Very crude implementation of RtlQueueWorkItem. 2006-03-13 13:34:06 +01:00
Alexandre Julliard 9669ff8de4 ntdll: Get rid of the main_file argument in LdrInitializeThunk. 2006-02-08 15:22:24 +01:00
Alexandre Julliard b7b7f2b679 Avoid importing _strlwr/_strupr from ntdll. 2006-01-24 12:24:05 +01:00
Alexandre Julliard 2878d99216 ntdll: Add debug registers to the context of all exceptions.
Maintain a local cache of the debug registers to avoid server calls
where possible.
2006-01-13 13:58:14 +01:00
Vitaliy Margolen 978f470692 ntdll: NtQueryInformationToken change parameters according to PSDK.
Check for NULL pointer.
2006-01-12 13:32:09 +01:00
Alexandre Julliard 90e3865929 ntdll: NtRaiseException doesn't need to be a register function.
Moved common code between NtRaiseException and RtlRaiseException to a
separate raise_exception function.
2006-01-10 17:51:22 +01:00
Rolf Kalbermatter 97ede2dca8 include: Fix DECLSPEC_NORETURN for compilation with MS C compiler. 2006-01-03 13:33:22 +01:00
Alexandre Julliard 0603559de2 ntdll: Check for failure to get the user path in RtlOpenCurrentUser.
Fixed the return value type.
2005-12-08 11:53:42 +01:00
Ivan Leo Puoti a1cd3ab653 Implement RtlInitAnsiStringEx. 2005-11-07 11:14:45 +00:00
Ivan Leo Puoti ce08973ffa Fix NtQueryDirectoryObject prototype, documentation, and the
definition of the structure it uses.
2005-10-28 16:42:11 +00:00
Ivan Leo Puoti e1008c386f Add stub implementation for NtAccessCheckAndAuditAlarm. 2005-10-27 10:25:41 +00:00
Vitaliy Margolen af53827901 Add OBJECT_BASIC_INFORMATION to winternl.h. 2005-10-26 10:11:23 +00:00
Eric Pouech b3badc7dd3 - rewrite kernel32:{Set|Get}PriorityClass on top of ntdll equivalent
- priority for process in wineserver is now the NTDLL form (no longer
  the kernel32 one)
2005-09-06 10:25:11 +00:00
James Hawkins ff77264a95 Correct third parameter of NtQueryInformationAtom. 2005-09-06 09:26:31 +00:00
Francois Gouget 6fb12fc291 Declare PNTSTATUS in lmaccess.h and ntsecapi.h to match the PSDK.
Protect against multiple definitions.
Use PNTSTATUS where appropriate.
2005-08-16 16:01:49 +00:00
Alexandre Julliard 5617b716e7 Added a wine_unix_to_nt_file_name function to do proper pathname
conversions instead of relying on GetFullPathName hacks.
2005-08-11 10:41:26 +00:00
Alexandre Julliard 55ad6cc520 Implemented a few trivial ntdll functions that have been added in
recent Windows versions.
2005-08-02 11:38:51 +00:00
Alexandre Julliard 4de75b5a6f Use the new RtlExitUserThread function instead of exporting
wine_server_exit_thread.
2005-08-02 09:55:40 +00:00
Dmitry Timoshkov 1dc18952ae Use SIZE_T type for size variables in NTDLL when appropriate. 2005-07-15 10:01:30 +00:00
Mike McCormack da0ade4689 Define the remaining Nt* functions. 2005-07-10 17:43:39 +00:00
Mike McCormack 04d05c9611 Add more Nt* functions. 2005-07-07 11:27:17 +00:00
Mike McCormack 50f8fbf1e2 Add more Nt* functions. 2005-07-06 15:44:32 +00:00
Paul Vriens 7e3d50617f Removed 4 bytes from the SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
struct.
Changed some dwSpare into liKernelTime and liUserTime.
2005-07-05 11:01:22 +00:00
Mike McCormack 447582234f Define more Nt* functions. 2005-07-03 12:01:58 +00:00
Felix Nawothnig f28a1eda88 Add some values to the PROCESS_INFORMATION_CLASS enumeration. 2005-07-03 11:20:50 +00:00
Mike McCormack efe7c28282 Declare some Nt* functions. 2005-06-28 10:53:24 +00:00
Eric Pouech 6d68a03d4f Implemented OpenProcess on top of NtOpenProcess. 2005-06-27 11:12:11 +00:00
Mike McCormack 0ccfb0ca8c Declare some Nt* functions. 2005-06-27 09:45:06 +00:00
Mike McCormack 261a8b5e9a Add prototype and fix RtlpNtCreateKey. 2005-06-24 11:34:31 +00:00
James Hawkins a0bfbb9801 Add stub implementation of RtlAddAuditAccessAce. 2005-06-23 11:03:30 +00:00
Mike McCormack 05f53afd5a Declare RtlGUIDFromString and RtlStringFromGUID. 2005-06-22 12:00:57 +00:00
Paul Vriens cc1c516f65 Added KERNEL_USER_TIMES struct. 2005-06-21 09:43:13 +00:00
Mike McCormack 78911f34d9 - avoid winternl.h depending on winbase.h
- define RTL versions of TIME_ZONE_INFORMATION and SYSTEMTIME
2005-06-20 18:37:17 +00:00
Robert Shearman 9cb94b276f Implement RtlImpersonateSelf, RevertToSelf and MapGenericMask. 2005-06-20 11:44:45 +00:00
James Hawkins e485f984bd Implement RtlCopySecurityDescriptor. 2005-06-20 10:34:30 +00:00
Mike McCormack 5b2d5fd758 Use HANDLE instead of HKEY in the NT API. 2005-06-17 13:58:33 +00:00
Mike McCormack 379946c9f8 Declare Nt directory functions. 2005-06-17 12:11:58 +00:00
Mike McCormack 7da043f869 Add/fix more NT native API declarations. 2005-06-16 10:46:11 +00:00
Mike McCormack 0c9cb1dcee Declare port functions and fix prototypes. 2005-06-14 11:43:20 +00:00
Paul Vriens 5e5008502e Fixed size of our SYSTEM_TIMEOFDAY_INFORMATION struct.
Fixed return codes and ReturnLength/buffer for
SystemTimeOfDayInformation.
Added tests for SystemTimeOfDayInformation.
2005-06-13 11:34:56 +00:00
Mike McCormack d838385b38 Add and fix function prototypes. 2005-06-13 10:03:18 +00:00
James Hawkins f3392ac814 Add RtlAnsiCharToUnicodeChar definition.
Correct stub status of RtlAnsiCharToUnicodeChar.
2005-06-12 11:07:25 +00:00
Eric Kohl a9983c8d16 Implement RtlAdjustPrivilege. 2005-06-12 10:44:01 +00:00
Mike McCormack 950e5e626c Dependency fixes for winternl.h. 2005-06-10 19:33:47 +00:00
Paul Vriens 264eb8d5a3 Add another (unknown) member to SYSTEM_THREAD_INFORMATION. 2005-06-07 20:01:29 +00:00
Alexandre Julliard ab29aa2126 Moved the ntdll per-thread data out of the TEB into a private
structure stored in TEB.SystemReserved2.
2005-06-06 20:04:33 +00:00
Felix Nawothnig d8c5960ce1 Make SYSTEM_THREAD_INFORMATION.pszProcessName a UNICODE_STRING. 2005-06-06 15:42:08 +00:00
Paul Vriens eb6559f910 Change SYSTEM_PROCESS_INFORMATION to reflect W2K/WinXP/W2K3 structure. 2005-06-03 11:24:43 +00:00
Alexandre Julliard 16885f09a5 Fixed RtlIsTextUnicode prototype, and made it properly take into
account the results of the tests to determine the return value.
2005-05-31 13:24:44 +00:00
Ivan Leo Puoti 2964d8bc52 Rename SystemDriverInformation to SystemModuleInformation. 2005-05-20 09:40:59 +00:00
Alexandre Julliard e4412a618c Removed the special casing of kernel32 and ntdll for the TEB
definition in winternl.h.
2005-05-16 17:52:10 +00:00
Paul Vriens ad8d542a93 Sorted some of the structs and made them consistent. 2005-05-11 18:23:46 +00:00
Eric Pouech 26c9b074c7 Implemented NTDLL atom support. 2005-05-11 15:55:49 +00:00
Paul Vriens 219bff0f29 Changed SystemHandleList into SystemHandleInformation
Unknown18 is now SystemPageFileInformation
Some consistency (added numbers to the definitions).
2005-05-10 13:15:41 +00:00
Paul Vriens 64a44a45c1 Remove HANDLEINFO struct.
Add SYSTEM_HANDLE_INFORMATION and SYSTEM_HANDLE_ENTRY structs.
2005-05-09 19:32:04 +00:00
Paul Vriens 424cc2a0a2 Remove the not used PROCESS_INFO struct. 2005-05-09 14:35:14 +00:00
Alexandre Julliard 205d3c45e3 Added proper names for the remaining TEB fields. 2005-04-27 08:14:18 +00:00
Mike McCormack f92fff66a2 Implemented NtSignalAndWaitForSingleObject. 2005-04-24 17:35:52 +00:00
Robert Shearman d2ea92d14e - Clean up well-known privileges.
- Implement checking tokens for privileges in the server.
- Implement NtPrivilegeCheck.
2005-04-22 21:17:15 +00:00
Paul Vriens 08ae0d09bb Remove THREAD_INFO struct.
Rename THREADINFO into SYSTEM_THREAD_INFORMATION.
2005-04-21 17:14:22 +00:00
Eric Pouech 5a2591d96d - moved named pipe creation to ntdll
- server now handles the named pipe flags as the NTDLL values (not the
  KERNEL32 ones)
- named pipes in server now use the async IO mechanism for
  connect/wait ops
2005-04-18 14:57:04 +00:00
Mike McCormack 58a4fb9ef0 Declare and define a stub for NtSignalAndWaitForSingleObject. 2005-04-16 11:19:27 +00:00
Benjamin Cutler c31a7e98f1 - Correct args for NtPowerInformation.
- Add stub for NtInitiatePowerAction.
2005-04-16 10:45:51 +00:00
Mike McCormack 016206c1e1 Move mailslot set and query info implementation to ntdll. 2005-04-11 14:20:49 +00:00
James Hawkins 580ded65e7 - Implement NtLoadKey.
- Forward RegLoadKey to NtLoadKey.
2005-03-29 11:38:58 +00:00
Mike McCormack 6c42be25e7 Implement CreateMailslot using NtCreateMailslotFile. 2005-03-28 10:03:56 +00:00
Alexandre Julliard f1020bc6e0 Added support for the TLS expansion slots, adding an extra 1024
entries.
2005-03-19 17:14:12 +00:00
Ivan Leo Puoti 54d42573b1 Move Rtl*Registry* structs, defines and prototypes to winternl.h.
Fix two function declarations.
2005-02-15 20:47:24 +00:00
Robert Shearman b0f02b28b9 - Implement AdjustTokenPrivileges, DuplicateTokenEx and
GetTokenInformation (for the TokenPrivileges case).
- Return STATUS_NO_TOKEN for OpenThreadToken when there is no token
  set for the thread.
2005-02-11 11:52:06 +00:00
Rein Klazes 2a0df4bd60 In NtQuerySystemInformation, handle request for information class 1,
now named SystemCpuInformation. Return some dummy data for now.
2005-01-28 12:34:20 +00:00
Rein Klazes 407d863a8a Get rid of the rdtsc cpu instruction method for calculation of the
performance counter. Put the calculation (based on gettimeofday) in
NtQueryPerformanceCounter() and use that in the kernel functions.
2005-01-26 20:41:36 +00:00
Ivan Leo Puoti bfef6208a2 Added NtLoadDriver and NtUnloadDriver stubs. 2005-01-24 12:49:53 +00:00
Hans Leidekker fccfcbf7ba Stub implementations for EnumPageFiles{A,W}, GetProcessImageFileName{A,W}.
Implement GetPerformanceInfo, GetProcessMemoryInfo on top of
NtQueryInformationProcess and GetWsChanges, QueryWorkingSet{,Ex} on
top of NtQueryVirtualMemory.
2005-01-20 19:59:48 +00:00
Alexandre Julliard 1fd6264244 Fixed the FIXME in RtlNtStatusToDosError, and implemented
RtlGetLastNtStatus and RtlSetLastWin32ErrorAndNtStatusFromNtStatus.
2005-01-04 12:09:32 +00:00
Alexandre Julliard 1d36d12917 Fixed prototypes of a couple of ntdll functions.
Replaced the CallWin32ToNt macro by a proper function.
PBOOL cannot be cast to PBOOLEAN, we need to use an intermediate
variable.
2004-12-22 15:31:16 +00:00
Hans Leidekker 49f7f6c208 Stub implementations for AdjustTokenGroups, AreAllAccessesGranted,
CreatePrivateObjectSecurity, CreateProcessAsUser{A,W},
DestroyPrivateObjectSecurity, DuplicateToken{,Ex},
EnumDependentServices{A,W}, GetEffectiveRightsFromAcl{A,W},
ConvertStringSecurityDescriptorToSecurityDescriptorA. Implementations
for BuildExplicitAccessWithName{A,W},
BuildTrusteeWithObjectsAndName{A,W},
BuildTrusteeWithObjectsAndSid{A,W}.
Correct prototype for InitializeAcl, RtlCopySid and RtlGetAce.
Use the CallWin32ToNt macro only with functions that return an
NTSTATUS.
2004-12-21 16:16:10 +00:00
Robert Shearman 7572b125b5 Implement NtQueryTimer. 2004-12-13 21:10:58 +00:00
Robert Shearman ee6982eeae Implement handle tables and add tests for them. 2004-12-07 14:47:13 +00:00
Eric Pouech 44158dd690 - moved event, semaphore, mutex implementation from kernel32 to ntdll
- added mutant implementation in ntdll, and use it for mutex
  implementation in kernel32
- added access parameter on event, semaphore, timer creation in
  wineserver (as ntdll interface requires it)
- added missing definitions in include/winternl.h
2004-12-02 18:05:37 +00:00
Juan Lang 0fca5acba8 - implement LookupPrivilegeName
- correct LookupPrivilegeValue (had a buffer overrun and sometimes
  returned incorrect LUIDs for well-known values)
- make AllocateLocallyUniqueId less obviously incorrect
- add a bunch of test cases
2004-11-04 04:52:17 +00:00
Robert Shearman 2050591370 Fix NtAllocateVirtualMemory declaration and fix users of the
function.
2004-10-11 20:59:06 +00:00
Alexandre Julliard de91a8dd0f Implemented NtYieldExecution. 2004-10-11 20:11:01 +00:00
Robert Reif a62dec8b25 Document all the structure members up to SessionId in the PEB. 2004-09-10 21:13:55 +00:00
Eric Pouech 440ad8ccf2 - ctrl-c enabling flag is now inherited
- fixed console-related fields in RTL_USER_PROCESS_PARAMETERS
- various clean-up in kernel32.SetConsoleCtrlHandler
- only send a console event once to a process and not to all the
  process' threads
2004-09-08 01:25:05 +00:00
Francois Gouget 8bc2fdb3f9 Disable the RtlBitMap tests if compiling with the Microsoft headers as
they are missing critical structure and API declarations.
2004-09-01 01:29:18 +00:00
Francois Gouget 91562d5b22 Add PSZ to windef.h.
Add a couple missing declarations to winternl.h.
Tweak VM_COUNTERS to match the ddk declaration.
2004-08-31 17:32:29 +00:00
Mike McCormack 60fbc97f08 Added a few more prototypes to the headers. 2004-08-27 19:11:37 +00:00
Francois Gouget 61d21ce706 Update RTL_BITMAP and RTL_BITMAP_RUN to match the 2000 DDK.
Only test the Rtl{Initialize,SetAll,ClearAll}Bits macros if they are
defined.
2004-08-23 18:52:54 +00:00
Mike McCormack f8e2873b4a Added prototypes for a few more Native API functions. 2004-08-20 19:24:33 +00:00
Mike McCormack b255c11787 Stub implementation for NtSetInformationToken. 2004-08-17 22:09:55 +00:00
Mike McCormack 278f743a4c Stub implementation and declaration for NtCreateNamedPipeFile. 2004-08-16 21:08:38 +00:00
Mike McCormack e3d8853bb8 Moved FlushInstructionCache to ntdll. 2004-08-04 18:15:04 +00:00
Alexandre Julliard 81b22375d0 Added support for getting and setting the UI language. 2004-07-30 01:45:16 +00:00
Alexandre Julliard cc461324da Store the number of processors in the PEB structure.
More correct support for setting critical section spin counts (based
on a patch by Robert Shearman).
2004-06-15 00:52:03 +00:00
Eric Pouech 9ff652da2b Fixed a missing typedef. 2004-05-10 19:58:15 +00:00
Alexandre Julliard d4874d6406 Added a few more info classes in NtQueryInformationFile.
Use NT file names in CreateNamedPipeW.
Reimplemented GetFileInformationByHandle, GetFileSize and GetFileTime
using ntdll functions.
2004-04-30 21:03:09 +00:00
Alexandre Julliard cf67839bc4 Pass the creation disposition to wine_nt_to_unix_file_name so that it
can return the correct error code in all cases.
Changed MoveFileExW to use wine_nt_to_unix_file_name to avoid
computing the NT name twice.
Fixed crash in GetDriveTypeW with a NULL root.
2004-04-27 02:15:52 +00:00
Alexandre Julliard 9db147e5e4 Make DIR_nt_to_unix return STATUS_NO_SUCH_FILE instead of
STATUS_OBJECT_NAME_NOT_FOUND to indicate that the last component
didn't exist to allow distinguishing it from legitimate errors.
Export it from ntdll, renamed to wine_nt_to_unix_file_name.
2004-04-23 02:46:18 +00:00
Mike McCormack e79ff70bf8 * add some values to the SYSTEM_INFORMATION_CLASS enumeration 2004-04-21 22:21:35 +00:00
Alexandre Julliard e4409325d2 Reimplemented GetFileAttributesExW and GetCompressedFileSizeW using
the corresponding ntdll functionality.
2004-04-20 04:06:49 +00:00
Robert Shearman e2490a0986 Stub and documentation for RtlFormatMessage. 2004-04-20 01:07:23 +00:00
Alexandre Julliard 174e2a6464 Reimplemented GetFileAttributesW, SetFileAttributesW and SetFileTime
using the corresponding ntdll functionality.
2004-04-20 00:36:29 +00:00
Alexandre Julliard dfcfc98ed0 RtlSetCurrentDirectory_U: store a handle to the current directory
along with its name.
2004-04-16 05:00:46 +00:00
Raphael Junqueira 43b9f97b22 - fix DbgPrint and implement DbgPrintEx
- stub for NtImpersonateAnonymousToken
2004-04-07 19:05:34 +00:00
Alexandre Julliard 670711ef25 Handle file mappings on removable media entirely inside ntdll. 2004-04-06 23:13:47 +00:00
Alexandre Julliard 27b1cf9ab1 Fixed RtlDosPathNameToNtPathName_U prototype. 2004-04-05 20:21:16 +00:00
Raphael Junqueira ca6b072689 Stub implementations of RtlCreateQueryDebugBuffer,
RtlDestroyQueryDebugBuffer and RtlQueryProcessDebugInformation.
2004-03-18 02:08:43 +00:00
Alexandre Julliard f30cfa8858 Implemented NtQueryDirectoryFile (partly based on a patch by Eric
Pouech).
2004-03-16 01:32:02 +00:00
Alexandre Julliard 014099caf5 Changed the create_file server request to take NtCreateFile flags
instead of CreateFileW ones (based on a patch by Eric Pouech).
2004-03-12 01:56:49 +00:00
Alexandre Julliard f19c9e7cdd Get pointer to CreateFileW earlier on during startup.
Make sure we don't crash when loading a dll before the modref for the
main exe has been created.
2004-02-07 01:11:54 +00:00
Jon Griffiths ae0ca56453 Added RtlNtStatusToDosErrorNoTeb, RtlGet/Set/RestoreLastWin32Error,
RtlGUIDFromString, RtlStringFromGUID.
2003-12-12 05:56:44 +00:00
Jon Griffiths 31c50ccb27 Add a few soon-to-be-implemented functions. 2003-12-10 00:35:44 +00:00
Ulrich Czekalla fd5e811c4e Added stubs for AccessCheckByType, AddAuditAccessAce,
GetNamedSecurityInfoA, GetNamedSecurityInfoW.
Implemented ConvertStringSecurityDescriptorToSecurityDescriptorW,
DeleteAce, MakeAbsoluteSD, GetAclInformation, ConvertStringSidToSidW,
RtlDeleteAce, RtlQueryInformationAcl.
2003-11-11 22:03:24 +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 54b1d87daf Implemented Add/RemoveVectoredExceptionHandler. 2003-10-28 21:22:50 +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 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
Alexandre Julliard a16ed909c5 Implemented RtlTimeToElapsedTimeFields. 2002-12-18 02:31:33 +00:00
György 'Nog' Jeney 4d6ba25d4b - Implement RtlLocalTimeToSystemTime and RtlSystemTimeToLocalTime.
- Use new time functions to reimplement FileTimeToLocalTime and
  LocalTimeToFileTime.
2002-12-11 00:19:56 +00:00
György 'Nog' Jeney 6f3015b8ee - Move SetSystemTime, GetTimeZoneInformation and
SetTimeZoneInformation implementation to ntdll.
- Docu updates.
2002-11-25 01:12:39 +00:00
Mike McCormack 997e235990 Add some definitions for structures used by NtQueryFileInfo. 2002-11-18 19:44:17 +00:00
Alexandre Julliard 9b5c3f939d Made the ntdll registry functions use HKEY instead of HANDLE. 2002-10-25 19:14:29 +00:00
Alexandre Julliard 341b7dceb4 Implemented the ntdll virtual memory functions, and made the kernel
functions use them.
2002-09-17 18:54:42 +00:00
Francois Gouget bba4bb1bc4 Remove references to PCVOID and LPUINT.
Remove types that don't exist on Windows.
2002-09-17 01:35:09 +00:00
Alexandre Julliard ac7b9d3797 Implemented NtDuplicateObject. 2002-09-16 19:32:50 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Patrik Stridvall eba9649b2f Added the new header winternl.h. 2002-09-10 00:33:34 +00:00