From e0b4edbdcc3558d3f38af8398f995c2e9f019f07 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 6 Nov 2018 15:42:44 +0100 Subject: Update to FreeBSD head 2018-11-15 Git mirror commit a18b0830c4be01b39489a891b63d6023ada6358a. Update #3472. --- freebsd/sys/kern/kern_sysctl.c | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'freebsd/sys/kern/kern_sysctl.c') diff --git a/freebsd/sys/kern/kern_sysctl.c b/freebsd/sys/kern/kern_sysctl.c index 3baea2e4..ea9c1821 100644 --- a/freebsd/sys/kern/kern_sysctl.c +++ b/freebsd/sys/kern/kern_sysctl.c @@ -1703,6 +1703,53 @@ retry: return (error); } +/* + * Based on on sysctl_handle_int() convert microseconds to a sbintime. + */ +int +sysctl_usec_to_sbintime(SYSCTL_HANDLER_ARGS) +{ + int error; + int64_t tt; + sbintime_t sb; + + tt = *(int64_t *)arg1; + sb = ustosbt(tt); + + error = sysctl_handle_64(oidp, &sb, 0, req); + if (error || !req->newptr) + return (error); + + tt = sbttous(sb); + *(int64_t *)arg1 = tt; + + return (0); +} + +/* + * Based on on sysctl_handle_int() convert milliseconds to a sbintime. + */ +int +sysctl_msec_to_sbintime(SYSCTL_HANDLER_ARGS) +{ + int error; + int64_t tt; + sbintime_t sb; + + tt = *(int64_t *)arg1; + sb = mstosbt(tt); + + error = sysctl_handle_64(oidp, &sb, 0, req); + if (error || !req->newptr) + return (error); + + tt = sbttoms(sb); + *(int64_t *)arg1 = tt; + + return (0); +} + + /* * Transfer functions to/from kernel space. * XXX: rather untested at this point -- cgit v1.2.3