Commit 0ae72a3c authored by Alexandre Julliard's avatar Alexandre Julliard

wow64: Add thunks for the I/O completion syscalls.

parent 863fda0b
......@@ -119,6 +119,27 @@ NTSTATUS WINAPI wow64_NtCreateEvent( UINT *args )
/**********************************************************************
* wow64_NtCreateIoCompletion
*/
NTSTATUS WINAPI wow64_NtCreateIoCompletion( UINT *args )
{
ULONG *handle_ptr = get_ptr( &args );
ACCESS_MASK access = get_ulong( &args );
OBJECT_ATTRIBUTES32 *attr32 = get_ptr( &args );
ULONG threads = get_ulong( &args );
struct object_attr64 attr;
HANDLE handle = 0;
NTSTATUS status;
*handle_ptr = 0;
status = NtCreateIoCompletion( &handle, access, objattr_32to64( &attr, attr32 ), threads );
put_handle( handle_ptr, handle );
return status;
}
/**********************************************************************
* wow64_NtCreateKeyedEvent
*/
NTSTATUS WINAPI wow64_NtCreateKeyedEvent( UINT *args )
......@@ -259,6 +280,26 @@ NTSTATUS WINAPI wow64_NtOpenEvent( UINT *args )
/**********************************************************************
* wow64_NtOpenIoCompletion
*/
NTSTATUS WINAPI wow64_NtOpenIoCompletion( UINT *args )
{
ULONG *handle_ptr = get_ptr( &args );
ACCESS_MASK access = get_ulong( &args );
OBJECT_ATTRIBUTES32 *attr32 = get_ptr( &args );
struct object_attr64 attr;
HANDLE handle = 0;
NTSTATUS status;
*handle_ptr = 0;
status = NtOpenIoCompletion( &handle, access, objattr_32to64( &attr, attr32 ));
put_handle( handle_ptr, handle );
return status;
}
/**********************************************************************
* wow64_NtOpenKeyedEvent
*/
NTSTATUS WINAPI wow64_NtOpenKeyedEvent( UINT *args )
......@@ -403,6 +444,21 @@ NTSTATUS WINAPI wow64_NtQueryEvent( UINT *args )
/**********************************************************************
* wow64_NtQueryIoCompletion
*/
NTSTATUS WINAPI wow64_NtQueryIoCompletion( UINT *args )
{
HANDLE handle = get_handle( &args );
IO_COMPLETION_INFORMATION_CLASS class = get_ulong( &args );
void *info = get_ptr( &args );
ULONG len = get_ulong( &args );
ULONG *retlen = get_ptr( &args );
return NtQueryIoCompletion( handle, class, info, len, retlen );
}
/**********************************************************************
* wow64_NtQueryMutant
*/
NTSTATUS WINAPI wow64_NtQueryMutant( UINT *args )
......@@ -526,6 +582,21 @@ NTSTATUS WINAPI wow64_NtSetInformationDebugObject( UINT *args )
/**********************************************************************
* wow64_NtSetIoCompletion
*/
NTSTATUS WINAPI wow64_NtSetIoCompletion( UINT *args )
{
HANDLE handle = get_handle( &args );
ULONG_PTR key = get_ulong( &args );
ULONG_PTR value = get_ulong( &args );
NTSTATUS status = get_ulong( &args );
SIZE_T count = get_ulong( &args );
return NtSetIoCompletion( handle, key, value, status, count );
}
/**********************************************************************
* wow64_NtSetTimer
*/
NTSTATUS WINAPI wow64_NtSetTimer( UINT *args )
......
......@@ -31,6 +31,7 @@
SYSCALL_ENTRY( NtCreateDebugObject ) \
SYSCALL_ENTRY( NtCreateDirectoryObject ) \
SYSCALL_ENTRY( NtCreateEvent ) \
SYSCALL_ENTRY( NtCreateIoCompletion ) \
SYSCALL_ENTRY( NtCreateKeyedEvent ) \
SYSCALL_ENTRY( NtCreateMutant ) \
SYSCALL_ENTRY( NtCreateSemaphore ) \
......@@ -41,6 +42,7 @@
SYSCALL_ENTRY( NtGetCurrentProcessorNumber ) \
SYSCALL_ENTRY( NtOpenDirectoryObject ) \
SYSCALL_ENTRY( NtOpenEvent ) \
SYSCALL_ENTRY( NtOpenIoCompletion ) \
SYSCALL_ENTRY( NtOpenKeyedEvent ) \
SYSCALL_ENTRY( NtOpenMutant ) \
SYSCALL_ENTRY( NtOpenSemaphore ) \
......@@ -52,6 +54,7 @@
SYSCALL_ENTRY( NtQueryEvent ) \
SYSCALL_ENTRY( NtQueryInformationAtom ) \
SYSCALL_ENTRY( NtQueryInstallUILanguage ) \
SYSCALL_ENTRY( NtQueryIoCompletion ) \
SYSCALL_ENTRY( NtQueryMutant ) \
SYSCALL_ENTRY( NtQuerySemaphore ) \
SYSCALL_ENTRY( NtQueryTimer ) \
......@@ -63,6 +66,7 @@
SYSCALL_ENTRY( NtSetDefaultUILanguage ) \
SYSCALL_ENTRY( NtSetEvent ) \
SYSCALL_ENTRY( NtSetInformationDebugObject ) \
SYSCALL_ENTRY( NtSetIoCompletion ) \
SYSCALL_ENTRY( NtSetTimer ) \
SYSCALL_ENTRY( NtWaitForDebugEvent ) \
SYSCALL_ENTRY( NtWaitForKeyedEvent )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment