diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2/getitimer.2 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2/getitimer.2')
| -rw-r--r-- | static/netbsd/man2/getitimer.2 | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/static/netbsd/man2/getitimer.2 b/static/netbsd/man2/getitimer.2 new file mode 100644 index 00000000..202e23c2 --- /dev/null +++ b/static/netbsd/man2/getitimer.2 @@ -0,0 +1,199 @@ +.\" $NetBSD: getitimer.2,v 1.29 2019/04/27 22:00:29 pgoyette Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" 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. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. +.\" +.\" @(#)getitimer.2 8.3 (Berkeley) 5/16/95 +.\" +.Dd April 28, 2019 +.Dt GETITIMER 2 +.Os +.Sh NAME +.Nm getitimer , +.Nm setitimer +.Nd get/set value of interval timer +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/time.h +.Ft int +.Fn getitimer "int which" "struct itimerval *value" +.Ft int +.Fn setitimer "int which" "const struct itimerval * restrict value" "struct itimerval * restrict ovalue" +.Sh DESCRIPTION +The system provides each process with multiple interval timers, +defined in +.Ao Pa sys/time.h Ac . +The +.Fn getitimer +call returns the current value for the timer specified in +.Fa which +in the structure at +.Fa value . +The +.Fn setitimer +call sets a timer to the specified +.Fa value , +returning the previous value of the timer if +.Fa ovalue +is not +.Dv NULL . +.Pp +A timer value is defined by the +.Fa itimerval +structure: +.Bd -literal -offset indent +struct itimerval { + struct timeval it_interval; /* timer interval */ + struct timeval it_value; /* current value */ +}; +.Ed +.Pp +If +.Fa it_value +is non-zero, it indicates the time to the next timer expiration. +If +.Fa it_interval +is non-zero, it specifies a value to be used in reloading +.Fa it_value +when the timer expires. +Setting +.Fa it_value +to 0 disables a timer. +Setting +.Fa it_interval +to 0 causes a timer to be disabled after its next expiration (assuming +.Fa it_value +is non-zero). +.Pp +The +.Fa which +parameter specifies the type of the timer: +.Bl -tag -width "ITIMER_MONOTONIC " -offset indent +.It Dv ITIMER_REAL +timer decrements in real time. +This timer is affected by +.Xr adjtime 2 +and +.Xr settimeofday 2 . +A +.Dv SIGALRM +signal is +delivered when this timer expires. +.It Dv ITIMER_VIRTUAL +timer decrements in process virtual time. +It runs only when the process is executing. +A +.Dv SIGVTALRM +signal +is delivered when it expires. +.It Dv ITIMER_PROF +timer decrements both in process virtual time and +when the system is running on behalf of the process. +It is designed to be used by interpreters in statistically profiling +the execution of interpreted programs. +Each time the +.Dv ITIMER_PROF +timer expires, the +.Dv SIGPROF +signal is +delivered. +Because this signal may interrupt in-progress +system calls, programs using this timer must be prepared to +restart interrupted system calls. +.It Dv ITIMER_MONOTONIC +timer decrements in monotonic time. +This timer is not affected by +.Xr adjtime 2 +and +.Xr settimeofday 2 . +A +.Dv SIGALRM +signal is +delivered when this timer expires. +.El +Note that: +.Bl -bullet -offset indent +.It +Time values smaller than the resolution of the +system clock are rounded up to this resolution +(typically 10 milliseconds). +.It +The interaction between +.Fn setitimer +and +.Xr alarm 3 +or +.Xr sleep 3 +is unspecified by the specification. +.El +.Sh RETURN VALUES +If the calls succeed, a value of 0 is returned. +If an error occurs, the value \-1 is returned, and a more precise error +code is placed in the global variable +.Va errno . +.Sh ERRORS +Both functions may fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +The +.Fa value +parameter specified a bad address. +.It Bq Er EINVAL +The +.Fa which +parameter was not a known timer type, or the +.Fa value +parameter specified a time that was too large +to be handled. +.El +.Sh SEE ALSO +.Xr gettimeofday 2 , +.Xr select 2 , +.Xr sigaction 2 , +.Xr itimerval 3 , +.Xr timeradd 3 +.Sh STANDARDS +The functions conform to +.St -p1003.1-2001 . +The later +.St -p1003.1-2008 +revision however marked both as obsolescent, +recommending the use of +.Xr timer_gettime 2 +and +.Xr timer_settime 2 +instead. +.Sh HISTORY +The +.Fn getitimer +function call appeared in +.Bx 4.2 . +The +.Dv ITIMER_MONOTONIC +functionality appeared in +.Nx 6.0 . |
