2
Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
3
Copyright (C) 2005- The University of Notre Dame
4
This software is distributed under the GNU General Public License.
5
See the file COPYING for details.
11
#include <sys/types.h>
12
#include "int_sizes.h"
14
#define TRACER_ARGS_MAX 8
16
void tracer_prepare();
18
struct tracer * tracer_attach( pid_t pid );
19
void tracer_detach( struct tracer *t );
20
void tracer_continue( struct tracer *t, int signum );
22
int tracer_args_get( struct tracer *t, INT64_T *syscall, INT64_T args[TRACER_ARGS_MAX] );
23
int tracer_args_set( struct tracer *t, INT64_T syscall, INT64_T args[TRACER_ARGS_MAX], int nargs );
25
void tracer_has_args5_bug( struct tracer *t );
27
int tracer_result_get( struct tracer *t, INT64_T *result );
28
int tracer_result_set( struct tracer *t, INT64_T result );
30
int tracer_copy_out( struct tracer *t, const void *data, const void *uaddr, int length );
31
int tracer_copy_in( struct tracer *t, void *data, const void *uaddr, int length );
32
int tracer_copy_in_string( struct tracer *t, char *data, const void *uaddr, int maxlength );
34
int tracer_is_64bit( struct tracer *t );
36
const char * tracer_syscall32_name( int syscall );
37
const char * tracer_syscall64_name( int syscall );
38
const char * tracer_syscall_name( struct tracer *t, int syscall );
40
#include "tracer.table.h"
41
#include "tracer.table64.h"