summaryrefslogtreecommitdiffstats
path: root/tapset/utrace.stp
blob: 00f427e6368a3f05fa509b3f6a774f1b5d0dc6cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* utrace-only subset of register accessors */


%{
#include "syscall.h"
%}

function _utrace_syscall_nr:long () %{
   THIS->__retvalue = syscall_get_nr(current, CONTEXT->regs); /* pure */
%}

function _utrace_syscall_arg:long (n:long) %{
   unsigned long arg = 0; /* pure */
   syscall_get_arguments(current, CONTEXT->regs, (int)THIS->n, 1, &arg);
   THIS->__retvalue = arg;
%}

function _utrace_syscall_return:long () %{
   THIS->__retvalue = syscall_get_return_value(current, CONTEXT->regs); /* pure */
%}