4.3BSD-Reno/share/man/cat2/getitimer.0

Compare this file to the similar file:
Show the results in this format:




GETITIMER(2)		      1990		     GETITIMER(2)



NNAAMMEE
     getitimer, setitimer - get/set value of interval timer

SSYYNNOOPPSSIISS
     ##iinncclluuddee <<ssyyss//ttiimmee..hh>>

     ##ddeeffiinnee IITTIIMMEERR__RREEAALL      00    //** rreeaall ttiimmee iinntteerrvvaallss **//
     ##ddeeffiinnee IITTIIMMEERR__VVIIRRTTUUAALL   11    //** vviirrttuuaall ttiimmee iinntteerrvvaallss **//
     ##ddeeffiinnee IITTIIMMEERR__PPRROOFF      22    //** uusseerr aanndd ssyysstteemm vviirrttuuaall ttiimmee **//

     ggeettiittiimmeerr((wwhhiicchh,, vvaalluuee))
     iinntt wwhhiicchh;;
     ssttrruucctt iittiimmeerrvvaall **vvaalluuee;;

     sseettiittiimmeerr((wwhhiicchh,, vvaalluuee,, oovvaalluuee))
     iinntt wwhhiicchh;;
     ssttrruucctt iittiimmeerrvvaall **vvaalluuee,, **oovvaalluuee;;

DDEESSCCRRIIPPTTIIOONN
     The system provides each process with three interval timers,
     defined in <_s_y_s/_t_i_m_e._h>.  The _g_e_t_i_t_i_m_e_r call returns the
     current value for the timer specified in _w_h_i_c_h in the struc-
     ture at _v_a_l_u_e.  The _s_e_t_i_t_i_m_e_r call sets a timer to the
     specified _v_a_l_u_e (returning the previous value of the timer
     if _o_v_a_l_u_e is nonzero).

     A timer value is defined by the _i_t_i_m_e_r_v_a_l structure:

	  struct itimerval {
	       struct	 timeval it_interval;	  /* timer interval */
	       struct	 timeval it_value;   /* current value */
	  };

     If _i_t__v_a_l_u_e is non-zero, it indicates the time to the next
     timer expiration. If _i_t__i_n_t_e_r_v_a_l is non-zero, it specifies a
     value to be used in reloading _i_t__v_a_l_u_e when the timer
     expires.  Setting _i_t__v_a_l_u_e to 0 disables a timer.	Setting
     _i_t__i_n_t_e_r_v_a_l to 0 causes a timer to be disabled after its
     next expiration (assuming _i_t__v_a_l_u_e is non-zero).

     Time values smaller than the resolution of the system clock
     are rounded up to this resolution (on the VAX, 10 mil-
     liseconds).

     The ITIMER_REAL timer decrements in real time.  A SIGALRM
     signal is delivered when this timer expires.

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





Printed 7/27/90               June				1






GETITIMER(2)		      1990		     GETITIMER(2)



     The ITIMER_PROF timer decrements both in process virtual
     time and when the system is running on behalf of the pro-
     cess.  It is designed to be used by interpreters in statist-
     ically profiling the execution of interpreted programs.
     Each time the ITIMER_PROF timer expires, the 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.

NNOOTTEESS
     Three macros for manipulating time values are defined in
     <_s_y_s/_t_i_m_e._h>.  _T_i_m_e_r_c_l_e_a_r sets a time value to zero, _t_i_m_e_r_-
     _i_s_s_e_t tests if a time value is non-zero, and _t_i_m_e_r_c_m_p com-
     pares two time values (beware that >= and <= do not work
     with this macro).

RREETTUURRNN VVAALLUUEE
     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 _e_r_r_n_o.

EERRRROORRSS
     The possible errors are:

     [EFAULT]	    The _v_a_l_u_e parameter specified a bad address.

     [EINVAL]	    A _v_a_l_u_e parameter specified a time was too
		    large to be handled.

SSEEEE AALLSSOO
     select(2), sigvec(2), gettimeofday(2)
























Printed 7/27/90               June				2