Index of Section 2 Manual Pages

Interix / SUAgetitimer.2Interix / SUA

getitimer(2)                                               getitimer(2)

  getitimer()

  NAME

    getitimer(), setitimer() - get and set value of interval timer

  SYNOPSIS

    #include 

    int getitimer (int which, struct itimerval *value);
    int setitimer (int which, struct itimerval *value,
                   struct itimerval *ovalue);

  DESCRIPTION

    The getitimer(2) call stores the current value of the which timer into the
    structure pointed to by value. The setitimer(2) call sets the timer
    indicated by which to the value stored in the structure value. The
    previous value of the timer is stored in ovalue, if ovalue is not NULL.

    The which argument specifies one of three types of timers (defined in
    ):

    ITIMER_REAL
        The real-time timer decrements in real time. When this timer expires,
        a SIGALRM signal is delivered to the process.

    ITIMER_VIRTUAL
        The virtual timer decrements in process virtual (user) time that is,
        only when the process is executing. When it expires, a SIGVTALRM
        signal is delivered to the process.

    ITIMER_PROF
        The profile timer decrements in process virtual (user) time and also
        when the system is running on behalf of the process. Each time this
        timer expires, a SIGPROF signal is delivered to the process. This
        timer is intended for use by interpreters, for statistically profiling
        the execution of interpreted programs.

    The itimerval structure defines a timer value:

    struct itimerval {
       struct timeval it_interval;
       struct timeval it_value;
    };

    The timeval structure is:

    struct timeval {
       time_t tv_sec;
       long tv_usec;
    };

    If the value of it_value is non-zero, it is a time until the next timer
    expiration. If the value is zero, then getitimer(2) disables a timer when
    it is called, regardless of the value of it_interval.

    If the value of it_interval is non-zero, it is an interval value which
    will be placed in it_value after the timer expires. If the value is zero,
    then the timer is disabled after the next time it expires.

    The value must be in canonical form: the number of microseconds (tv_usec)
    must be less than 1,000,000 (a million) and neither the number of seconds
    (tv_sec) or microseconds (tv_usec) can be negative integers.

    Three traditional macros are also defined in  for setting and
    testing timer values.
    timerclear()
        sets a timer value to zero.
    timerisset()
        tests whether a timer value is zero.
    timercmp()
        compares two timer values. Warning: do not use inequality operators
        (<= or >=) with this macro.)

  RETURN VALUE

    These functions return 0 on success and -1 if an error occurred.

  ERRORS

    The getitimer(2) and setitimer(2) calls can fail for the following
    reasons:

    [EINTR]
        The system call was interrupted.

    [EINVAL]
        The which argument is unknown.

    [ENOMEM]
        The system could not allocate space for maintaining the timer.

    [ENOSYS]
        The INTERIX subsystem on the machine is an earlier version than 2.2.
        (Versions before 2.2 did not support getitimer(2) or setitimer(2).)

    The setitimer(2) call can also fail because:

    [EINVAL]
        The value argument is not in canonical form.

  SEE ALSO

    alarm(2)

    sleep(2)

  USAGE NOTES

    All of these functions are thread safe.

    None of these functions are async-signal safe.


Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA