Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
GETITIMER(2)		      System Calls Manual		  GETITIMER(2)

       getitimer, setitimer - get/set value of interval	timer

       #include	<sys/time.h>

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

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

       The system provides each	process	with three interval timers, defined in
       <sys/time.h>.  The getitimer() call stores the  current	value  of  the
       timer  specified	 by which into the structure pointed to	by value.  The
       setitimer() call	sets the value of the timer specified by which to  the
       value  specified	in the structure pointed to by value, and if ovalue is
       not a NULL pointer, stores the previous	value  of  the	timer  in  the
       structure pointed to by ovalue.

       A timer value is	defined	by the itimerval structure, which includes the
       following members:

	      struct timeval it_interval; /* timer interval */
	      struct timeval it_value;	  /* current value */

       If it_value is non-zero,	it indicates the time to the next timer	 expi-
       ration.	If it_interval is non-zero, it specifies a value to be used in
       reloading it_value when the timer expires.  Setting  it_value  to  zero
       disables	 a timer; however, it_value and	it_interval must still be ini-
       tialized.  Setting it_interval to zero causes a timer  to  be  disabled
       after its next expiration (assuming it_value is non-zero).

       Time values smaller than	the resolution of the system clock are rounded
       up to this resolution.

       The three timers	are:

       ITIMER_REAL	   Decrements in real time.  A SIGALRM signal  is  de-
			   livered when	this timer expires.

       ITIMER_VIRTUAL	   Decrements  in  process virtual time.  It runs only
			   when	the process is executing.  A SIGVTALRM	signal
			   is delivered	when it	expires.

       ITIMER_PROF	   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 statisti-
			   cally profiling the execution of  interpreted  pro-
			   grams.   Each  time	the ITIMER_PROF	timer expires,
			   the SIGPROF signal is delivered.  Because this sig-
			   nal	may  interrupt	in-progress system calls, pro-
			   grams using this timer must be prepared to  restart
			   interrupted system calls.

       getitimer() and setitimer() return:

       0      on success.

       -1     on failure and set errno to indicate the error.

       The possible errors are:

       EFAULT	      The value	or ovalue parameter specified a	bad address.

       EINVAL	      The  value parameter specified a time that was too large
		      to be handled.

       sigvec(2), gettimeofday(2)

       Three macros for	manipulating time values are defined in	 <sys/time.h>.
       timerclear  sets	a time value to	zero, timerisset tests if a time value
       is non-zero, and	timercmp() compares two	time values  (beware  that  >=
       and <= do not work with this macro).

				21 January 1990			  GETITIMER(2)


Want to link to this manual page? Use this URL:

home | help