Commit Graph

1421 Commits

Author SHA1 Message Date
Alexandre Julliard efffa66330 ntdll: Don't use a real guard page at the bottom of the stack.
A no-access page is enough, we can't properly raise an overflow
exception anyway.
2005-12-17 18:47:03 +01:00
Alexandre Julliard ae964ac801 Take advantage of the __EXCEPT_PAGE_FAULT macro. 2005-12-16 17:17:57 +01:00
Alexandre Julliard 324d86a3af Exception handling: Added a magic __EXCEPT_PAGE_FAULT macro to make it
easier to handle the common case of trapping page faults.
2005-12-16 16:58:47 +01:00
Alexandre Julliard db7920bb44 We no longer need to handle EXCEPTION_PRIV_INSTRUCTION on page faults. 2005-12-16 16:37:12 +01:00
Alexandre Julliard 07f84d0458 ntdll: More compatible exception information for protection faults.
Added a bunch of test cases.
2005-12-16 16:27:39 +01:00
Alexandre Julliard 15430f6eda Add -register hint in ntdll, kernel and msvcrt spec files. 2005-12-16 12:44:58 +01:00
Alexandre Julliard 50bbfb3c8c ntdll: Reimplemented _chkstk and _alloca_probe directly in assembly. 2005-12-15 10:48:12 +01:00
Alexandre Julliard 354e7700b3 ntdll: Fixes in virtual memory protection flags.
Tweak reporting of virtual protection flags and address space limit to
yield results closer to what Windows does.
2005-12-14 12:17:59 +01:00
Vitaliy Margolen b05340a523 ntdll: Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
Modify WaitNamedPipeW to use NtFsControlFile.
Replace struct overlapped with event.
2005-12-14 11:14:02 +01:00
Alexandre Julliard f3dad37ba2 TEB.StackLimit should not include the guard page. 2005-12-12 17:28:32 +01:00
Alexandre Julliard 59797f292e Pass specific access rights to wine_server_handle_to_fd. 2005-12-12 17:15:26 +01:00
Alexandre Julliard a510a7e117 server: Added access rights mapping to file objects. 2005-12-12 16:46:17 +01:00
Alexandre Julliard 67505c00af server: Support for opening devices.
Added support for opening devices directly with the server when they
don't correspond to a Unix file.
2005-12-12 14:27:45 +01:00
Eric Pouech 681b71ed9a Functions with no paramters must be (void). 2005-12-12 12:42:44 +01:00
Alexandre Julliard 03b040c51d server: Added object attributes to a few more requests. 2005-12-09 14:52:04 +01:00
Alexandre Julliard d02c4a1b82 Make wine_server_fd_to_handle use attributes instead of inherit flag. 2005-12-09 12:22:35 +01:00
Alexandre Julliard 7b910f40f2 server: Use attributes instead of inherit flag in dup_handle request. 2005-12-09 12:21:35 +01:00
Alexandre Julliard 836d07c369 server: Use attributes instead of inherit flag in token requests.
Also use the specified access rights in the open_token request.
2005-12-09 12:17:19 +01:00
Alexandre Julliard f2d7dd645e server: Use attributes instead of inherit flag in process and thread requests. 2005-12-09 12:13:11 +01:00
Alexandre Julliard f11d0a375f server: Use attributes instead of inherit flag in snapshot requests. 2005-12-09 12:09:44 +01:00
Alexandre Julliard 27b1aec925 server: Use attributes instead of inherit flag in file requests. 2005-12-09 12:00:48 +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
Vitaliy Margolen cf21d4d7ca Move mailslot devices into directory name space. 2005-12-05 13:30:26 +01:00
Vitaliy Margolen babfa79436 Move named pipe objects into directory name space.
Change tests accordingly.
Add small test for WaitNamedPipe.
2005-12-05 13:09:35 +01:00
Vitaliy Margolen 348a3d912b Move mapping (section) objects into directory name space. 2005-12-02 16:13:13 +01:00
Vitaliy Margolen 7c5cb7a229 Move timer objects into directory name space. 2005-12-02 16:05:54 +01:00
Vitaliy Margolen 5daae3dfa9 Move semaphore objects into directory name space. 2005-12-02 16:01:17 +01:00
Vitaliy Margolen f676bc8d85 Move event and mutex objects into directory name space. 2005-12-02 15:55:48 +01:00
Alexandre Julliard cb56bdf884 Check for need to add area to the reserved list also on unmap. 2005-12-01 18:44:04 +01:00
Alexandre Julliard e3ef6314fd Ignore the large address space flag when version is win9x. 2005-12-01 18:42:39 +01:00
Alexandre Julliard e21a97da85 Fixed some compiler warnings on Darwin. 2005-12-01 12:36:05 +01:00
Vitaliy Margolen 80444dfe51 Implement symbolic link object in wineserver.
Implement Nt[Create|Open|Query]SymbolicLinkObject.
Change tests accordingly.
2005-11-30 19:22:57 +01:00
Vitaliy Margolen 3c6bdcce53 Implement directory object in wineserver.
Implement Nt[Create|Open]DirectoryObject.
Change tests accordingly.
2005-11-29 17:21:05 +01:00
Alexandre Julliard 4cbf118d88 Check for a valid module before attempting to read the export
directory in LdrGetProcedureAddress.
2005-11-29 17:10:30 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Vitaliy Margolen 39e922ce72 Handle IOCTL_DISK_CHECK_VERIFY which is synonym for
IOCTL_STORAGE_CHECK_VERIFY.
2005-11-28 10:40:13 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Francois Gouget d69268e77c Documentation tweaks to make winapi_check happy.
Also specify the documented spec file entry.
2005-11-23 20:14:04 +01:00
Alexandre Julliard cc01e8ff05 Preserve 16-byte stack alignment in the various assembly
functions. Needed for MacOSX.
2005-11-23 19:55:06 +01:00
Steven Edwards c5d8c105c3 Correct URL for version infomation database website. 2005-11-22 12:00:23 +00:00
Vitaliy Margolen 893987b871 Return correct error on name collision when creating new named
objects.
Check for correct error in affected places.
2005-11-21 16:27:03 +00:00
Alexandre Julliard 86397e1d43 Fixed handling of mailslot read timeout to avoid compiler warnings. 2005-11-21 15:23:49 +00:00
Vitaliy Margolen 6d905e81e1 More Object Manager tests. 2005-11-21 15:18:10 +00:00
Ken Thomases a63acd71c8 Updated context definitions for the latest Darwin/x86. 2005-11-15 18:15:56 +00:00
Alexandre Julliard 86f8aef511 Use proper asm name for external functions. 2005-11-15 12:05:45 +00:00
Dmitry Timoshkov adf48a3cc7 Add a test for RtlAllocateAndInitializeSid, make it pass under Wine. 2005-11-15 12:03:46 +00:00
Eric Pouech ca4ae96f33 NtReadFile: now returning correct status in NtReadFile for EOF
conditions (on files) and broken pipe (on named pipes).
2005-11-14 15:11:11 +00:00
Eric Pouech 63e5d5e5b9 Init wShowWindow in RTL_USER_PARAMETERS for Wine processes started
from the command-line.
2005-11-14 11:21:13 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Markus Amsler ae542af541 Improve c2man Documented-Total count. 2005-11-09 10:30:57 +00:00
Mike McCormack 5b40551458 Add some missing timezones. 2005-11-08 10:57:50 +00:00
Ivan Leo Puoti a1cd3ab653 Implement RtlInitAnsiStringEx. 2005-11-07 11:14:45 +00:00
Robert Shearman 0ede610c4f LdrAccessResource should pop 16 bytes off the stack since it is a
WINAPI function.
2005-11-07 11:11:59 +00:00
Kevin Koltzau 079e7cac17 x86_64 references a named union, ensure unions are not nameless. 2005-11-05 10:43:50 +00:00
Kieran Clancy d1c7458643 Added another CST (Australian Central Daylight Time) to TZ_INFO. 2005-11-03 13:21:23 +00:00
Vitaliy Margolen 4e76f91f1a Get rid of CPU id when copying context 2005-11-03 09:54:47 +00:00
Alexandre Julliard 73c72390f8 Fixed Get/SetThreadContext to work properly on suspended threads.
Added a test case.
2005-11-02 20:54:12 +00:00
Robert Shearman cf8594f0fd Make LdrAccessResource call an internal function to satisfy Shrinker. 2005-11-02 14:18:20 +00:00
Vitaliy Margolen f2686d4620 Fix error returned when opening nonexistent pipes. 2005-11-02 14:15:09 +00:00
Ivan Leo Puoti 198557261b Minor fixes to rtl string functions. 2005-11-02 11:42:31 +00:00
Alexandre Julliard ff7795ef4c Don't send an extra signal when waiting for a debug event, just do a
normal wait.  Return the debug event status directly as return value
of the server call.
2005-11-01 21:47:07 +00:00
Alexandre Julliard d6f7adb367 Don't send the incoming context to the server for get_thread_context,
instead copy only the relevant fields of the return value on the
client side.
2005-11-01 21:41:26 +00:00
Vitaliy Margolen ecca104869 Fix error returned when exceeding allowed instances. 2005-11-01 21:37:30 +00:00
Vitaliy Margolen 1ca6e899ec - Use OBJ_CASE_INSENSITIVE in object lookup.
- Remove case_sensitive flag from namespace.
- Remove todo_wine from now succeeding tests.
2005-11-01 10:22:38 +00:00
Robert Shearman 2a02dd1f05 Make the call exception handler function more compatible with NT and
with what Shrinker expects.
2005-11-01 09:21:03 +00:00
Marcus Meissner 98ed5585c7 Added assembly implementation of EXC_CallHandler. 2005-10-31 14:08:05 +00:00
Alexandre Julliard a2fb7c1644 Added an implementation of the FSCTL_DISMOUNT_VOLUME ioctl that
attempts to unmount the Unix device.
2005-10-28 16:45:24 +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
Vitaliy Margolen a996000ad5 - Send whole OBJECT_ATTRIBUTES.Attributes to the server not just an
inherit flag.
- Pass DesiredAccess to the server when creating mailslot.
2005-10-27 18:30:37 +00:00
Alexandre Julliard 51fbfbb9bb Make show_dir_symlinks the default and get rid of the option. 2005-10-27 11:22:47 +00:00
Ivan Leo Puoti e1008c386f Add stub implementation for NtAccessCheckAndAuditAlarm. 2005-10-27 10:25:41 +00:00
Alexandre Julliard cb443bdb04 Attach to implicitly loaded builtin dlls on process startup. 2005-10-26 12:12:44 +00:00
Peter Beutner 4dcab2805c Proper implementation of IOCTL_{STORAGE,CDROM}_CHECK_VERIFY. 2005-10-26 10:13:09 +00:00
Vitaliy Margolen eb8478002d Cosmetic changes to NtCreateNamedPipeFile change "oa" to "attr". 2005-10-26 10:11:08 +00:00
James Hawkins b721ee0d41 Set the file_part for \\?\ long file names too. 2005-10-18 14:12:25 +00:00
Alexandre Julliard 45885d136c In parse_mount_entries return the loop device instead of the mounted
file for loop mounts.
2005-10-13 14:32:22 +00:00
Vijay Kiran Kamuju e573caf8f9 Added PHT time zone. 2005-10-10 18:03:56 +00:00
Alexandre Julliard b87bce1b99 Added a critical section around the fd cache until the race conditions
can be fixed properly.
2005-10-06 12:31:36 +00:00
Alexandre Julliard 7955fb01d7 Clear the single-step flag in setup_exception instead of in the
SIGTRAP handler to avoid having the assigmnent optimized out.
2005-10-04 15:56:34 +00:00
Alexandre Julliard c2bb910877 Ignore the size of the import directory, process imports until we find
a null entry.
2005-10-04 15:54:55 +00:00
Alexandre Julliard baa8bf3c74 Fixed a bug where we could set the wrong handle in the fd cache when
encountering the race condition in wine_server_handle_to_fd.
2005-10-03 18:46:57 +00:00
Ivan Leo Puoti e4512f0d57 Make a stub actually say "stub". 2005-10-03 18:44:52 +00:00
Vitaliy Margolen 6613580ea9 Add a few tests for object manager. 2005-09-30 10:33:54 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Alexandre Julliard 7ddab75619 Declare debug channels as static variables so that we don't need to
generate an external .dbg.c file to define them.
2005-09-28 18:34:00 +00:00
Alexandre Julliard a5e59421f5 Use Linux futexes instead of semaphores if possible for critical
section waits.
2005-09-28 18:21:48 +00:00
Eric Pouech b09582a890 Implemented kernel32 process affinity handling on top on ntdll. 2005-09-27 10:52:10 +00:00
Alexandre Julliard 2eaff5074f Fixed exception handling on MacOS. 2005-09-27 09:36:15 +00:00
Alexandre Julliard a443761b8d Export the temp buffer functionality in the debug functions interface
to allow sharing more code between libwine and ntdll.
2005-09-26 16:45:25 +00:00
Alexandre Julliard 43c6396e94 Use int instead of long in interlocked_* functions for 64-bit
compatibility.
2005-09-26 13:51:58 +00:00
Eric Pouech e21aa6a184 - now passing access rights when creating a named pipe in NTDLL
- reimplemented Kernel32.CreatePipe purely on top of NTDLL APIs
- anonymous pipe handles should have the SYNCHRONIZE bit set
2005-09-26 11:02:45 +00:00
Francois Gouget a8c7284f92 Assorted spelling fixes. 2005-09-26 10:58:41 +00:00
Francois Gouget baab789ce8 Replace the 'if (!cond) ; else code' construct with the standard 'do {
code } while (0)' construct combined with a regular 'if'.
2005-09-26 09:57:38 +00:00
Vijay Kiran Kamuju bb53d096b1 Add MYT (Malaysian Time) and NOVST (Novosibirsk Summer Time). 2005-09-26 09:55:59 +00:00
Alexandre Julliard 9f859692f9 Replace DPRINTF by TRACE in a few places. 2005-09-25 15:23:21 +00:00
Alexandre Julliard 75c27e17b6 Defined a proper structure for debug channels.
Also put all the function pointers inside a structure and added
__wine_dbg_set_functions to change them instead of exporting the
pointers directly.
2005-09-23 10:52:07 +00:00
Alexandre Julliard 9f1c6de1ef We are no longer generating .spec.c files. 2005-09-21 14:42:52 +00:00
Alexandre Julliard 5cb97d833a Generate 16-bit spec files as assembly code too. 2005-09-21 14:23:54 +00:00
Alexandre Julliard 489c6b3865 Ignore relocations for unmapped pages. 2005-09-21 09:47:12 +00:00
Mike McCormack c818a4e662 Fix "empty body in an if/else-statement" warnings. 2005-09-21 09:46:28 +00:00
Alexandre Julliard 2cf740619f Fixed some trace format strings (reported by Gerald Pfeifer). 2005-09-18 11:15:16 +00:00
Alexandre Julliard 89024a63d3 Make the users of wine_call_from_32_regs save %eax so that we don't
need a special hack in the import thunk.
Added a get_pc_thunk_eax function to simplify the code a bit.
2005-09-18 11:13:54 +00:00
Alexandre Julliard ebf7a5d408 Preliminary implementation of signal handling for x86-64. 2005-09-16 19:40:52 +00:00
Alexandre Julliard 06ea6e6e3f Fixed a few pointer truncation bugs for 64-bit platforms. 2005-09-16 18:54:19 +00:00
Alexandre Julliard cdf92942b1 Use the proper size for the cmsg_fd structure on 64-bit plaforms. 2005-09-16 18:52:47 +00:00
Alexandre Julliard fb9cead92b Support arbitrary sizes for the thread signal stack, and set the
default size from the MINSIGSTKSZ constant.
2005-09-14 10:36:58 +00:00
Alexandre Julliard 7c1925a0f3 Remove the 'L' suffix on a number of constants to avoid comparison
errors on 64-bit platforms.
2005-09-13 15:00:32 +00:00
Eric Pouech ad0168967e Implemented kernel32.GetThreadTimes on top of ntdll's equivalent
function.
2005-09-12 22:01:33 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Alexandre Julliard 884599112e Use SIZE_T instead of ULONG for the size arguments of the virtual
memory functions.
2005-09-12 10:36:06 +00:00
Alexandre Julliard f8ee161a1b Fixed some traces to use the right printf format and avoid typecasts. 2005-09-12 10:30:05 +00:00
Alexandre Julliard 4c34d9386c Specify 64-bit integers as double instead of long long in spec files
so that we get the correct number of arguments.
2005-09-09 15:05:01 +00:00
Alexandre Julliard 22a5332661 Added descriptions for a few more machine types. 2005-09-09 10:42:42 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Alexandre Julliard c7d649483b Define GET_IP for x86_64. 2005-09-08 19:17:04 +00:00
Alexandre Julliard 7873573738 Fixed a comment. 2005-09-08 12:42:51 +00:00
Alexandre Julliard b4c69e0f12 Fix a file descriptor leak when opening the first file on a removable
device.
2005-09-08 11:04:34 +00:00
Eric Pouech 60cae6e289 Implemented kernel32:SetThreadPriority on top of ntdll's equivalent
functions.
2005-09-07 13:25:35 +00:00
Ivan Leo Puoti f0db7ab06b Added FSCTL_PIPE_LISTEN support. 2005-09-06 14:09:42 +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
Alexandre Julliard 883d3c52d3 Use explicit function pointers for pthread support instead of relying
on ELF symbol overriding.
2005-09-03 15:11:29 +00:00
Mike McCormack b5bd4a101a Fix gcc 4.0 warnings. 2005-09-02 14:47:36 +00:00
Alexandre Julliard 54e9e8745d Fixed a file descriptor leak. 2005-09-02 12:31:35 +00:00
Alexandre Julliard bba5423d0f Uncomment out DisableThreadLibraryCalls in DllMain and add the
kernel32 imports that it requires.
2005-08-29 15:11:37 +00:00
Glenn Wurster cee9a0f2a3 Make stack check work if stack is a small value. 2005-08-25 19:20:21 +00:00
Alexandre Julliard b6b180a16d Moved the implementation of spec file stubs to the winecrt0 library. 2005-08-25 15:27:44 +00:00
Alexandre Julliard 0f41df1681 Use FILE_GetDeviceInfo in NtMapViewOfSection to avoid having to fetch
the file descriptor twice.
2005-08-25 10:23:23 +00:00
Alexandre Julliard f62f6e8fe1 Don't cache file descriptors open on removable devices. 2005-08-24 18:33:50 +00:00
Alexandre Julliard bc22e2f03d Moved the FileFsDeviceInformation query to a separate function. 2005-08-24 18:27:27 +00:00
Alexandre Julliard 38502f70eb Added a separate set_handle_cached_fd request instead of abusing
set_handle_info for that.
2005-08-23 18:43:50 +00:00
Alexandre Julliard 0f254d0356 Removed a few internal functions that are no longer exported on
Windows.
2005-08-19 10:21:17 +00:00
Alexandre Julliard a5156dcf40 Added a stub for NtAlertResumeThread. 2005-08-18 11:47:17 +00:00
Ivan Leo Puoti aab12f5f7c Implement FSCTL_PIPE_DISCONNECT in NtFsControlFile and make
DisconnectNamedPipe call it.
2005-08-18 10:59:26 +00:00
Vitaliy Margolen d27c7135ef Add trace to IOCTL_CDROM_RAW_READ. 2005-08-18 10:49:04 +00:00
Francois Gouget 03ede20086 Fix a couple of MSVC signed/unsigned warnings. 2005-08-17 09:53:39 +00:00
Alexandre Julliard 4886c176f4 There is a registry key for the service pack version (spotted by
Vitaliy Margolen).
2005-08-16 16:13:42 +00:00
Ivan Leo Puoti 9f3af964c7 Improve NtCreateNamedPipe trace. 2005-08-16 15:57:59 +00:00
Alexandre Julliard 4749dd3eaa Fetch the version information from the standard Windows keys if not
specified otherwise.
2005-08-16 11:16:10 +00:00
Ivan Leo Puoti dfb887dc9f NtCreateNamedPipeFile is no longer a stub, so fix TRACE() call. 2005-08-16 11:13:21 +00:00
Alexandre Julliard 7721b267f5 Fixed some confusion over whether HEAP_MIN_BLOCK_SIZE includes the
arena headers of not.
Free list sizes are constant so there's no need to store them in the
heap structure.
2005-08-15 20:49:47 +00:00
Alexandre Julliard f356dd541a Switch the default version to win2k. 2005-08-15 14:52:37 +00:00
Alexandre Julliard 4ebd2fc0ff Better handling of conflicting section information between
SizeOfRawData and VirtualSize.
2005-08-15 14:50:06 +00:00
Alexandre Julliard 03c3b4e7e0 Converted the process heap list to a standard list. 2005-08-12 18:25:16 +00:00
Francois Gouget bcd56fe0e5 Assorted spelling fixes. 2005-08-12 18:22:06 +00:00
Alexandre Julliard c50597c94d Converted the heap free lists to standard lists. 2005-08-12 16:05:46 +00:00
Alexandre Julliard b480a3c544 Removed a redundant and possibly wrong warning. 2005-08-12 16:02:42 +00:00
Alexandre Julliard 8c375c7fd4 Don't map data beyond the virtual size of a section. 2005-08-12 11:21:45 +00:00
Francois Gouget 1b4e18fee7 Define WIN32_NO_STATUS so we don't get 'duplicate macro' errors when
compiling with the PSDK and MSVC.
Add some types that are not defined by the PSDK.
2005-08-11 17:04:07 +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