timespec.c 708 B

123456789101112131415161718192021
  1. // SPDX-License-Identifier: LGPL-2.1
  2. // Copyright (C) 2022, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
  3. #include "trace/beauty/beauty.h"
  4. #include <inttypes.h>
  5. #include <time.h>
  6. static size_t syscall_arg__scnprintf_augmented_timespec(struct syscall_arg *arg, char *bf, size_t size)
  7. {
  8. struct timespec *ts = (struct timespec *)arg->augmented.args->value;
  9. return scnprintf(bf, size, "{ .tv_sec: %" PRIu64 ", .tv_nsec: %" PRIu64 " }", ts->tv_sec, ts->tv_nsec);
  10. }
  11. size_t syscall_arg__scnprintf_timespec(char *bf, size_t size, struct syscall_arg *arg)
  12. {
  13. if (arg->augmented.args)
  14. return syscall_arg__scnprintf_augmented_timespec(arg, bf, size);
  15. return scnprintf(bf, size, "%#lx", arg->val);
  16. }