diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2021-09-30 20:12:37 +0200 |
---|---|---|
committer | Eugene Syromyatnikov <evgsyr@gmail.com> | 2021-10-09 12:30:24 +0200 |
commit | 3270b1358d346098e1fd18a0799d6b9d42ccb268 (patch) | |
tree | 1d51b540b22343ce3cd5beb72aad99ae432b7b51 /src/nlattr.c | |
parent | 8721881ab8fe694aca308016cec493014a5eb816 (diff) | |
download | strace-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.c | 17 |
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, |