summaryrefslogtreecommitdiff
path: root/src/nlattr.c
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2021-09-30 20:12:37 +0200
committerEugene Syromyatnikov <evgsyr@gmail.com>2021-10-09 12:30:24 +0200
commit3270b1358d346098e1fd18a0799d6b9d42ccb268 (patch)
tree1d51b540b22343ce3cd5beb72aad99ae432b7b51 /src/nlattr.c
parent8721881ab8fe694aca308016cec493014a5eb816 (diff)
downloadstrace-3270b1358d346098e1fd18a0799d6b9d42ccb268.tar.gz
util: implement clock_t type decoding
* src/defs.h (print_clock_t): New declaration. * src/util.c: Include "print_fields.h". (ILOG10_ITER_): New macro. (ilog10, print_clock_t): New functions. * src/nlattr.h (DECL_NLA(clock_t)): New declaraion. * src/nlattr.c (decode_nla_clock_t): New function. * src/print_fields.h (PRINT_FIELD_CLOCK_T): New macro.
Diffstat (limited to 'src/nlattr.c')
-rw-r--r--src/nlattr.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/nlattr.c b/src/nlattr.c
index 3c65dbb19..f1d8f4fa5 100644
--- a/src/nlattr.c
+++ b/src/nlattr.c
@@ -248,6 +248,23 @@ decode_nla_gid(struct tcb *const tcp,
}
bool
+decode_nla_clock_t(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const unsigned int len,
+ const void *const opaque_data)
+{
+ uint64_t val;
+
+ if (len > sizeof(val))
+ return false;
+
+ if (!umoven_to_uint64_or_printaddr(tcp, addr, len, &val))
+ print_clock_t(val);
+
+ return true;
+}
+
+bool
decode_nla_ifindex(struct tcb *const tcp,
const kernel_ulong_t addr,
const unsigned int len,