Implemented NtQueueApcThread, and changed the server APC interface to
always take 3 parameters.
Implemented a number of other ntdll thread functions, and use them
from the kernel ones.
diff --git a/server/trace.c b/server/trace.c
index 9f46615..93b3de8 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -157,21 +157,6 @@
remove_data( size );
}
-static void dump_varargs_ptrs( size_t size )
-{
- void * const *data = cur_data;
- size_t len = size / sizeof(*data);
-
- fputc( '{', stderr );
- while (len > 0)
- {
- fprintf( stderr, "%p", *data++ );
- if (--len) fputc( ',', stderr );
- }
- fputc( '}', stderr );
- remove_data( size );
-}
-
static void dump_varargs_user_handles( size_t size )
{
const user_handle_t *data = cur_data;
@@ -623,7 +608,9 @@
fprintf( stderr, " handle=%p,", req->handle );
fprintf( stderr, " user=%d,", req->user );
fprintf( stderr, " func=%p,", req->func );
- fprintf( stderr, " param=%p", req->param );
+ fprintf( stderr, " arg1=%p,", req->arg1 );
+ fprintf( stderr, " arg2=%p,", req->arg2 );
+ fprintf( stderr, " arg3=%p", req->arg3 );
}
static void dump_get_apc_request( const struct get_apc_request *req )
@@ -635,8 +622,9 @@
{
fprintf( stderr, " func=%p,", req->func );
fprintf( stderr, " type=%d,", req->type );
- fprintf( stderr, " args=" );
- dump_varargs_ptrs( cur_size );
+ fprintf( stderr, " arg1=%p,", req->arg1 );
+ fprintf( stderr, " arg2=%p,", req->arg2 );
+ fprintf( stderr, " arg3=%p", req->arg3 );
}
static void dump_close_handle_request( const struct close_handle_request *req )