summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhien <hien>2006-03-02 19:24:41 +0000
committerhien <hien>2006-03-02 19:24:41 +0000
commitace00081c139d99e0229bb62534dfc6ba3a2bb02 (patch)
tree272a1f9bb3c95c981d37a2b9fdb3b56835446550
parent973efde0514e6a10d86ccdeeb338c3549d2786fd (diff)
downloadsystemtap-steved-ace00081c139d99e0229bb62534dfc6ba3a2bb02.tar.gz
systemtap-steved-ace00081c139d99e0229bb62534dfc6ba3a2bb02.tar.xz
systemtap-steved-ace00081c139d99e0229bb62534dfc6ba3a2bb02.zip
Added
_struct_itimerspec_u
-rw-r--r--tapset/aux_syscalls.stp17
1 files changed, 17 insertions, 0 deletions
diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp
index e9d01bb1..e9b8e1d1 100644
--- a/tapset/aux_syscalls.stp
+++ b/tapset/aux_syscalls.stp
@@ -75,6 +75,23 @@ function _struct_timespec:string(addr:long)
}
%}
+function _struct_itimerspec_u:string(uaddr:long)
+%{
+ struct itimerspec its;
+ char *ptr = (char *)(unsigned long)THIS->uaddr;
+
+ if (ptr == NULL)
+ strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
+ else {
+ if(_stp_copy_from_user((char *)&its, ptr,sizeof(struct itimerspec)))
+ strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
+ else
+ snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
+ (int)its.it_interval.tv_sec, (int)its.it_interval.tv_nsec,
+ (int)its.it_value.tv_sec, (int)its.it_value.tv_nsec);
+ }
+%}
+
function _struct_itimerval_u:string(uaddr:long)
%{
struct itimerval itv;