summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-07-20 15:02:37 +0000
committerkib <kib@FreeBSD.org>2016-07-20 15:02:37 +0000
commitb0424ee31b065c0390e86c0056da48d6af6092fd (patch)
treeaf60dcd36c8d29edccc17da766acb964f1c74500 /usr.bin
parente9d4bb286de33cda524b2ea79838257cff9889f3 (diff)
downloadFreeBSD-src-b0424ee31b065c0390e86c0056da48d6af6092fd.zip
FreeBSD-src-b0424ee31b065c0390e86c0056da48d6af6092fd.tar.gz
MFC r302770:
Trace timeval parameters to the getitimer(2) and setitimer(2) syscalls. Approved by: re (gjb)
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/kdump/kdump.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c
index 7010bbf..8cfe540 100644
--- a/usr.bin/kdump/kdump.c
+++ b/usr.bin/kdump/kdump.c
@@ -109,6 +109,7 @@ void ktruser_malloc(void *);
void ktruser_rtld(int, void *);
void ktruser(int, void *);
void ktrcaprights(cap_rights_t *);
+void ktritimerval(struct itimerval *it);
void ktrsockaddr(struct sockaddr *);
void ktrstat(struct stat *);
void ktrstruct(char *, size_t);
@@ -1562,6 +1563,24 @@ ktrcaprights(cap_rights_t *rightsp)
printf("\n");
}
+static void
+ktrtimeval(struct timeval *tv)
+{
+
+ printf("{%ld, %ld}", (long)tv->tv_sec, tv->tv_usec);
+}
+
+void
+ktritimerval(struct itimerval *it)
+{
+
+ printf("itimerval { .interval = ");
+ ktrtimeval(&it->it_interval);
+ printf(", .value = ");
+ ktrtimeval(&it->it_value);
+ printf(" }\n");
+}
+
void
ktrsockaddr(struct sockaddr *sa)
{
@@ -1737,6 +1756,7 @@ ktrstruct(char *buf, size_t buflen)
size_t namelen, datalen;
int i;
cap_rights_t rights;
+ struct itimerval it;
struct stat sb;
struct sockaddr_storage ss;
@@ -1761,6 +1781,11 @@ ktrstruct(char *buf, size_t buflen)
goto invalid;
memcpy(&rights, data, datalen);
ktrcaprights(&rights);
+ } else if (strcmp(name, "itimerval") == 0) {
+ if (datalen != sizeof(struct itimerval))
+ goto invalid;
+ memcpy(&it, data, datalen);
+ ktritimerval(&it);
} else if (strcmp(name, "stat") == 0) {
if (datalen != sizeof(struct stat))
goto invalid;
OpenPOWER on IntegriCloud