diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 15:32:58 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 15:32:58 -0400 |
| commit | 5cb84ec742fd33f78c8022863fadaa8d0d93e176 (patch) | |
| tree | 1a81ca3665e6153923e40db7b0d988f8573ab59c /static/netbsd/man4/clockctl.4 | |
| parent | a59214f344567c037d5776879bcfc5fcc1d4d5f6 (diff) | |
feat: Added NetBSD man pages
Diffstat (limited to 'static/netbsd/man4/clockctl.4')
| -rw-r--r-- | static/netbsd/man4/clockctl.4 | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/static/netbsd/man4/clockctl.4 b/static/netbsd/man4/clockctl.4 new file mode 100644 index 00000000..10b6ea55 --- /dev/null +++ b/static/netbsd/man4/clockctl.4 @@ -0,0 +1,133 @@ +.\" $NetBSD: clockctl.4,v 1.8 2010/03/22 18:58:31 joerg Exp $ +.\" +.\" Copyright (c) 2001 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Emmanuel Dreyfus. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 19, 2009 +.Dt CLOCKCTL 4 +.Os +.Sh NAME +.Nm clockctl +.Nd Clock subsystem user control +.Sh SYNOPSIS +.Cd pseudo-device clockctl +.Sh DESCRIPTION +The +.Nm +interface brings clock control to non-root users. +Any user with write access to +.Pa /dev/clockctl +will be able to perform operations such as +.Xr settimeofday 2 , +.Xr clock_settime 2 , +.Xr adjtime 2 , +or +.Xr ntp_adjtime 2 , +which are normally restricted to the super-user. +Using the +.Nm +pseudo-device, it is possible to run daemons such as +.Xr ntpd 8 +as non-privileged users, thus reducing the security exposure if a +compromise is found in such a daemon. +.Pp +The +.Nm +pseudo-device driver provides an +.Xr ioctl 2 +call for each privileged clock-related system call. +The system call stubs in C library will use the +.Xr ioctl 2 +on +.Pa /dev/clockctl +if the special file is present and accessible, or will revert to the +plain super-user-restricted system call if the special file is not accessible. +.Pp +The following +.Xr ioctl 2 +calls are defined in +.In sys/clockctl.h : +.Bl -tag -width CLOCKCTL +.It Dv CLOCKCTL_SETTIMEOFDAY +This will run the +.Xr settimeofday 2 +system call. +Argument should be a pointer to a +.Va struct clockctl_settimeofday : +.Bd -literal +struct clockctl_settimeofday { + const struct timeval *tv; + const void *tzp; +}; +.Ed +.It Dv CLOCKCTL_CLOCK_SETTIME +This will run the +.Xr clock_settime 2 +system call. +Argument should be a pointer to a +.Va struct clockctl_clock_settime : +.Bd -literal +struct clockctl_clock_settime { + clockid_t clock_id; + struct timespec *tp; +}; +.Ed +.It Dv CLOCKCTL_ADJTIME +This will run the +.Xr adjtime 2 +system call. +Argument should be a pointer to a +.Va struct clockctl_adjtime : +.Bd -literal +struct clockctl_adjtime { + const struct timeval *delta; + struct timeval *olddelta; +}; +.Ed +.It Dv CLOCKCTL_NTP_ADJTIME +This will run the +.Xr ntp_adjtime 2 +system call. +Argument should be a pointer to a +.Va struct clockctl_ntp_adjtime : +.Bd -literal +struct clockctl_ntp_adjtime { + struct timex *tp; +.\" Following member is commented out intentionally. +.\" register_t retval; +}; +.Ed +.El +.Sh SEE ALSO +.Xr adjtime 2 , +.Xr clock_settime 2 , +.Xr ioctl 2 , +.Xr settimeofday 2 +.Sh HISTORY +.Nm +appeared in +.Nx 1.6 . |
