Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
eb45a75a
Commit
eb45a75a
authored
Jul 16, 2020
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Use syscall thunks for keyed event functions.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
9f8acda1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
9 additions
and
56 deletions
+9
-56
ntdll.spec
dlls/ntdll/ntdll.spec
+8
-8
sync.c
dlls/ntdll/sync.c
+0
-35
loader.c
dlls/ntdll/unix/loader.c
+0
-4
unixlib.h
dlls/ntdll/unixlib.h
+1
-9
No files found.
dlls/ntdll/ntdll.spec
View file @
eb45a75a
...
...
@@ -168,7 +168,7 @@
# @ stub NtCreateJobSet
@ stdcall NtCreateKey(ptr long ptr long ptr long ptr)
@ stdcall NtCreateKeyTransacted(ptr long ptr long ptr long long ptr)
@ stdcall NtCreateKeyedEvent(ptr long ptr long)
@ stdcall
-syscall
NtCreateKeyedEvent(ptr long ptr long)
@ stdcall NtCreateLowBoxToken(ptr long long ptr ptr long ptr long ptr)
@ stdcall NtCreateMailslotFile(ptr long ptr ptr long long long ptr)
@ stdcall -syscall NtCreateMutant(ptr long ptr long)
...
...
@@ -260,7 +260,7 @@
@ stdcall NtOpenKeyEx(ptr long ptr long)
@ stdcall NtOpenKeyTransacted(ptr long ptr long)
@ stdcall NtOpenKeyTransactedEx(ptr long ptr long long)
@ stdcall NtOpenKeyedEvent(ptr long ptr)
@ stdcall
-syscall
NtOpenKeyedEvent(ptr long ptr)
@ stdcall -syscall NtOpenMutant(ptr long ptr)
@ stub NtOpenObjectAuditAlarm
@ stdcall NtOpenProcess(ptr long ptr ptr)
...
...
@@ -333,7 +333,7 @@
@ stdcall NtReadVirtualMemory(long ptr ptr long ptr)
@ stub NtRegisterNewDevice
@ stdcall NtRegisterThreadTerminatePort(ptr)
@ stdcall NtReleaseKeyedEvent(long ptr long ptr)
@ stdcall
-syscall
NtReleaseKeyedEvent(long ptr long ptr)
@ stdcall -syscall NtReleaseMutant(long ptr)
@ stub NtReleaseProcessMutant
@ stdcall -syscall NtReleaseSemaphore(long long ptr)
...
...
@@ -422,7 +422,7 @@
@ stub NtVdmControl
@ stub NtW32Call
# @ stub NtWaitForDebugEvent
@ stdcall NtWaitForKeyedEvent(long ptr long ptr)
@ stdcall
-syscall
NtWaitForKeyedEvent(long ptr long ptr)
@ stdcall -syscall NtWaitForMultipleObjects(long ptr long long ptr)
@ stub NtWaitForProcessMutant
@ stdcall -syscall NtWaitForSingleObject(long long ptr)
...
...
@@ -1157,7 +1157,7 @@
# @ stub ZwCreateJobSet
@ stdcall -private ZwCreateKey(ptr long ptr long ptr long ptr) NtCreateKey
@ stdcall -private ZwCreateKeyTransacted(ptr long ptr long ptr long long ptr) NtCreateKeyTransacted
@ stdcall -private ZwCreateKeyedEvent(ptr long ptr long) NtCreateKeyedEvent
@ stdcall -private
-syscall
ZwCreateKeyedEvent(ptr long ptr long) NtCreateKeyedEvent
@ stdcall -private ZwCreateMailslotFile(ptr long ptr ptr long long long ptr) NtCreateMailslotFile
@ stdcall -private -syscall ZwCreateMutant(ptr long ptr long) NtCreateMutant
@ stdcall -private ZwCreateNamedPipeFile(ptr long ptr ptr long long long long long long long long long ptr) NtCreateNamedPipeFile
...
...
@@ -1244,7 +1244,7 @@
@ stdcall -private ZwOpenKeyEx(ptr long ptr long) NtOpenKeyEx
@ stdcall -private ZwOpenKeyTransacted(ptr long ptr long) NtOpenKeyTransacted
@ stdcall -private ZwOpenKeyTransactedEx(ptr long ptr long long) NtOpenKeyTransactedEx
@ stdcall -private ZwOpenKeyedEvent(ptr long ptr) NtOpenKeyedEvent
@ stdcall -private
-syscall
ZwOpenKeyedEvent(ptr long ptr) NtOpenKeyedEvent
@ stdcall -private -syscall ZwOpenMutant(ptr long ptr) NtOpenMutant
@ stub ZwOpenObjectAuditAlarm
@ stdcall -private ZwOpenProcess(ptr long ptr ptr) NtOpenProcess
...
...
@@ -1317,7 +1317,7 @@
@ stdcall -private ZwReadVirtualMemory(long ptr ptr long ptr) NtReadVirtualMemory
@ stub ZwRegisterNewDevice
@ stdcall -private ZwRegisterThreadTerminatePort(ptr) NtRegisterThreadTerminatePort
@ stdcall -private ZwReleaseKeyedEvent(long ptr long ptr) NtReleaseKeyedEvent
@ stdcall -private
-syscall
ZwReleaseKeyedEvent(long ptr long ptr) NtReleaseKeyedEvent
@ stdcall -private -syscall ZwReleaseMutant(long ptr) NtReleaseMutant
@ stub ZwReleaseProcessMutant
@ stdcall -private -syscall ZwReleaseSemaphore(long long ptr) NtReleaseSemaphore
...
...
@@ -1406,7 +1406,7 @@
@ stub ZwVdmControl
@ stub ZwW32Call
# @ stub ZwWaitForDebugEvent
@ stdcall -private ZwWaitForKeyedEvent(long ptr long ptr) NtWaitForKeyedEvent
@ stdcall -private
-syscall
ZwWaitForKeyedEvent(long ptr long ptr) NtWaitForKeyedEvent
@ stdcall -private -syscall ZwWaitForMultipleObjects(long ptr long long ptr) NtWaitForMultipleObjects
@ stub ZwWaitForProcessMutant
@ stdcall -private -syscall ZwWaitForSingleObject(long long ptr) NtWaitForSingleObject
...
...
dlls/ntdll/sync.c
View file @
eb45a75a
...
...
@@ -167,41 +167,6 @@ NTSTATUS WINAPI NtSetTimerResolution(IN ULONG resolution,
/******************************************************************************
* NtCreateKeyedEvent (NTDLL.@)
*/
NTSTATUS
WINAPI
NtCreateKeyedEvent
(
HANDLE
*
handle
,
ACCESS_MASK
access
,
const
OBJECT_ATTRIBUTES
*
attr
,
ULONG
flags
)
{
return
unix_funcs
->
NtCreateKeyedEvent
(
handle
,
access
,
attr
,
flags
);
}
/******************************************************************************
* NtOpenKeyedEvent (NTDLL.@)
*/
NTSTATUS
WINAPI
NtOpenKeyedEvent
(
HANDLE
*
handle
,
ACCESS_MASK
access
,
const
OBJECT_ATTRIBUTES
*
attr
)
{
return
unix_funcs
->
NtOpenKeyedEvent
(
handle
,
access
,
attr
);
}
/******************************************************************************
* NtWaitForKeyedEvent (NTDLL.@)
*/
NTSTATUS
WINAPI
NtWaitForKeyedEvent
(
HANDLE
handle
,
const
void
*
key
,
BOOLEAN
alertable
,
const
LARGE_INTEGER
*
timeout
)
{
return
unix_funcs
->
NtWaitForKeyedEvent
(
handle
,
key
,
alertable
,
timeout
);
}
/******************************************************************************
* NtReleaseKeyedEvent (NTDLL.@)
*/
NTSTATUS
WINAPI
NtReleaseKeyedEvent
(
HANDLE
handle
,
const
void
*
key
,
BOOLEAN
alertable
,
const
LARGE_INTEGER
*
timeout
)
{
return
unix_funcs
->
NtReleaseKeyedEvent
(
handle
,
key
,
alertable
,
timeout
);
}
/******************************************************************
* NtCreateIoCompletion (NTDLL.@)
* ZwCreateIoCompletion (NTDLL.@)
...
...
dlls/ntdll/unix/loader.c
View file @
eb45a75a
...
...
@@ -1365,7 +1365,6 @@ static struct unix_funcs unix_funcs =
NtClose
,
NtContinue
,
NtCreateIoCompletion
,
NtCreateKeyedEvent
,
NtCreateMailslotFile
,
NtCreateNamedPipeFile
,
NtCreateSection
,
...
...
@@ -1388,7 +1387,6 @@ static struct unix_funcs unix_funcs =
NtMapViewOfSection
,
NtNotifyChangeDirectoryFile
,
NtOpenIoCompletion
,
NtOpenKeyedEvent
,
NtOpenProcess
,
NtOpenSection
,
NtOpenThread
,
...
...
@@ -1414,7 +1412,6 @@ static struct unix_funcs unix_funcs =
NtReadFile
,
NtReadFileScatter
,
NtReadVirtualMemory
,
NtReleaseKeyedEvent
,
NtRemoveIoCompletion
,
NtRemoveIoCompletionEx
,
NtResetWriteWatch
,
...
...
@@ -1435,7 +1432,6 @@ static struct unix_funcs unix_funcs =
NtTerminateThread
,
NtUnlockVirtualMemory
,
NtUnmapViewOfSection
,
NtWaitForKeyedEvent
,
NtWriteFile
,
NtWriteFileGather
,
NtWriteVirtualMemory
,
...
...
dlls/ntdll/unixlib.h
View file @
eb45a75a
...
...
@@ -28,7 +28,7 @@ struct msghdr;
struct
_DISPATCHER_CONTEXT
;
/* increment this when you change the function table */
#define NTDLL_UNIXLIB_VERSION 8
0
#define NTDLL_UNIXLIB_VERSION 8
1
struct
unix_funcs
{
...
...
@@ -42,8 +42,6 @@ struct unix_funcs
NTSTATUS
(
WINAPI
*
NtContinue
)(
CONTEXT
*
context
,
BOOLEAN
alertable
);
NTSTATUS
(
WINAPI
*
NtCreateIoCompletion
)(
HANDLE
*
handle
,
ACCESS_MASK
access
,
OBJECT_ATTRIBUTES
*
attr
,
ULONG
threads
);
NTSTATUS
(
WINAPI
*
NtCreateKeyedEvent
)(
HANDLE
*
handle
,
ACCESS_MASK
access
,
const
OBJECT_ATTRIBUTES
*
attr
,
ULONG
flags
);
NTSTATUS
(
WINAPI
*
NtCreateMailslotFile
)(
HANDLE
*
handle
,
ULONG
access
,
OBJECT_ATTRIBUTES
*
attr
,
IO_STATUS_BLOCK
*
io
,
ULONG
options
,
ULONG
quota
,
ULONG
msg_size
,
LARGE_INTEGER
*
timeout
);
...
...
@@ -101,8 +99,6 @@ struct unix_funcs
ULONG
filter
,
BOOLEAN
subtree
);
NTSTATUS
(
WINAPI
*
NtOpenIoCompletion
)(
HANDLE
*
handle
,
ACCESS_MASK
access
,
const
OBJECT_ATTRIBUTES
*
attr
);
NTSTATUS
(
WINAPI
*
NtOpenKeyedEvent
)(
HANDLE
*
handle
,
ACCESS_MASK
access
,
const
OBJECT_ATTRIBUTES
*
attr
);
NTSTATUS
(
WINAPI
*
NtOpenProcess
)(
HANDLE
*
handle
,
ACCESS_MASK
access
,
const
OBJECT_ATTRIBUTES
*
attr
,
const
CLIENT_ID
*
id
);
NTSTATUS
(
WINAPI
*
NtOpenSection
)(
HANDLE
*
handle
,
ACCESS_MASK
access
,
...
...
@@ -158,8 +154,6 @@ struct unix_funcs
LARGE_INTEGER
*
offset
,
ULONG
*
key
);
NTSTATUS
(
WINAPI
*
NtReadVirtualMemory
)(
HANDLE
process
,
const
void
*
addr
,
void
*
buffer
,
SIZE_T
size
,
SIZE_T
*
bytes_read
);
NTSTATUS
(
WINAPI
*
NtReleaseKeyedEvent
)(
HANDLE
handle
,
const
void
*
key
,
BOOLEAN
alertable
,
const
LARGE_INTEGER
*
timeout
);
NTSTATUS
(
WINAPI
*
NtRemoveIoCompletion
)(
HANDLE
handle
,
ULONG_PTR
*
key
,
ULONG_PTR
*
value
,
IO_STATUS_BLOCK
*
io
,
LARGE_INTEGER
*
timeout
);
NTSTATUS
(
WINAPI
*
NtRemoveIoCompletionEx
)(
HANDLE
handle
,
FILE_IO_COMPLETION_INFORMATION
*
info
,
...
...
@@ -190,8 +184,6 @@ struct unix_funcs
NTSTATUS
(
WINAPI
*
NtUnlockVirtualMemory
)(
HANDLE
process
,
PVOID
*
addr
,
SIZE_T
*
size
,
ULONG
unknown
);
NTSTATUS
(
WINAPI
*
NtUnmapViewOfSection
)(
HANDLE
process
,
PVOID
addr
);
NTSTATUS
(
WINAPI
*
NtWaitForKeyedEvent
)(
HANDLE
handle
,
const
void
*
key
,
BOOLEAN
alertable
,
const
LARGE_INTEGER
*
timeout
);
NTSTATUS
(
WINAPI
*
NtWriteFile
)(
HANDLE
handle
,
HANDLE
event
,
PIO_APC_ROUTINE
apc
,
void
*
apc_user
,
IO_STATUS_BLOCK
*
io
,
const
void
*
buffer
,
ULONG
length
,
LARGE_INTEGER
*
offset
,
ULONG
*
key
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment