Commit fb5eae4a authored by Alexandre Julliard's avatar Alexandre Julliard

wow64: Add thunks for the keyed event syscalls.

parent 54901695
......@@ -75,6 +75,27 @@ NTSTATUS WINAPI wow64_NtCreateEvent( UINT *args )
/**********************************************************************
* wow64_NtCreateKeyedEvent
*/
NTSTATUS WINAPI wow64_NtCreateKeyedEvent( UINT *args )
{
ULONG *handle_ptr = get_ptr( &args );
ACCESS_MASK access = get_ulong( &args );
OBJECT_ATTRIBUTES32 *attr32 = get_ptr( &args );
ULONG flags = get_ulong( &args );
struct object_attr64 attr;
HANDLE handle = 0;
NTSTATUS status;
*handle_ptr = 0;
status = NtCreateKeyedEvent( &handle, access, objattr_32to64( &attr, attr32 ), flags );
put_handle( handle_ptr, handle );
return status;
}
/**********************************************************************
* wow64_NtCreateMutant
*/
NTSTATUS WINAPI wow64_NtCreateMutant( UINT *args )
......@@ -159,6 +180,26 @@ NTSTATUS WINAPI wow64_NtOpenEvent( UINT *args )
/**********************************************************************
* wow64_NtOpenKeyedEvent
*/
NTSTATUS WINAPI wow64_NtOpenKeyedEvent( 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 = NtOpenKeyedEvent( &handle, access, objattr_32to64( &attr, attr32 ));
put_handle( handle_ptr, handle );
return status;
}
/**********************************************************************
* wow64_NtOpenMutant
*/
NTSTATUS WINAPI wow64_NtOpenMutant( UINT *args )
......@@ -291,6 +332,20 @@ NTSTATUS WINAPI wow64_NtQueryTimer( UINT *args )
/**********************************************************************
* wow64_NtReleaseKeyedEvent
*/
NTSTATUS WINAPI wow64_NtReleaseKeyedEvent( UINT *args )
{
HANDLE handle = get_handle( &args );
void *key = get_ptr( &args );
BOOLEAN alertable = get_ulong( &args );
const LARGE_INTEGER *timeout = get_ptr( &args );
return NtReleaseKeyedEvent( handle, key, alertable, timeout );
}
/**********************************************************************
* wow64_NtReleaseMutant
*/
NTSTATUS WINAPI wow64_NtReleaseMutant( UINT *args )
......@@ -355,3 +410,17 @@ NTSTATUS WINAPI wow64_NtSetTimer( UINT *args )
return NtSetTimer( handle, when, apc_32to64( apc ), apc_param_32to64( apc, apc_param ),
resume, period, state );
}
/**********************************************************************
* wow64_NtWaitForKeyedEvent
*/
NTSTATUS WINAPI wow64_NtWaitForKeyedEvent( UINT *args )
{
HANDLE handle = get_handle( &args );
const void *key = get_ptr( &args );
BOOLEAN alertable = get_ulong( &args );
const LARGE_INTEGER *timeout = get_ptr( &args );
return NtWaitForKeyedEvent( handle, key, alertable, timeout );
}
......@@ -29,6 +29,7 @@
SYSCALL_ENTRY( NtClearEvent ) \
SYSCALL_ENTRY( NtClose ) \
SYSCALL_ENTRY( NtCreateEvent ) \
SYSCALL_ENTRY( NtCreateKeyedEvent ) \
SYSCALL_ENTRY( NtCreateMutant ) \
SYSCALL_ENTRY( NtCreateSemaphore ) \
SYSCALL_ENTRY( NtCreateTimer ) \
......@@ -36,6 +37,7 @@
SYSCALL_ENTRY( NtFindAtom ) \
SYSCALL_ENTRY( NtGetCurrentProcessorNumber ) \
SYSCALL_ENTRY( NtOpenEvent ) \
SYSCALL_ENTRY( NtOpenKeyedEvent ) \
SYSCALL_ENTRY( NtOpenMutant ) \
SYSCALL_ENTRY( NtOpenSemaphore ) \
SYSCALL_ENTRY( NtOpenTimer ) \
......@@ -48,12 +50,14 @@
SYSCALL_ENTRY( NtQueryMutant ) \
SYSCALL_ENTRY( NtQuerySemaphore ) \
SYSCALL_ENTRY( NtQueryTimer ) \
SYSCALL_ENTRY( NtReleaseKeyedEvent ) \
SYSCALL_ENTRY( NtReleaseMutant ) \
SYSCALL_ENTRY( NtReleaseSemaphore ) \
SYSCALL_ENTRY( NtResetEvent ) \
SYSCALL_ENTRY( NtSetDefaultLocale ) \
SYSCALL_ENTRY( NtSetDefaultUILanguage ) \
SYSCALL_ENTRY( NtSetEvent ) \
SYSCALL_ENTRY( NtSetTimer )
SYSCALL_ENTRY( NtSetTimer ) \
SYSCALL_ENTRY( NtWaitForKeyedEvent )
#endif /* __WOW64_SYSCALL_H */
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