Annotation of 43BSDTahoe/man/man2/getitimer.2, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1983 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)getitimer.2 6.3 (Berkeley) 12/18/86
        !             6: .\"
        !             7: .TH GETITIMER 2 "December 18, 1986"
        !             8: .UC 5
        !             9: .SH NAME
        !            10: getitimer, setitimer \- get/set value of interval timer
        !            11: .SH SYNOPSIS
        !            12: .nf
        !            13: .ft B
        !            14: #include <sys/time.h>
        !            15: .PP
        !            16: .ft B
        !            17: #define ITIMER_REAL    0       /* real time intervals */
        !            18: #define ITIMER_VIRTUAL 1       /* virtual time intervals */
        !            19: #define ITIMER_PROF    2       /* user and system virtual time */
        !            20: .sp
        !            21: .ft B
        !            22: getitimer(which, value)
        !            23: int which;
        !            24: struct itimerval *value;
        !            25: .PP
        !            26: .ft B
        !            27: setitimer(which, value, ovalue)
        !            28: int which;
        !            29: struct itimerval *value, *ovalue;
        !            30: .fi
        !            31: .SH DESCRIPTION
        !            32: The system provides each process with three interval timers,
        !            33: defined in
        !            34: .RI < sys/time.h >.
        !            35: The
        !            36: .I getitimer
        !            37: call returns the current value for the timer specified in
        !            38: .I which
        !            39: in the structure at
        !            40: .IR value .
        !            41: The
        !            42: .I setitimer
        !            43: call sets a timer to the specified
        !            44: .I value
        !            45: (returning the previous value of the timer if
        !            46: .I ovalue
        !            47: is nonzero).
        !            48: .PP
        !            49: A timer value is defined by the 
        !            50: .I itimerval
        !            51: structure:
        !            52: .PP
        !            53: .nf
        !            54: .RS
        !            55: .DT
        !            56: struct itimerval {
        !            57:        struct  timeval it_interval;    /* timer interval */
        !            58:        struct  timeval it_value;       /* current value */
        !            59: };
        !            60: .RE
        !            61: .fi
        !            62: .PP
        !            63: If
        !            64: .I it_value
        !            65: is non-zero, it indicates the time to the next timer expiration. 
        !            66: If
        !            67: .I it_interval
        !            68: is non-zero, it specifies a value to be used in reloading 
        !            69: .I it_value
        !            70: when the timer expires.
        !            71: Setting 
        !            72: .I it_value
        !            73: to 0 disables a timer.  Setting 
        !            74: .I it_interval
        !            75: to 0 causes a timer to be disabled after its next expiration (assuming
        !            76: .I it_value
        !            77: is non-zero).
        !            78: .PP
        !            79: Time values smaller than the resolution of the
        !            80: system clock are rounded up to this resolution
        !            81: (on the VAX, 10 milliseconds).
        !            82: .PP
        !            83: The ITIMER_REAL timer decrements in real time.  A SIGALRM signal is
        !            84: delivered when this timer expires.
        !            85: .PP
        !            86: The ITIMER_VIRTUAL timer decrements in process virtual time.
        !            87: It runs only when the process is executing.  A SIGVTALRM signal
        !            88: is delivered when it expires.
        !            89: .PP
        !            90: The ITIMER_PROF timer decrements both in process virtual time and
        !            91: when the system is running on behalf of the process.  It is designed
        !            92: to be used by interpreters in statistically profiling the execution
        !            93: of interpreted programs.
        !            94: Each time the ITIMER_PROF timer expires, the SIGPROF signal is
        !            95: delivered.  Because this signal may interrupt in-progress
        !            96: system calls, programs using this timer must be prepared to
        !            97: restart interrupted system calls.
        !            98: .SH NOTES
        !            99: Three macros for manipulating time values are defined in
        !           100: .RI < sys/time.h >.
        !           101: .I Timerclear
        !           102: sets a time value to zero,
        !           103: .I timerisset
        !           104: tests if a time value is non-zero, and
        !           105: .I timercmp
        !           106: compares two time values (beware that >= and <= do not
        !           107: work with this macro).
        !           108: .SH "RETURN VALUE
        !           109: If the calls succeed, a value of 0 is returned.  If an error occurs,
        !           110: the value \-1 is returned, and a more precise error code is placed
        !           111: in the global variable \fIerrno\fP.
        !           112: .SH "ERRORS
        !           113: The possible errors are:
        !           114: .TP 15
        !           115: [EFAULT]
        !           116: The \fIvalue\fP parameter specified a bad address.
        !           117: .TP 15
        !           118: [EINVAL]
        !           119: A \fIvalue\fP parameter specified a time was too large
        !           120: to be handled.
        !           121: .SH "SEE ALSO"
        !           122: select(2), sigvec(2), gettimeofday(2)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.