Rebase against 3198fb0c1c3779882944659d52a676319ffcc68d.

This commit is contained in:
Sebastian Lackner 2016-01-15 21:13:24 +01:00
parent a7583fd387
commit 6e91988232
5 changed files with 186 additions and 189 deletions

View File

@ -1,4 +1,4 @@
From db0a81d0a3513d169335286471969b1fb9c38be1 Mon Sep 17 00:00:00 2001
From f86aa112cd8f4f4372ea065866f2a98afa5d9d3b Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 4 Aug 2014 00:29:26 +0200
Subject: server: Show warning if message mode is not supported.
@ -13,20 +13,20 @@ missing message mode support.
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 5232027..01cef2c 100644
index cd34194..45ff692 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -3091,6 +3091,7 @@ NTSTATUS WINAPI NtCreateNamedPipeFile( PHANDLE handle, ULONG access,
{
struct security_descriptor *sd = NULL;
struct object_attributes objattr;
+ unsigned int flags;
@@ -3507,6 +3507,7 @@ NTSTATUS WINAPI NtCreateNamedPipeFile( PHANDLE handle, ULONG access,
NTSTATUS status;
data_size_t len;
struct object_attributes *objattr;
+ unsigned int flags;
TRACE("(%p %x %s %p %x %d %x %d %d %d %d %d %d %p)\n",
@@ -3109,16 +3110,17 @@ NTSTATUS WINAPI NtCreateNamedPipeFile( PHANDLE handle, ULONG access,
status = NTDLL_create_struct_sd( attr->SecurityDescriptor, &sd, &objattr.sd_len );
if (status != STATUS_SUCCESS) return status;
handle, access, debugstr_w(attr->ObjectName->Buffer), iosb, sharing, dispo,
@@ -3519,16 +3520,17 @@ NTSTATUS WINAPI NtCreateNamedPipeFile( PHANDLE handle, ULONG access,
if ((status = alloc_object_attributes( attr, &objattr, &len ))) return status;
+ flags = (pipe_type ? NAMED_PIPE_MESSAGE_STREAM_WRITE : 0) |
+ (read_mode ? NAMED_PIPE_MESSAGE_STREAM_READ : 0) |
@ -46,8 +46,8 @@ index 5232027..01cef2c 100644
req->maxinstances = max_inst;
req->outsize = outbound_quota;
req->insize = inbound_quota;
@@ -3128,9 +3130,13 @@ NTSTATUS WINAPI NtCreateNamedPipeFile( PHANDLE handle, ULONG access,
wine_server_add_data( req, attr->ObjectName->Buffer, attr->ObjectName->Length );
@@ -3536,9 +3538,13 @@ NTSTATUS WINAPI NtCreateNamedPipeFile( PHANDLE handle, ULONG access,
wine_server_add_data( req, objattr, len );
status = wine_server_call( req );
if (!status) *handle = wine_server_ptr_handle( reply->handle );
+ flags &= ~reply->flags; /* contains now all unsupported flags */
@ -57,14 +57,14 @@ index 5232027..01cef2c 100644
+ if (!status && (flags & (NAMED_PIPE_MESSAGE_STREAM_WRITE | NAMED_PIPE_MESSAGE_STREAM_READ)))
+ FIXME("Message mode not supported, falling back to byte mode.\n");
+
NTDLL_free_struct_sd( sd );
RtlFreeHeap( GetProcessHeap(), 0, objattr );
return status;
}
diff --git a/server/named_pipe.c b/server/named_pipe.c
index 047b62c..81741de 100644
index 8d5753a..79ca3a1 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -965,6 +965,7 @@ DECL_HANDLER(create_named_pipe)
@@ -933,6 +933,7 @@ DECL_HANDLER(create_named_pipe)
return;
}
@ -73,10 +73,10 @@ index 047b62c..81741de 100644
if (!objattr_is_valid( objattr, get_req_data_size() ))
diff --git a/server/protocol.def b/server/protocol.def
index fc6bec5..503b02f 100644
index ea5bd61..e83e65e 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -2283,6 +2283,7 @@ enum message_type
@@ -2382,6 +2382,7 @@ enum message_type
unsigned int flags;
VARARG(objattr,object_attributes); /* object attributes */
@REPLY
@ -85,5 +85,5 @@ index fc6bec5..503b02f 100644
@END
--
2.1.3
2.6.4

View File

@ -1,17 +1,17 @@
From e3b53e0794d83fc9eb39d78ca673c9144dd9873d Mon Sep 17 00:00:00 2001
From ab880fafaf84e637a978a39488413b25e32f5217 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Wed, 20 Aug 2014 15:28:00 -0600
Subject: ntdll: Implement storing DOS attributes in NtCreateFile.
---
dlls/ntdll/file.c | 79 ++++++++++++++++++++++++++++----------------
dlls/ntdll/tests/directory.c | 24 +++++---------
dlls/ntdll/file.c | 76 ++++++++++++++++++++++++++++----------------
dlls/ntdll/tests/directory.c | 24 ++++++--------
include/wine/port.h | 2 ++
libs/port/xattr.c | 20 +++++++++++
4 files changed, 81 insertions(+), 44 deletions(-)
libs/port/xattr.c | 20 ++++++++++++
4 files changed, 80 insertions(+), 42 deletions(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 7e32087..dd38995 100644
index a5fbda7..a22ca20 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -219,6 +219,21 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
@ -36,29 +36,29 @@ index 7e32087..dd38995 100644
/**************************************************************************
* FILE_CreateFile (internal)
* Open a file.
@@ -230,6 +245,8 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
@@ -230,6 +245,9 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
ULONG attributes, ULONG sharing, ULONG disposition,
ULONG options, PVOID ea_buffer, ULONG ea_length )
{
+ struct object_attributes objattr;
+ struct security_descriptor *sd;
+ OBJECT_ATTRIBUTES unix_attr;
+ data_size_t len;
+ struct object_attributes *objattr;
ANSI_STRING unix_name;
BOOL created = FALSE;
@@ -273,39 +290,37 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
@@ -273,37 +291,35 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
io->u.Status = STATUS_SUCCESS;
}
- if (io->u.Status == STATUS_SUCCESS)
+ if (io->u.Status != STATUS_SUCCESS)
{
- struct security_descriptor *sd;
- struct object_attributes objattr;
- OBJECT_ATTRIBUTES unix_attr = *attr;
- data_size_t len;
- struct object_attributes *objattr;
-
- objattr.rootdir = wine_server_obj_handle( attr->RootDirectory );
- objattr.name_len = 0;
- io->u.Status = NTDLL_create_struct_sd( attr->SecurityDescriptor, &sd, &objattr.sd_len );
- if (io->u.Status != STATUS_SUCCESS)
- unix_attr.ObjectName = NULL; /* we send the unix name instead */
- if ((io->u.Status = alloc_object_attributes( &unix_attr, &objattr, &len )))
- {
- RtlFreeAnsiString( &unix_name );
- return io->u.Status;
@ -75,18 +75,16 @@ index 7e32087..dd38995 100644
- req->create = disposition;
- req->options = options;
- req->attrs = attributes;
- wine_server_add_data( req, &objattr, sizeof(objattr) );
- if (objattr.sd_len) wine_server_add_data( req, sd, objattr.sd_len );
- wine_server_add_data( req, objattr, len );
- wine_server_add_data( req, unix_name.Buffer, unix_name.Length );
- io->u.Status = wine_server_call( req );
- *handle = wine_server_ptr_handle( reply->handle );
- }
- SERVER_END_REQ;
- NTDLL_free_struct_sd( sd );
+ objattr.rootdir = wine_server_obj_handle( attr->RootDirectory );
+ objattr.name_len = 0;
+ io->u.Status = NTDLL_create_struct_sd( attr->SecurityDescriptor, &sd, &objattr.sd_len );
+ if (io->u.Status != STATUS_SUCCESS)
- RtlFreeHeap( GetProcessHeap(), 0, objattr );
+ unix_attr = *attr;
+ unix_attr.ObjectName = NULL; /* we send the unix name instead */
+ if ((io->u.Status = alloc_object_attributes( &unix_attr, &objattr, &len )))
+ {
RtlFreeAnsiString( &unix_name );
+ return io->u.Status;
@ -101,18 +99,17 @@ index 7e32087..dd38995 100644
+ req->create = disposition;
+ req->options = options;
+ req->attrs = attributes;
+ wine_server_add_data( req, &objattr, sizeof(objattr) );
+ if (objattr.sd_len) wine_server_add_data( req, sd, objattr.sd_len );
+ wine_server_add_data( req, objattr, len );
+ wine_server_add_data( req, unix_name.Buffer, unix_name.Length );
+ io->u.Status = wine_server_call( req );
+ *handle = wine_server_ptr_handle( reply->handle );
+ }
+ SERVER_END_REQ;
+ NTDLL_free_struct_sd( sd );
+ RtlFreeHeap( GetProcessHeap(), 0, objattr );
if (io->u.Status == STATUS_SUCCESS)
{
@@ -327,6 +342,11 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
@@ -325,6 +341,11 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
io->Information = FILE_OVERWRITTEN;
break;
}
@ -124,7 +121,7 @@ index 7e32087..dd38995 100644
}
else if (io->u.Status == STATUS_TOO_MANY_OPENED_FILES)
{
@@ -334,6 +354,7 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
@@ -332,6 +353,7 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
if (!once++) ERR_(winediag)( "Too many open files, ulimit -n probably needs to be increased\n" );
}

View File

@ -1,4 +1,4 @@
From 1a0efd8b70bcf35e4e12326ba77bfd93b4bf0367 Mon Sep 17 00:00:00 2001
From 0c74521fb24feb6e7a4dcf6fcf8d3b6bc0736813 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 16 Oct 2015 02:32:58 +0200
Subject: ntdll: Use wrapper functions for syscalls.
@ -81,10 +81,10 @@ index 304b7f6..222fde9 100644
{
NTSTATUS status;
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index 4faafe9..770cd3f 100644
index f3c6aa2..cb552bd 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -2236,7 +2236,8 @@ done:
@@ -2210,7 +2210,8 @@ done:
* NtQueryDirectoryFile [NTDLL.@]
* ZwQueryDirectoryFile [NTDLL.@]
*/
@ -141,10 +141,10 @@ index 5c42010..12b2995 100644
HARDERROR_RESPONSE_OPTION ResponseOption, PHARDERROR_RESPONSE Response )
{
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 1027b54..1cde19c 100644
index 4cac2ca..2db1095 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -298,7 +298,8 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
@@ -295,7 +295,8 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
* Success: 0. FileHandle and IoStatusBlock are updated.
* Failure: An NTSTATUS error code describing the error.
*/
@ -154,7 +154,7 @@ index 1027b54..1cde19c 100644
POBJECT_ATTRIBUTES attr, PIO_STATUS_BLOCK io,
ULONG sharing, ULONG options )
{
@@ -330,7 +331,8 @@ NTSTATUS WINAPI NtOpenFile( PHANDLE handle, ACCESS_MASK access,
@@ -327,7 +328,8 @@ NTSTATUS WINAPI NtOpenFile( PHANDLE handle, ACCESS_MASK access,
* Success: 0. handle and io are updated.
* Failure: An NTSTATUS error code describing the error.
*/
@ -164,7 +164,7 @@ index 1027b54..1cde19c 100644
PIO_STATUS_BLOCK io, PLARGE_INTEGER alloc_size,
ULONG attributes, ULONG sharing, ULONG disposition,
ULONG options, PVOID ea_buffer, ULONG ea_length )
@@ -800,7 +802,8 @@ static NTSTATUS get_io_avail_mode( HANDLE handle, enum server_fd_type type, BOOL
@@ -791,7 +793,8 @@ static NTSTATUS get_io_avail_mode( HANDLE handle, enum server_fd_type type, BOOL
* The number of bytes read.
* Failure: An NTSTATUS error code describing the error.
*/
@ -174,7 +174,7 @@ index 1027b54..1cde19c 100644
PIO_APC_ROUTINE apc, void* apc_user,
PIO_STATUS_BLOCK io_status, void* buffer, ULONG length,
PLARGE_INTEGER offset, PULONG key)
@@ -1011,7 +1014,8 @@ err:
@@ -1002,7 +1005,8 @@ err:
* NtReadFileScatter [NTDLL.@]
* ZwReadFileScatter [NTDLL.@]
*/
@ -184,7 +184,7 @@ index 1027b54..1cde19c 100644
PIO_STATUS_BLOCK io_status, FILE_SEGMENT_ELEMENT *segments,
ULONG length, PLARGE_INTEGER offset, PULONG key )
{
@@ -1183,7 +1187,8 @@ static NTSTATUS set_pending_write( HANDLE device )
@@ -1174,7 +1178,8 @@ static NTSTATUS set_pending_write( HANDLE device )
* The number of bytes written.
* Failure: An NTSTATUS error code describing the error.
*/
@ -194,7 +194,7 @@ index 1027b54..1cde19c 100644
PIO_APC_ROUTINE apc, void* apc_user,
PIO_STATUS_BLOCK io_status,
const void* buffer, ULONG length,
@@ -1417,7 +1422,8 @@ err:
@@ -1408,7 +1413,8 @@ err:
* NtWriteFileGather [NTDLL.@]
* ZwWriteFileGather [NTDLL.@]
*/
@ -204,7 +204,7 @@ index 1027b54..1cde19c 100644
PIO_STATUS_BLOCK io_status, FILE_SEGMENT_ELEMENT *segments,
ULONG length, PLARGE_INTEGER offset, PULONG key )
{
@@ -1606,7 +1612,8 @@ static void ignore_server_ioctl_struct_holes (ULONG code, const void *in_buffer,
@@ -1597,7 +1603,8 @@ static void ignore_server_ioctl_struct_holes (ULONG code, const void *in_buffer,
* Success: 0. IoStatusBlock is updated.
* Failure: An NTSTATUS error code describing the error.
*/
@ -214,7 +214,7 @@ index 1027b54..1cde19c 100644
PIO_APC_ROUTINE apc, PVOID apc_context,
PIO_STATUS_BLOCK io, ULONG code,
PVOID in_buffer, ULONG in_size,
@@ -1670,7 +1677,8 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event,
@@ -1661,7 +1668,8 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event,
* Success: 0. IoStatusBlock is updated.
* Failure: An NTSTATUS error code describing the error.
*/
@ -224,7 +224,7 @@ index 1027b54..1cde19c 100644
PVOID apc_context, PIO_STATUS_BLOCK io, ULONG code,
PVOID in_buffer, ULONG in_size, PVOID out_buffer, ULONG out_size)
{
@@ -1913,7 +1921,8 @@ static NTSTATUS read_changes_apc( void *user, IO_STATUS_BLOCK *iosb,
@@ -1904,7 +1912,8 @@ static NTSTATUS read_changes_apc( void *user, IO_STATUS_BLOCK *iosb,
/******************************************************************************
* NtNotifyChangeDirectoryFile [NTDLL.@]
*/
@ -234,7 +234,7 @@ index 1027b54..1cde19c 100644
void *apc_context, PIO_STATUS_BLOCK iosb, void *buffer,
ULONG buffer_size, ULONG filter, BOOLEAN subtree )
{
@@ -1972,7 +1981,8 @@ NTSTATUS WINAPI NtNotifyChangeDirectoryFile( HANDLE handle, HANDLE event, PIO_AP
@@ -1963,7 +1972,8 @@ NTSTATUS WINAPI NtNotifyChangeDirectoryFile( HANDLE handle, HANDLE event, PIO_AP
* Success: 0. IoStatusBlock is updated.
* Failure: An NTSTATUS error code describing the error.
*/
@ -244,7 +244,7 @@ index 1027b54..1cde19c 100644
IN HANDLE FileHandle,
PIO_STATUS_BLOCK IoStatusBlock,
PVOID FsInformation,
@@ -2277,7 +2287,8 @@ static NTSTATUS fill_name_info( const ANSI_STRING *unix_name, FILE_NAME_INFORMAT
@@ -2268,7 +2278,8 @@ static NTSTATUS fill_name_info( const ANSI_STRING *unix_name, FILE_NAME_INFORMAT
* Success: 0. IoStatusBlock and FileInformation are updated.
* Failure: An NTSTATUS error code describing the error.
*/
@ -254,7 +254,7 @@ index 1027b54..1cde19c 100644
PVOID ptr, LONG len, FILE_INFORMATION_CLASS class )
{
static const size_t info_sizes[] =
@@ -2603,7 +2614,8 @@ NTSTATUS WINAPI NtQueryInformationFile( HANDLE hFile, PIO_STATUS_BLOCK io,
@@ -2594,7 +2605,8 @@ NTSTATUS WINAPI NtQueryInformationFile( HANDLE hFile, PIO_STATUS_BLOCK io,
* Success: 0. io is updated.
* Failure: An NTSTATUS error code describing the error.
*/
@ -264,7 +264,7 @@ index 1027b54..1cde19c 100644
PVOID ptr, ULONG len, FILE_INFORMATION_CLASS class)
{
int fd, needs_close;
@@ -2900,7 +2912,8 @@ NTSTATUS WINAPI NtSetInformationFile(HANDLE handle, PIO_STATUS_BLOCK io,
@@ -2891,7 +2903,8 @@ NTSTATUS WINAPI NtSetInformationFile(HANDLE handle, PIO_STATUS_BLOCK io,
/******************************************************************************
* NtQueryFullAttributesFile (NTDLL.@)
*/
@ -274,7 +274,7 @@ index 1027b54..1cde19c 100644
FILE_NETWORK_OPEN_INFORMATION *info )
{
ANSI_STRING unix_name;
@@ -2944,7 +2957,8 @@ NTSTATUS WINAPI NtQueryFullAttributesFile( const OBJECT_ATTRIBUTES *attr,
@@ -2935,7 +2948,8 @@ NTSTATUS WINAPI NtQueryFullAttributesFile( const OBJECT_ATTRIBUTES *attr,
* NtQueryAttributesFile (NTDLL.@)
* ZwQueryAttributesFile (NTDLL.@)
*/
@ -284,7 +284,7 @@ index 1027b54..1cde19c 100644
{
ANSI_STRING unix_name;
NTSTATUS status;
@@ -3165,7 +3179,8 @@ static NTSTATUS get_device_info( int fd, FILE_FS_DEVICE_INFORMATION *info )
@@ -3156,7 +3170,8 @@ static NTSTATUS get_device_info( int fd, FILE_FS_DEVICE_INFORMATION *info )
* Success: 0. io and buffer are updated.
* Failure: An NTSTATUS error code describing the error.
*/
@ -294,7 +294,7 @@ index 1027b54..1cde19c 100644
PVOID buffer, ULONG length,
FS_INFORMATION_CLASS info_class )
{
@@ -3313,7 +3328,8 @@ NTSTATUS WINAPI NtQueryVolumeInformationFile( HANDLE handle, PIO_STATUS_BLOCK io
@@ -3304,7 +3319,8 @@ NTSTATUS WINAPI NtQueryVolumeInformationFile( HANDLE handle, PIO_STATUS_BLOCK io
* Success: 0. Atrributes read into buffer
* Failure: An NTSTATUS error code describing the error.
*/
@ -304,7 +304,7 @@ index 1027b54..1cde19c 100644
BOOLEAN single_entry, PVOID ea_list, ULONG ea_list_len,
PULONG ea_index, BOOLEAN restart )
{
@@ -3339,7 +3355,8 @@ NTSTATUS WINAPI NtQueryEaFile( HANDLE hFile, PIO_STATUS_BLOCK iosb, PVOID buffer
@@ -3330,7 +3346,8 @@ NTSTATUS WINAPI NtQueryEaFile( HANDLE hFile, PIO_STATUS_BLOCK iosb, PVOID buffer
* Success: 0. Attributes are updated
* Failure: An NTSTATUS error code describing the error.
*/
@ -314,7 +314,7 @@ index 1027b54..1cde19c 100644
{
FIXME("(%p,%p,%p,%d) stub\n", hFile, iosb, buffer, length);
return STATUS_ACCESS_DENIED;
@@ -3359,7 +3376,8 @@ NTSTATUS WINAPI NtSetEaFile( HANDLE hFile, PIO_STATUS_BLOCK iosb, PVOID buffer,
@@ -3350,7 +3367,8 @@ NTSTATUS WINAPI NtSetEaFile( HANDLE hFile, PIO_STATUS_BLOCK iosb, PVOID buffer,
* Success: 0. IoStatusBlock is updated.
* Failure: An NTSTATUS error code describing the error.
*/
@ -324,7 +324,7 @@ index 1027b54..1cde19c 100644
{
NTSTATUS ret;
HANDLE hEvent = NULL;
@@ -3401,7 +3419,8 @@ NTSTATUS WINAPI NtFlushBuffersFile( HANDLE hFile, IO_STATUS_BLOCK* IoStatusBlock
@@ -3392,7 +3410,8 @@ NTSTATUS WINAPI NtFlushBuffersFile( HANDLE hFile, IO_STATUS_BLOCK* IoStatusBlock
*
*
*/
@ -334,7 +334,7 @@ index 1027b54..1cde19c 100644
PIO_APC_ROUTINE apc, void* apc_user,
PIO_STATUS_BLOCK io_status, PLARGE_INTEGER offset,
PLARGE_INTEGER count, ULONG* key, BOOLEAN dont_wait,
@@ -3473,7 +3492,8 @@ NTSTATUS WINAPI NtLockFile( HANDLE hFile, HANDLE lock_granted_event,
@@ -3464,7 +3483,8 @@ NTSTATUS WINAPI NtLockFile( HANDLE hFile, HANDLE lock_granted_event,
*
*
*/
@ -344,7 +344,7 @@ index 1027b54..1cde19c 100644
PLARGE_INTEGER offset, PLARGE_INTEGER count,
PULONG key )
{
@@ -3504,7 +3524,8 @@ NTSTATUS WINAPI NtUnlockFile( HANDLE hFile, PIO_STATUS_BLOCK io_status,
@@ -3495,7 +3515,8 @@ NTSTATUS WINAPI NtUnlockFile( HANDLE hFile, PIO_STATUS_BLOCK io_status,
*
*
*/
@ -354,7 +354,7 @@ index 1027b54..1cde19c 100644
POBJECT_ATTRIBUTES attr, PIO_STATUS_BLOCK iosb,
ULONG sharing, ULONG dispo, ULONG options,
ULONG pipe_type, ULONG read_mode,
@@ -3563,7 +3584,8 @@ NTSTATUS WINAPI NtCreateNamedPipeFile( PHANDLE handle, ULONG access,
@@ -3546,7 +3567,8 @@ NTSTATUS WINAPI NtCreateNamedPipeFile( PHANDLE handle, ULONG access,
*
*
*/
@ -364,7 +364,7 @@ index 1027b54..1cde19c 100644
{
NTSTATUS status;
HANDLE hFile;
@@ -3583,7 +3605,8 @@ NTSTATUS WINAPI NtDeleteFile( POBJECT_ATTRIBUTES ObjectAttributes )
@@ -3566,7 +3588,8 @@ NTSTATUS WINAPI NtDeleteFile( POBJECT_ATTRIBUTES ObjectAttributes )
*
*
*/
@ -374,7 +374,7 @@ index 1027b54..1cde19c 100644
{
TRACE("%p %p %p\n", hFile, iosb, io_status );
@@ -3604,7 +3627,8 @@ NTSTATUS WINAPI NtCancelIoFileEx( HANDLE hFile, PIO_STATUS_BLOCK iosb, PIO_STATU
@@ -3587,7 +3610,8 @@ NTSTATUS WINAPI NtCancelIoFileEx( HANDLE hFile, PIO_STATUS_BLOCK iosb, PIO_STATU
*
*
*/
@ -384,7 +384,7 @@ index 1027b54..1cde19c 100644
{
TRACE("%p %p\n", hFile, io_status );
@@ -3637,7 +3661,8 @@ NTSTATUS WINAPI NtCancelIoFile( HANDLE hFile, PIO_STATUS_BLOCK io_status )
@@ -3620,7 +3644,8 @@ NTSTATUS WINAPI NtCancelIoFile( HANDLE hFile, PIO_STATUS_BLOCK io_status )
* RETURNS
* An NT status code
*/
@ -419,7 +419,7 @@ index 74feb97..e5ea736 100644
FIXME("(%p), stub!\n",DriverServiceName);
return STATUS_NOT_IMPLEMENTED;
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 8ea1ddd..19d5b6e 100644
index 9ee1923..af78461 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -74,7 +74,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
@ -642,7 +642,7 @@ index 8ea1ddd..19d5b6e 100644
IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
OUT PVOID SystemInformation,
IN ULONG Length,
@@ -2142,7 +2164,8 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2187,7 +2209,8 @@ NTSTATUS WINAPI NtQuerySystemInformationEx(SYSTEM_INFORMATION_CLASS SystemInform
* NtSetSystemInformation [NTDLL.@]
* ZwSetSystemInformation [NTDLL.@]
*/
@ -652,7 +652,7 @@ index 8ea1ddd..19d5b6e 100644
{
FIXME("(0x%08x,%p,0x%08x) stub\n",SystemInformationClass,SystemInformation,Length);
return STATUS_SUCCESS;
@@ -2152,7 +2175,8 @@ NTSTATUS WINAPI NtSetSystemInformation(SYSTEM_INFORMATION_CLASS SystemInformatio
@@ -2197,7 +2220,8 @@ NTSTATUS WINAPI NtSetSystemInformation(SYSTEM_INFORMATION_CLASS SystemInformatio
* NtCreatePagingFile [NTDLL.@]
* ZwCreatePagingFile [NTDLL.@]
*/
@ -662,7 +662,7 @@ index 8ea1ddd..19d5b6e 100644
PUNICODE_STRING PageFileName,
PLARGE_INTEGER MinimumSize,
PLARGE_INTEGER MaximumSize,
@@ -2167,7 +2191,8 @@ NTSTATUS WINAPI NtCreatePagingFile(
@@ -2212,7 +2236,8 @@ NTSTATUS WINAPI NtCreatePagingFile(
*
* writes a string to the nt-textmode screen eg. during startup
*/
@ -672,7 +672,7 @@ index 8ea1ddd..19d5b6e 100644
{
STRING stringA;
NTSTATUS ret;
@@ -2184,7 +2209,8 @@ NTSTATUS WINAPI NtDisplayString ( PUNICODE_STRING string )
@@ -2229,7 +2254,8 @@ NTSTATUS WINAPI NtDisplayString ( PUNICODE_STRING string )
* NtInitiatePowerAction [NTDLL.@]
*
*/
@ -682,7 +682,7 @@ index 8ea1ddd..19d5b6e 100644
IN POWER_ACTION SystemAction,
IN SYSTEM_POWER_STATE MinSystemState,
IN ULONG Flags,
@@ -2228,7 +2254,8 @@ static ULONG mhz_from_cpuinfo(void)
@@ -2273,7 +2299,8 @@ static ULONG mhz_from_cpuinfo(void)
* NtPowerInformation [NTDLL.@]
*
*/
@ -692,7 +692,7 @@ index 8ea1ddd..19d5b6e 100644
IN POWER_INFORMATION_LEVEL InformationLevel,
IN PVOID lpInputBuffer,
IN ULONG nInputBufferSize,
@@ -2418,7 +2445,8 @@ NTSTATUS WINAPI NtPowerInformation(
@@ -2463,7 +2490,8 @@ NTSTATUS WINAPI NtPowerInformation(
* NtShutdownSystem [NTDLL.@]
*
*/
@ -702,7 +702,7 @@ index 8ea1ddd..19d5b6e 100644
{
FIXME("%d\n",Action);
return STATUS_SUCCESS;
@@ -2427,7 +2455,8 @@ NTSTATUS WINAPI NtShutdownSystem(SHUTDOWN_ACTION Action)
@@ -2472,7 +2500,8 @@ NTSTATUS WINAPI NtShutdownSystem(SHUTDOWN_ACTION Action)
/******************************************************************************
* NtAllocateLocallyUniqueId (NTDLL.@)
*/
@ -712,7 +712,7 @@ index 8ea1ddd..19d5b6e 100644
{
NTSTATUS status;
@@ -2485,7 +2514,8 @@ ULONGLONG WINAPI VerSetConditionMask( ULONGLONG dwlConditionMask, DWORD dwTypeBi
@@ -2530,7 +2559,8 @@ ULONGLONG WINAPI VerSetConditionMask( ULONGLONG dwlConditionMask, DWORD dwTypeBi
* NtAccessCheckAndAuditAlarm (NTDLL.@)
* ZwAccessCheckAndAuditAlarm (NTDLL.@)
*/
@ -722,7 +722,7 @@ index 8ea1ddd..19d5b6e 100644
PUNICODE_STRING ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor,
ACCESS_MASK DesiredAccess, PGENERIC_MAPPING GenericMapping, BOOLEAN ObjectCreation,
PACCESS_MASK GrantedAccess, PBOOLEAN AccessStatus, PBOOLEAN GenerateOnClose)
@@ -2501,7 +2531,8 @@ NTSTATUS WINAPI NtAccessCheckAndAuditAlarm(PUNICODE_STRING SubsystemName, HANDLE
@@ -2546,7 +2576,8 @@ NTSTATUS WINAPI NtAccessCheckAndAuditAlarm(PUNICODE_STRING SubsystemName, HANDLE
* NtSystemDebugControl (NTDLL.@)
* ZwSystemDebugControl (NTDLL.@)
*/
@ -733,10 +733,10 @@ index 8ea1ddd..19d5b6e 100644
{
FIXME("(%d, %p, %d, %p, %d, %p), stub\n", command, inbuffer, inbuflength, outbuffer, outbuflength, retlength);
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index cbd19db..e3f902f 100644
index 6683daa..b71e427 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -262,6 +262,23 @@ extern HANDLE keyed_event DECLSPEC_HIDDEN;
@@ -259,6 +259,23 @@ extern HANDLE keyed_event DECLSPEC_HIDDEN;
"ret $(4*" #args ")" ) /* fake ret to make copy protections happy */
#endif
@ -896,7 +896,7 @@ index 3fadba7..4fd0656 100644
FIXME("(%p), stub.\n", Handle);
return STATUS_SUCCESS;
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index ca9462a..37c08f1 100644
index 5a5c3ef..c7a0a8a 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -53,7 +53,8 @@ static ULONG execute_flags = MEM_EXECUTE_OPTION_DISABLE;
@ -950,7 +950,7 @@ index ca9462a..37c08f1 100644
{
NTSTATUS status;
diff --git a/dlls/ntdll/reg.c b/dlls/ntdll/reg.c
index 0701426..b74c464 100644
index be95a2a..3831d56 100644
--- a/dlls/ntdll/reg.c
+++ b/dlls/ntdll/reg.c
@@ -51,7 +51,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(reg);
@ -1039,7 +1039,7 @@ index 0701426..b74c464 100644
{
NTSTATUS ret;
@@ -350,7 +359,8 @@ static NTSTATUS enumerate_key( HANDLE handle, int index, KEY_INFORMATION_CLASS i
@@ -368,7 +377,8 @@ static NTSTATUS enumerate_key( HANDLE handle, int index, KEY_INFORMATION_CLASS i
* NOTES
* the name copied into the buffer is NOT 0-terminated
*/
@ -1049,7 +1049,7 @@ index 0701426..b74c464 100644
void *info, DWORD length, DWORD *result_len )
{
/* -1 means query key, so avoid it here */
@@ -409,7 +419,8 @@ NTSTATUS WINAPI RtlpNtEnumerateSubKey( HANDLE handle, UNICODE_STRING *out, ULONG
@@ -427,7 +437,8 @@ NTSTATUS WINAPI RtlpNtEnumerateSubKey( HANDLE handle, UNICODE_STRING *out, ULONG
* NtQueryKey [NTDLL.@]
* ZwQueryKey [NTDLL.@]
*/
@ -1059,7 +1059,7 @@ index 0701426..b74c464 100644
void *info, DWORD length, DWORD *result_len )
{
return enumerate_key( handle, -1, info_class, info, length, result_len );
@@ -464,7 +475,8 @@ static void copy_key_value_info( KEY_VALUE_INFORMATION_CLASS info_class, void *i
@@ -482,7 +493,8 @@ static void copy_key_value_info( KEY_VALUE_INFORMATION_CLASS info_class, void *i
* NtEnumerateValueKey [NTDLL.@]
* ZwEnumerateValueKey [NTDLL.@]
*/
@ -1069,7 +1069,7 @@ index 0701426..b74c464 100644
KEY_VALUE_INFORMATION_CLASS info_class,
void *info, DWORD length, DWORD *result_len )
{
@@ -512,7 +524,8 @@ NTSTATUS WINAPI NtEnumerateValueKey( HANDLE handle, ULONG index,
@@ -530,7 +542,8 @@ NTSTATUS WINAPI NtEnumerateValueKey( HANDLE handle, ULONG index,
* NOTES
* the name in the KeyValueInformation is never set
*/
@ -1079,7 +1079,7 @@ index 0701426..b74c464 100644
KEY_VALUE_INFORMATION_CLASS info_class,
void *info, DWORD length, DWORD *result_len )
{
@@ -614,7 +627,8 @@ NTSTATUS WINAPI RtlpNtQueryValueKey( HANDLE handle, ULONG *result_type, PBYTE de
@@ -632,7 +645,8 @@ NTSTATUS WINAPI RtlpNtQueryValueKey( HANDLE handle, ULONG *result_type, PBYTE de
* NtFlushKey [NTDLL.@]
* ZwFlushKey [NTDLL.@]
*/
@ -1089,7 +1089,7 @@ index 0701426..b74c464 100644
{
NTSTATUS ret;
@@ -634,7 +648,8 @@ NTSTATUS WINAPI NtFlushKey(HANDLE key)
@@ -652,7 +666,8 @@ NTSTATUS WINAPI NtFlushKey(HANDLE key)
* NtLoadKey [NTDLL.@]
* ZwLoadKey [NTDLL.@]
*/
@ -1099,7 +1099,7 @@ index 0701426..b74c464 100644
{
NTSTATUS ret;
HANDLE hive;
@@ -664,7 +679,8 @@ NTSTATUS WINAPI NtLoadKey( const OBJECT_ATTRIBUTES *attr, OBJECT_ATTRIBUTES *fil
@@ -682,7 +697,8 @@ NTSTATUS WINAPI NtLoadKey( const OBJECT_ATTRIBUTES *attr, OBJECT_ATTRIBUTES *fil
* NtNotifyChangeMultipleKeys [NTDLL.@]
* ZwNotifyChangeMultipleKeys [NTDLL.@]
*/
@ -1109,7 +1109,7 @@ index 0701426..b74c464 100644
HANDLE KeyHandle,
ULONG Count,
OBJECT_ATTRIBUTES *SubordinateObjects,
@@ -720,7 +736,8 @@ NTSTATUS WINAPI NtNotifyChangeMultipleKeys(
@@ -738,7 +754,8 @@ NTSTATUS WINAPI NtNotifyChangeMultipleKeys(
* NtNotifyChangeKey [NTDLL.@]
* ZwNotifyChangeKey [NTDLL.@]
*/
@ -1119,7 +1119,7 @@ index 0701426..b74c464 100644
IN HANDLE KeyHandle,
IN HANDLE Event,
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
@@ -742,7 +759,8 @@ NTSTATUS WINAPI NtNotifyChangeKey(
@@ -760,7 +777,8 @@ NTSTATUS WINAPI NtNotifyChangeKey(
* ZwQueryMultipleValueKey
*/
@ -1129,7 +1129,7 @@ index 0701426..b74c464 100644
HANDLE KeyHandle,
PKEY_MULTIPLE_VALUE_INFORMATION ListOfValuesToQuery,
ULONG NumberOfItems,
@@ -760,7 +778,8 @@ NTSTATUS WINAPI NtQueryMultipleValueKey(
@@ -778,7 +796,8 @@ NTSTATUS WINAPI NtQueryMultipleValueKey(
* NtReplaceKey [NTDLL.@]
* ZwReplaceKey [NTDLL.@]
*/
@ -1139,7 +1139,7 @@ index 0701426..b74c464 100644
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN HANDLE Key,
IN POBJECT_ATTRIBUTES ReplacedObjectAttributes)
@@ -773,7 +792,8 @@ NTSTATUS WINAPI NtReplaceKey(
@@ -791,7 +810,8 @@ NTSTATUS WINAPI NtReplaceKey(
* NtRestoreKey [NTDLL.@]
* ZwRestoreKey [NTDLL.@]
*/
@ -1149,7 +1149,7 @@ index 0701426..b74c464 100644
HANDLE KeyHandle,
HANDLE FileHandle,
ULONG RestoreFlags)
@@ -786,7 +806,8 @@ NTSTATUS WINAPI NtRestoreKey(
@@ -804,7 +824,8 @@ NTSTATUS WINAPI NtRestoreKey(
* NtSaveKey [NTDLL.@]
* ZwSaveKey [NTDLL.@]
*/
@ -1159,7 +1159,7 @@ index 0701426..b74c464 100644
{
NTSTATUS ret;
@@ -806,7 +827,8 @@ NTSTATUS WINAPI NtSaveKey(IN HANDLE KeyHandle, IN HANDLE FileHandle)
@@ -824,7 +845,8 @@ NTSTATUS WINAPI NtSaveKey(IN HANDLE KeyHandle, IN HANDLE FileHandle)
* NtSetInformationKey [NTDLL.@]
* ZwSetInformationKey [NTDLL.@]
*/
@ -1169,7 +1169,7 @@ index 0701426..b74c464 100644
IN HANDLE KeyHandle,
IN const int KeyInformationClass,
IN PVOID KeyInformation,
@@ -826,7 +848,8 @@ NTSTATUS WINAPI NtSetInformationKey(
@@ -844,7 +866,8 @@ NTSTATUS WINAPI NtSetInformationKey(
* win95 does not care about count for REG_SZ and finds out the len by itself (js)
* NT does definitely care (aj)
*/
@ -1179,7 +1179,7 @@ index 0701426..b74c464 100644
ULONG type, const void *data, ULONG count )
{
NTSTATUS ret;
@@ -865,7 +888,8 @@ NTSTATUS WINAPI RtlpNtSetValueKey( HANDLE hkey, ULONG type, const void *data,
@@ -883,7 +906,8 @@ NTSTATUS WINAPI RtlpNtSetValueKey( HANDLE hkey, ULONG type, const void *data,
* NtUnloadKey [NTDLL.@]
* ZwUnloadKey [NTDLL.@]
*/
@ -1189,7 +1189,7 @@ index 0701426..b74c464 100644
{
NTSTATUS ret;
@@ -1472,7 +1496,8 @@ NTSTATUS WINAPI RtlWriteRegistryValue( ULONG RelativeTo, PCWSTR path, PCWSTR nam
@@ -1490,7 +1514,8 @@ NTSTATUS WINAPI RtlWriteRegistryValue( ULONG RelativeTo, PCWSTR path, PCWSTR nam
* unless there is some app which explicitly depends on that, there is
* no good reason to reproduce that.
*/
@ -1326,10 +1326,10 @@ index 3a41c84..905e7cc 100644
NTSTATUS status = raise_exception( rec, context, first_chance );
if (status == STATUS_SUCCESS) NtSetContextThread( GetCurrentThread(), context );
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 5c3aa819..fdb48371 100644
index a3abbff..839f793 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -2617,7 +2617,8 @@ DEFINE_REGS_ENTRYPOINT( RtlUnwind, 4 )
@@ -2598,7 +2598,8 @@ DEFINE_REGS_ENTRYPOINT( RtlUnwind, 4 )
/*******************************************************************
* NtRaiseException (NTDLL.@)
*/
@ -1339,7 +1339,7 @@ index 5c3aa819..fdb48371 100644
{
NTSTATUS status = raise_exception( rec, context, first_chance );
if (status == STATUS_SUCCESS)
@@ -2856,4 +2857,12 @@ __ASM_GLOBAL_FUNC(call_exception_handler,
@@ -2837,4 +2838,12 @@ __ASM_GLOBAL_FUNC(call_exception_handler,
__ASM_CFI(".cfi_same_value %ebp\n\t")
"ret $20" ) /* (*4) */
@ -1367,10 +1367,10 @@ index 886da86..9ec38f5 100644
NTSTATUS status = raise_exception( rec, context, first_chance );
if (status == STATUS_SUCCESS) NtSetContextThread( GetCurrentThread(), context );
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 524de68..574b086 100644
index 0c64541..ad00eb6 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -3617,7 +3617,8 @@ EXCEPTION_DISPOSITION WINAPI __C_specific_handler( EXCEPTION_RECORD *rec,
@@ -3637,7 +3637,8 @@ EXCEPTION_DISPOSITION WINAPI __C_specific_handler( EXCEPTION_RECORD *rec,
/*******************************************************************
* NtRaiseException (NTDLL.@)
*/
@ -1381,10 +1381,10 @@ index 524de68..574b086 100644
NTSTATUS status = raise_exception( rec, context, first_chance );
if (status == STATUS_SUCCESS) NtSetContextThread( GetCurrentThread(), context );
diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c
index 6892732..341a71a 100644
index 36a9c86..1f8ab5a 100644
--- a/dlls/ntdll/sync.c
+++ b/dlls/ntdll/sync.c
@@ -149,7 +149,8 @@ void NTDLL_free_struct_sd(struct security_descriptor *server_sd)
@@ -157,7 +157,8 @@ NTSTATUS alloc_object_attributes( const OBJECT_ATTRIBUTES *attr, struct object_a
/******************************************************************************
* NtCreateSemaphore (NTDLL.@)
*/
@ -1394,7 +1394,7 @@ index 6892732..341a71a 100644
IN ACCESS_MASK access,
IN const OBJECT_ATTRIBUTES *attr OPTIONAL,
IN LONG InitialCount,
@@ -195,7 +196,8 @@ NTSTATUS WINAPI NtCreateSemaphore( OUT PHANDLE SemaphoreHandle,
@@ -190,7 +191,8 @@ NTSTATUS WINAPI NtCreateSemaphore( OUT PHANDLE SemaphoreHandle,
/******************************************************************************
* NtOpenSemaphore (NTDLL.@)
*/
@ -1404,7 +1404,7 @@ index 6892732..341a71a 100644
IN ACCESS_MASK access,
IN const OBJECT_ATTRIBUTES *attr )
{
@@ -220,7 +222,8 @@ NTSTATUS WINAPI NtOpenSemaphore( OUT PHANDLE SemaphoreHandle,
@@ -215,7 +217,8 @@ NTSTATUS WINAPI NtOpenSemaphore( OUT PHANDLE SemaphoreHandle,
/******************************************************************************
* NtQuerySemaphore (NTDLL.@)
*/
@ -1414,7 +1414,7 @@ index 6892732..341a71a 100644
void *info, ULONG len, ULONG *ret_len )
{
NTSTATUS ret;
@@ -252,7 +255,8 @@ NTSTATUS WINAPI NtQuerySemaphore( HANDLE handle, SEMAPHORE_INFORMATION_CLASS cla
@@ -247,7 +250,8 @@ NTSTATUS WINAPI NtQuerySemaphore( HANDLE handle, SEMAPHORE_INFORMATION_CLASS cla
/******************************************************************************
* NtReleaseSemaphore (NTDLL.@)
*/
@ -1424,7 +1424,7 @@ index 6892732..341a71a 100644
{
NTSTATUS ret;
SERVER_START_REQ( release_semaphore )
@@ -276,7 +280,8 @@ NTSTATUS WINAPI NtReleaseSemaphore( HANDLE handle, ULONG count, PULONG previous
@@ -271,7 +275,8 @@ NTSTATUS WINAPI NtReleaseSemaphore( HANDLE handle, ULONG count, PULONG previous
* NtCreateEvent (NTDLL.@)
* ZwCreateEvent (NTDLL.@)
*/
@ -1433,8 +1433,8 @@ index 6892732..341a71a 100644
+NTSTATUS WINAPI SYSCALL(NtCreateEvent)( PHANDLE EventHandle, ACCESS_MASK DesiredAccess,
const OBJECT_ATTRIBUTES *attr, EVENT_TYPE type, BOOLEAN InitialState)
{
DWORD len = attr && attr->ObjectName ? attr->ObjectName->Length : 0;
@@ -318,7 +323,8 @@ NTSTATUS WINAPI NtCreateEvent( PHANDLE EventHandle, ACCESS_MASK DesiredAccess,
NTSTATUS ret;
@@ -299,7 +304,8 @@ NTSTATUS WINAPI NtCreateEvent( PHANDLE EventHandle, ACCESS_MASK DesiredAccess,
* NtOpenEvent (NTDLL.@)
* ZwOpenEvent (NTDLL.@)
*/
@ -1444,7 +1444,7 @@ index 6892732..341a71a 100644
OUT PHANDLE EventHandle,
IN ACCESS_MASK DesiredAccess,
IN const OBJECT_ATTRIBUTES *attr )
@@ -346,7 +352,8 @@ NTSTATUS WINAPI NtOpenEvent(
@@ -327,7 +333,8 @@ NTSTATUS WINAPI NtOpenEvent(
* NtSetEvent (NTDLL.@)
* ZwSetEvent (NTDLL.@)
*/
@ -1454,7 +1454,7 @@ index 6892732..341a71a 100644
{
NTSTATUS ret;
@@ -365,7 +372,8 @@ NTSTATUS WINAPI NtSetEvent( HANDLE handle, PULONG NumberOfThreadsReleased )
@@ -346,7 +353,8 @@ NTSTATUS WINAPI NtSetEvent( HANDLE handle, PULONG NumberOfThreadsReleased )
/******************************************************************************
* NtResetEvent (NTDLL.@)
*/
@ -1464,7 +1464,7 @@ index 6892732..341a71a 100644
{
NTSTATUS ret;
@@ -388,7 +396,8 @@ NTSTATUS WINAPI NtResetEvent( HANDLE handle, PULONG NumberOfThreadsReleased )
@@ -369,7 +377,8 @@ NTSTATUS WINAPI NtResetEvent( HANDLE handle, PULONG NumberOfThreadsReleased )
* FIXME
* same as NtResetEvent ???
*/
@ -1474,7 +1474,7 @@ index 6892732..341a71a 100644
{
return NtResetEvent( handle, NULL );
}
@@ -399,7 +408,8 @@ NTSTATUS WINAPI NtClearEvent ( HANDLE handle )
@@ -380,7 +389,8 @@ NTSTATUS WINAPI NtClearEvent ( HANDLE handle )
* FIXME
* PulseCount
*/
@ -1484,7 +1484,7 @@ index 6892732..341a71a 100644
{
NTSTATUS ret;
@@ -419,7 +429,8 @@ NTSTATUS WINAPI NtPulseEvent( HANDLE handle, PULONG PulseCount )
@@ -400,7 +410,8 @@ NTSTATUS WINAPI NtPulseEvent( HANDLE handle, PULONG PulseCount )
/******************************************************************************
* NtQueryEvent (NTDLL.@)
*/
@ -1494,7 +1494,7 @@ index 6892732..341a71a 100644
void *info, ULONG len, ULONG *ret_len )
{
NTSTATUS ret;
@@ -457,7 +468,8 @@ NTSTATUS WINAPI NtQueryEvent( HANDLE handle, EVENT_INFORMATION_CLASS class,
@@ -438,7 +449,8 @@ NTSTATUS WINAPI NtQueryEvent( HANDLE handle, EVENT_INFORMATION_CLASS class,
* NtCreateMutant [NTDLL.@]
* ZwCreateMutant [NTDLL.@]
*/
@ -1504,7 +1504,7 @@ index 6892732..341a71a 100644
IN ACCESS_MASK access,
IN const OBJECT_ATTRIBUTES* attr OPTIONAL,
IN BOOLEAN InitialOwner)
@@ -500,7 +512,8 @@ NTSTATUS WINAPI NtCreateMutant(OUT HANDLE* MutantHandle,
@@ -467,7 +479,8 @@ NTSTATUS WINAPI NtCreateMutant(OUT HANDLE* MutantHandle,
* NtOpenMutant [NTDLL.@]
* ZwOpenMutant [NTDLL.@]
*/
@ -1514,7 +1514,7 @@ index 6892732..341a71a 100644
IN ACCESS_MASK access,
IN const OBJECT_ATTRIBUTES* attr )
{
@@ -526,7 +539,8 @@ NTSTATUS WINAPI NtOpenMutant(OUT HANDLE* MutantHandle,
@@ -493,7 +506,8 @@ NTSTATUS WINAPI NtOpenMutant(OUT HANDLE* MutantHandle,
* NtReleaseMutant [NTDLL.@]
* ZwReleaseMutant [NTDLL.@]
*/
@ -1524,7 +1524,7 @@ index 6892732..341a71a 100644
{
NTSTATUS status;
@@ -544,7 +558,8 @@ NTSTATUS WINAPI NtReleaseMutant( IN HANDLE handle, OUT PLONG prev_count OPTIONAL
@@ -511,7 +525,8 @@ NTSTATUS WINAPI NtReleaseMutant( IN HANDLE handle, OUT PLONG prev_count OPTIONAL
* NtQueryMutant [NTDLL.@]
* ZwQueryMutant [NTDLL.@]
*/
@ -1534,7 +1534,7 @@ index 6892732..341a71a 100644
IN MUTANT_INFORMATION_CLASS MutantInformationClass,
OUT PVOID MutantInformation,
IN ULONG MutantInformationLength,
@@ -563,7 +578,8 @@ NTSTATUS WINAPI NtQueryMutant(IN HANDLE handle,
@@ -530,7 +545,8 @@ NTSTATUS WINAPI NtQueryMutant(IN HANDLE handle,
* NtCreateJobObject [NTDLL.@]
* ZwCreateJobObject [NTDLL.@]
*/
@ -1542,9 +1542,9 @@ index 6892732..341a71a 100644
+DEFINE_SYSCALL_ENTRYPOINT( NtCreateJobObject, 3 );
+NTSTATUS WINAPI SYSCALL(NtCreateJobObject)( PHANDLE handle, ACCESS_MASK access, const OBJECT_ATTRIBUTES *attr )
{
DWORD len = attr && attr->ObjectName ? attr->ObjectName->Length : 0;
NTSTATUS ret;
@@ -601,7 +617,8 @@ NTSTATUS WINAPI NtCreateJobObject( PHANDLE handle, ACCESS_MASK access, const OBJ
data_size_t len;
@@ -555,7 +571,8 @@ NTSTATUS WINAPI NtCreateJobObject( PHANDLE handle, ACCESS_MASK access, const OBJ
* NtOpenJobObject [NTDLL.@]
* ZwOpenJobObject [NTDLL.@]
*/
@ -1554,7 +1554,7 @@ index 6892732..341a71a 100644
{
FIXME( "stub: %p %x %s\n", handle, access, attr ? debugstr_us(attr->ObjectName) : "" );
return STATUS_NOT_IMPLEMENTED;
@@ -611,7 +628,8 @@ NTSTATUS WINAPI NtOpenJobObject( PHANDLE handle, ACCESS_MASK access, const OBJEC
@@ -565,7 +582,8 @@ NTSTATUS WINAPI NtOpenJobObject( PHANDLE handle, ACCESS_MASK access, const OBJEC
* NtTerminateJobObject [NTDLL.@]
* ZwTerminateJobObject [NTDLL.@]
*/
@ -1564,7 +1564,7 @@ index 6892732..341a71a 100644
{
NTSTATUS ret;
@@ -632,7 +650,8 @@ NTSTATUS WINAPI NtTerminateJobObject( HANDLE handle, NTSTATUS status )
@@ -586,7 +604,8 @@ NTSTATUS WINAPI NtTerminateJobObject( HANDLE handle, NTSTATUS status )
* NtQueryInformationJobObject [NTDLL.@]
* ZwQueryInformationJobObject [NTDLL.@]
*/
@ -1574,7 +1574,7 @@ index 6892732..341a71a 100644
ULONG len, PULONG ret_len )
{
FIXME( "stub: %p %u %p %u %p\n", handle, class, info, len, ret_len );
@@ -675,7 +694,8 @@ NTSTATUS WINAPI NtQueryInformationJobObject( HANDLE handle, JOBOBJECTINFOCLASS c
@@ -629,7 +648,8 @@ NTSTATUS WINAPI NtQueryInformationJobObject( HANDLE handle, JOBOBJECTINFOCLASS c
* NtSetInformationJobObject [NTDLL.@]
* ZwSetInformationJobObject [NTDLL.@]
*/
@ -1584,7 +1584,7 @@ index 6892732..341a71a 100644
{
NTSTATUS status = STATUS_NOT_IMPLEMENTED;
JOBOBJECT_BASIC_LIMIT_INFORMATION *basic_limit;
@@ -740,7 +760,8 @@ NTSTATUS WINAPI NtSetInformationJobObject( HANDLE handle, JOBOBJECTINFOCLASS cla
@@ -694,7 +714,8 @@ NTSTATUS WINAPI NtSetInformationJobObject( HANDLE handle, JOBOBJECTINFOCLASS cla
* NtIsProcessInJob [NTDLL.@]
* ZwIsProcessInJob [NTDLL.@]
*/
@ -1594,7 +1594,7 @@ index 6892732..341a71a 100644
{
NTSTATUS status;
@@ -761,7 +782,8 @@ NTSTATUS WINAPI NtIsProcessInJob( HANDLE process, HANDLE job )
@@ -715,7 +736,8 @@ NTSTATUS WINAPI NtIsProcessInJob( HANDLE process, HANDLE job )
* NtAssignProcessToJobObject [NTDLL.@]
* ZwAssignProcessToJobObject [NTDLL.@]
*/
@ -1604,7 +1604,7 @@ index 6892732..341a71a 100644
{
NTSTATUS status;
@@ -786,7 +808,8 @@ NTSTATUS WINAPI NtAssignProcessToJobObject( HANDLE job, HANDLE process )
@@ -740,7 +762,8 @@ NTSTATUS WINAPI NtAssignProcessToJobObject( HANDLE job, HANDLE process )
* NtCreateTimer [NTDLL.@]
* ZwCreateTimer [NTDLL.@]
*/
@ -1614,7 +1614,7 @@ index 6892732..341a71a 100644
IN ACCESS_MASK access,
IN const OBJECT_ATTRIBUTES *attr OPTIONAL,
IN TIMER_TYPE timer_type)
@@ -818,7 +841,8 @@ NTSTATUS WINAPI NtCreateTimer(OUT HANDLE *handle,
@@ -772,7 +795,8 @@ NTSTATUS WINAPI NtCreateTimer(OUT HANDLE *handle,
* NtOpenTimer [NTDLL.@]
* ZwOpenTimer [NTDLL.@]
*/
@ -1624,7 +1624,7 @@ index 6892732..341a71a 100644
IN ACCESS_MASK access,
IN const OBJECT_ATTRIBUTES* attr )
{
@@ -844,7 +868,8 @@ NTSTATUS WINAPI NtOpenTimer(OUT PHANDLE handle,
@@ -798,7 +822,8 @@ NTSTATUS WINAPI NtOpenTimer(OUT PHANDLE handle,
* NtSetTimer [NTDLL.@]
* ZwSetTimer [NTDLL.@]
*/
@ -1634,7 +1634,7 @@ index 6892732..341a71a 100644
IN const LARGE_INTEGER* when,
IN PTIMER_APC_ROUTINE callback,
IN PVOID callback_arg,
@@ -878,7 +903,8 @@ NTSTATUS WINAPI NtSetTimer(IN HANDLE handle,
@@ -832,7 +857,8 @@ NTSTATUS WINAPI NtSetTimer(IN HANDLE handle,
* NtCancelTimer [NTDLL.@]
* ZwCancelTimer [NTDLL.@]
*/
@ -1644,7 +1644,7 @@ index 6892732..341a71a 100644
{
NTSTATUS status;
@@ -912,7 +938,8 @@ NTSTATUS WINAPI NtCancelTimer(IN HANDLE handle, OUT BOOLEAN* state)
@@ -866,7 +892,8 @@ NTSTATUS WINAPI NtCancelTimer(IN HANDLE handle, OUT BOOLEAN* state)
* STATUS_ACCESS_DENIED, if TimerHandle does not have TIMER_QUERY_STATE access
* to the timer.
*/
@ -1654,7 +1654,7 @@ index 6892732..341a71a 100644
HANDLE TimerHandle,
TIMER_INFORMATION_CLASS TimerInformationClass,
PVOID TimerInformation,
@@ -963,7 +990,8 @@ NTSTATUS WINAPI NtQueryTimer(
@@ -917,7 +944,8 @@ NTSTATUS WINAPI NtQueryTimer(
/******************************************************************************
* NtQueryTimerResolution [NTDLL.@]
*/
@ -1664,7 +1664,7 @@ index 6892732..341a71a 100644
OUT ULONG* max_resolution,
OUT ULONG* current_resolution)
{
@@ -976,7 +1004,8 @@ NTSTATUS WINAPI NtQueryTimerResolution(OUT ULONG* min_resolution,
@@ -930,7 +958,8 @@ NTSTATUS WINAPI NtQueryTimerResolution(OUT ULONG* min_resolution,
/******************************************************************************
* NtSetTimerResolution [NTDLL.@]
*/
@ -1674,7 +1674,7 @@ index 6892732..341a71a 100644
IN BOOLEAN set_resolution,
OUT ULONG* current_resolution )
{
@@ -1009,7 +1038,8 @@ static NTSTATUS wait_objects( DWORD count, const HANDLE *handles,
@@ -963,7 +992,8 @@ static NTSTATUS wait_objects( DWORD count, const HANDLE *handles,
/******************************************************************
* NtWaitForMultipleObjects (NTDLL.@)
*/
@ -1684,7 +1684,7 @@ index 6892732..341a71a 100644
BOOLEAN wait_any, BOOLEAN alertable,
const LARGE_INTEGER *timeout )
{
@@ -1020,7 +1050,8 @@ NTSTATUS WINAPI NtWaitForMultipleObjects( DWORD count, const HANDLE *handles,
@@ -974,7 +1004,8 @@ NTSTATUS WINAPI NtWaitForMultipleObjects( DWORD count, const HANDLE *handles,
/******************************************************************
* NtWaitForSingleObject (NTDLL.@)
*/
@ -1694,7 +1694,7 @@ index 6892732..341a71a 100644
{
return wait_objects( 1, &handle, FALSE, alertable, timeout );
}
@@ -1029,7 +1060,8 @@ NTSTATUS WINAPI NtWaitForSingleObject(HANDLE handle, BOOLEAN alertable, const LA
@@ -983,7 +1014,8 @@ NTSTATUS WINAPI NtWaitForSingleObject(HANDLE handle, BOOLEAN alertable, const LA
/******************************************************************
* NtSignalAndWaitForSingleObject (NTDLL.@)
*/
@ -1704,7 +1704,7 @@ index 6892732..341a71a 100644
BOOLEAN alertable, const LARGE_INTEGER *timeout )
{
select_op_t select_op;
@@ -1048,7 +1080,8 @@ NTSTATUS WINAPI NtSignalAndWaitForSingleObject( HANDLE hSignalObject, HANDLE hWa
@@ -1002,7 +1034,8 @@ NTSTATUS WINAPI NtSignalAndWaitForSingleObject( HANDLE hSignalObject, HANDLE hWa
/******************************************************************
* NtYieldExecution (NTDLL.@)
*/
@ -1714,7 +1714,7 @@ index 6892732..341a71a 100644
{
#ifdef HAVE_SCHED_YIELD
sched_yield();
@@ -1062,7 +1095,8 @@ NTSTATUS WINAPI NtYieldExecution(void)
@@ -1016,7 +1049,8 @@ NTSTATUS WINAPI NtYieldExecution(void)
/******************************************************************
* NtDelayExecution (NTDLL.@)
*/
@ -1724,7 +1724,7 @@ index 6892732..341a71a 100644
{
/* if alertable, we need to query the server */
if (alertable)
@@ -1105,7 +1139,8 @@ NTSTATUS WINAPI NtDelayExecution( BOOLEAN alertable, const LARGE_INTEGER *timeou
@@ -1059,7 +1093,8 @@ NTSTATUS WINAPI NtDelayExecution( BOOLEAN alertable, const LARGE_INTEGER *timeou
/******************************************************************************
* NtCreateKeyedEvent (NTDLL.@)
*/
@ -1733,8 +1733,8 @@ index 6892732..341a71a 100644
+NTSTATUS WINAPI SYSCALL(NtCreateKeyedEvent)( HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr, ULONG flags )
{
DWORD len = attr && attr->ObjectName ? attr->ObjectName->Length : 0;
@@ -1143,7 +1178,8 @@ NTSTATUS WINAPI NtCreateKeyedEvent( HANDLE *handle, ACCESS_MASK access,
NTSTATUS ret;
@@ -1084,7 +1119,8 @@ NTSTATUS WINAPI NtCreateKeyedEvent( HANDLE *handle, ACCESS_MASK access,
/******************************************************************************
* NtOpenKeyedEvent (NTDLL.@)
*/
@ -1744,7 +1744,7 @@ index 6892732..341a71a 100644
{
DWORD len = attr && attr->ObjectName ? attr->ObjectName->Length : 0;
NTSTATUS ret;
@@ -1166,7 +1202,8 @@ NTSTATUS WINAPI NtOpenKeyedEvent( HANDLE *handle, ACCESS_MASK access, const OBJE
@@ -1107,7 +1143,8 @@ NTSTATUS WINAPI NtOpenKeyedEvent( HANDLE *handle, ACCESS_MASK access, const OBJE
/******************************************************************************
* NtWaitForKeyedEvent (NTDLL.@)
*/
@ -1754,7 +1754,7 @@ index 6892732..341a71a 100644
BOOLEAN alertable, const LARGE_INTEGER *timeout )
{
select_op_t select_op;
@@ -1183,7 +1220,8 @@ NTSTATUS WINAPI NtWaitForKeyedEvent( HANDLE handle, const void *key,
@@ -1124,7 +1161,8 @@ NTSTATUS WINAPI NtWaitForKeyedEvent( HANDLE handle, const void *key,
/******************************************************************************
* NtReleaseKeyedEvent (NTDLL.@)
*/
@ -1764,7 +1764,7 @@ index 6892732..341a71a 100644
BOOLEAN alertable, const LARGE_INTEGER *timeout )
{
select_op_t select_op;
@@ -1210,7 +1248,8 @@ NTSTATUS WINAPI NtReleaseKeyedEvent( HANDLE handle, const void *key,
@@ -1151,7 +1189,8 @@ NTSTATUS WINAPI NtReleaseKeyedEvent( HANDLE handle, const void *key,
* NumberOfConcurrentThreads [I] desired number of concurrent active worker threads
*
*/
@ -1774,7 +1774,7 @@ index 6892732..341a71a 100644
POBJECT_ATTRIBUTES ObjectAttributes, ULONG NumberOfConcurrentThreads )
{
NTSTATUS status;
@@ -1250,7 +1289,8 @@ NTSTATUS WINAPI NtCreateIoCompletion( PHANDLE CompletionPort, ACCESS_MASK Desire
@@ -1191,7 +1230,8 @@ NTSTATUS WINAPI NtCreateIoCompletion( PHANDLE CompletionPort, ACCESS_MASK Desire
* Status [I] operation status
* NumberOfBytesTransferred [I] number of bytes transferred
*/
@ -1784,7 +1784,7 @@ index 6892732..341a71a 100644
ULONG_PTR CompletionValue, NTSTATUS Status,
SIZE_T NumberOfBytesTransferred )
{
@@ -1286,7 +1326,8 @@ NTSTATUS WINAPI NtSetIoCompletion( HANDLE CompletionPort, ULONG_PTR CompletionKe
@@ -1227,7 +1267,8 @@ NTSTATUS WINAPI NtSetIoCompletion( HANDLE CompletionPort, ULONG_PTR CompletionKe
* WaitTime [I] optional wait time in NTDLL format
*
*/
@ -1794,7 +1794,7 @@ index 6892732..341a71a 100644
PULONG_PTR CompletionValue, PIO_STATUS_BLOCK iosb,
PLARGE_INTEGER WaitTime )
{
@@ -1329,7 +1370,8 @@ NTSTATUS WINAPI NtRemoveIoCompletion( HANDLE CompletionPort, PULONG_PTR Completi
@@ -1270,7 +1311,8 @@ NTSTATUS WINAPI NtRemoveIoCompletion( HANDLE CompletionPort, PULONG_PTR Completi
* ObjectAttributes [I] completion object name
*
*/
@ -1804,7 +1804,7 @@ index 6892732..341a71a 100644
POBJECT_ATTRIBUTES ObjectAttributes )
{
NTSTATUS status;
@@ -1366,7 +1408,8 @@ NTSTATUS WINAPI NtOpenIoCompletion( PHANDLE CompletionPort, ACCESS_MASK DesiredA
@@ -1307,7 +1349,8 @@ NTSTATUS WINAPI NtOpenIoCompletion( PHANDLE CompletionPort, ACCESS_MASK DesiredA
* RequiredLength [O] required buffer length
*
*/
@ -1815,7 +1815,7 @@ index 6892732..341a71a 100644
{
NTSTATUS status;
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index aaf7a71..41f93be 100644
index 1455eb1..8215d5a 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -599,7 +599,8 @@ ULONG WINAPI RtlGetNtGlobalFlags(void)
@ -1908,7 +1908,7 @@ index aaf7a71..41f93be 100644
{
NTSTATUS ret;
DWORD dummy, i;
@@ -910,7 +919,8 @@ NTSTATUS WINAPI NtGetContextThread( HANDLE handle, CONTEXT *context )
@@ -912,7 +921,8 @@ NTSTATUS WINAPI NtGetContextThread( HANDLE handle, CONTEXT *context )
* NtQueryInformationThread (NTDLL.@)
* ZwQueryInformationThread (NTDLL.@)
*/
@ -1918,7 +1918,7 @@ index aaf7a71..41f93be 100644
void *data, ULONG length, ULONG *ret_len )
{
NTSTATUS status;
@@ -1154,7 +1164,8 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
@@ -1156,7 +1166,8 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
* NtSetInformationThread (NTDLL.@)
* ZwSetInformationThread (NTDLL.@)
*/
@ -1928,7 +1928,7 @@ index aaf7a71..41f93be 100644
LPCVOID data, ULONG length )
{
NTSTATUS status;
@@ -1313,7 +1324,8 @@ NTSTATUS WINAPI NtSetInformationThread( HANDLE handle, THREADINFOCLASS class,
@@ -1315,7 +1326,8 @@ NTSTATUS WINAPI NtSetInformationThread( HANDLE handle, THREADINFOCLASS class,
* Return the processor, on which the thread is running
*
*/
@ -1983,7 +1983,7 @@ index 96ffcfa..e93e820 100644
struct timeval tv;
time_t tm_t;
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index 4d4bc3b..f30d94a 100644
index f4ca487..4819a17 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -1857,7 +1857,8 @@ void virtual_set_large_address_space(void)
@ -2056,7 +2056,7 @@ index 4d4bc3b..f30d94a 100644
const LARGE_INTEGER *size, ULONG protect,
ULONG sec_flags, HANDLE file )
{
@@ -2510,7 +2517,8 @@ NTSTATUS WINAPI NtCreateSection( HANDLE *handle, ACCESS_MASK access, const OBJEC
@@ -2495,7 +2502,8 @@ NTSTATUS WINAPI NtCreateSection( HANDLE *handle, ACCESS_MASK access, const OBJEC
* NtOpenSection (NTDLL.@)
* ZwOpenSection (NTDLL.@)
*/
@ -2066,7 +2066,7 @@ index 4d4bc3b..f30d94a 100644
{
NTSTATUS ret;
DWORD len = attr->ObjectName->Length;
@@ -2534,7 +2542,8 @@ NTSTATUS WINAPI NtOpenSection( HANDLE *handle, ACCESS_MASK access, const OBJECT_
@@ -2519,7 +2527,8 @@ NTSTATUS WINAPI NtOpenSection( HANDLE *handle, ACCESS_MASK access, const OBJECT_
* NtMapViewOfSection (NTDLL.@)
* ZwMapViewOfSection (NTDLL.@)
*/
@ -2076,7 +2076,7 @@ index 4d4bc3b..f30d94a 100644
SIZE_T commit_size, const LARGE_INTEGER *offset_ptr, SIZE_T *size_ptr,
SECTION_INHERIT inherit, ULONG alloc_type, ULONG protect )
{
@@ -2732,7 +2741,8 @@ done:
@@ -2717,7 +2726,8 @@ done:
* NtUnmapViewOfSection (NTDLL.@)
* ZwUnmapViewOfSection (NTDLL.@)
*/
@ -2086,7 +2086,7 @@ index 4d4bc3b..f30d94a 100644
{
struct file_view *view;
NTSTATUS status = STATUS_NOT_MAPPED_VIEW;
@@ -2768,7 +2778,8 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr )
@@ -2753,7 +2763,8 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr )
* NtFlushVirtualMemory (NTDLL.@)
* ZwFlushVirtualMemory (NTDLL.@)
*/
@ -2096,7 +2096,7 @@ index 4d4bc3b..f30d94a 100644
SIZE_T *size_ptr, ULONG unknown )
{
struct file_view *view;
@@ -2816,7 +2827,8 @@ NTSTATUS WINAPI NtFlushVirtualMemory( HANDLE process, LPCVOID *addr_ptr,
@@ -2801,7 +2812,8 @@ NTSTATUS WINAPI NtFlushVirtualMemory( HANDLE process, LPCVOID *addr_ptr,
* NtGetWriteWatch (NTDLL.@)
* ZwGetWriteWatch (NTDLL.@)
*/
@ -2106,7 +2106,7 @@ index 4d4bc3b..f30d94a 100644
ULONG_PTR *count, ULONG *granularity )
{
struct file_view *view;
@@ -2864,7 +2876,8 @@ NTSTATUS WINAPI NtGetWriteWatch( HANDLE process, ULONG flags, PVOID base, SIZE_T
@@ -2849,7 +2861,8 @@ NTSTATUS WINAPI NtGetWriteWatch( HANDLE process, ULONG flags, PVOID base, SIZE_T
* NtResetWriteWatch (NTDLL.@)
* ZwResetWriteWatch (NTDLL.@)
*/
@ -2116,7 +2116,7 @@ index 4d4bc3b..f30d94a 100644
{
struct file_view *view;
NTSTATUS status = STATUS_SUCCESS;
@@ -2893,7 +2906,8 @@ NTSTATUS WINAPI NtResetWriteWatch( HANDLE process, PVOID base, SIZE_T size )
@@ -2878,7 +2891,8 @@ NTSTATUS WINAPI NtResetWriteWatch( HANDLE process, PVOID base, SIZE_T size )
* NtReadVirtualMemory (NTDLL.@)
* ZwReadVirtualMemory (NTDLL.@)
*/
@ -2126,7 +2126,7 @@ index 4d4bc3b..f30d94a 100644
SIZE_T size, SIZE_T *bytes_read )
{
NTSTATUS status;
@@ -2923,7 +2937,8 @@ NTSTATUS WINAPI NtReadVirtualMemory( HANDLE process, const void *addr, void *buf
@@ -2908,7 +2922,8 @@ NTSTATUS WINAPI NtReadVirtualMemory( HANDLE process, const void *addr, void *buf
* NtWriteVirtualMemory (NTDLL.@)
* ZwWriteVirtualMemory (NTDLL.@)
*/
@ -2136,7 +2136,7 @@ index 4d4bc3b..f30d94a 100644
SIZE_T size, SIZE_T *bytes_written )
{
NTSTATUS status;
@@ -2953,7 +2968,8 @@ NTSTATUS WINAPI NtWriteVirtualMemory( HANDLE process, void *addr, const void *bu
@@ -2938,7 +2953,8 @@ NTSTATUS WINAPI NtWriteVirtualMemory( HANDLE process, void *addr, const void *bu
* NtAreMappedFilesTheSame (NTDLL.@)
* ZwAreMappedFilesTheSame (NTDLL.@)
*/
@ -2147,5 +2147,5 @@ index 4d4bc3b..f30d94a 100644
struct file_view *view1, *view2;
struct stat st1, st2;
--
2.6.2
2.6.4

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "8d0d1e563ca7697902df9c285ff13ce648697537"
echo "3198fb0c1c3779882944659d52a676319ffcc68d"
}
# Show version information

View File

@ -1,4 +1,4 @@
From 0514f064febfdfdd9321c03793e996b6989fb3d0 Mon Sep 17 00:00:00 2001
From cc8a09773c259881d21c67f3b99b07208bee2cbe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 19 Mar 2015 01:22:34 +0100
Subject: server: Implement support for global and local shared memory blocks
@ -20,19 +20,19 @@ Subject: server: Implement support for global and local shared memory blocks
12 files changed, 215 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 7eded42..79cc2c1 100644
index 539944e..493246c 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -97,6 +97,7 @@ extern int server_remove_fd_from_cache( HANDLE handle ) DECLSPEC_HIDDEN;
extern int server_get_unix_fd( HANDLE handle, unsigned int access, int *unix_fd,
int *needs_close, enum server_fd_type *type, unsigned int *options ) DECLSPEC_HIDDEN;
@@ -99,6 +99,7 @@ extern int server_get_unix_fd( HANDLE handle, unsigned int access, int *unix_fd,
extern int server_pipe( int fd[2] ) DECLSPEC_HIDDEN;
extern NTSTATUS alloc_object_attributes( const OBJECT_ATTRIBUTES *attr, struct object_attributes **ret,
data_size_t *ret_len ) DECLSPEC_HIDDEN;
+extern void *server_get_shared_memory( HANDLE thread ) DECLSPEC_HIDDEN;
/* security descriptors */
NTSTATUS NTDLL_create_struct_sd(PSECURITY_DESCRIPTOR nt_sd, struct security_descriptor **server_sd,
/* module handling */
extern LIST_ENTRY tls_links DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
index 95111ad..955c392 100644
index 356d631..a91e478 100644
--- a/dlls/ntdll/server.c
+++ b/dlls/ntdll/server.c
@@ -972,6 +972,66 @@ done:
@ -114,7 +114,7 @@ index 95111ad..955c392 100644
ntdll_get_thread_data()->wow64_redir = is_wow64;
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 7633232..c56ee1d 100644
index 9f8e909..c91b27a 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -376,6 +376,7 @@ void terminate_thread( int status )
@ -158,7 +158,7 @@ index d573d1f..695389a 100644
/* macros for server requests */
diff --git a/include/winternl.h b/include/winternl.h
index 5420391..624da00 100644
index 3494c00..b733f78 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -366,7 +366,7 @@ typedef struct _TEB
@ -171,10 +171,10 @@ index 5420391..624da00 100644
ULONG ImpersonationLocale; /* f98/1788 */
ULONG IsImpersonating; /* f9c/178c */
diff --git a/server/fd.c b/server/fd.c
index fe778f1..f6f9b42 100644
index e3fe292..00731d1 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -2472,6 +2472,33 @@ DECL_HANDLER(write)
@@ -2481,6 +2481,33 @@ DECL_HANDLER(write)
}
}
@ -341,7 +341,7 @@ index 16e7c1c..c180ae5 100644
static int create_temp_file( file_pos_t size )
{
diff --git a/server/protocol.def b/server/protocol.def
index c313006..b8c5abf 100644
index ea5bd61..8ce9973 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -69,6 +69,15 @@ struct request_max_size
@ -360,7 +360,7 @@ index c313006..b8c5abf 100644
/* debug event data */
typedef union
@@ -1203,6 +1212,12 @@ enum server_fd_type
@@ -1204,6 +1213,12 @@ enum server_fd_type
};
@ -374,7 +374,7 @@ index c313006..b8c5abf 100644
@REQ(flush)
int blocking; /* whether it's a blocking flush */
diff --git a/server/thread.c b/server/thread.c
index ba84bee..4bb5149 100644
index 251be1c..198c371 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -196,6 +196,8 @@ static inline void init_thread_structure( struct thread *thread )
@ -419,5 +419,5 @@ index ac9af24..59ef250 100644
struct thread_snapshot
--
2.6.1
2.6.4