Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Apropos / Subsearch:
optional field

adjtime(2)                       System Calls                       adjtime(2)

       adjtime - correct the time to allow synchronization of the system clock

       #include <sys/time.h>

       int adjtime(struct timeval *delta, struct timeval *olddelta);

       The  adjtime() function adjusts the system's notion of the current time
       as returned by gettimeofday(3C),  advancing  or  retarding  it  by  the
       amount of time specified in the struct timeval pointed to by delta.

       The  adjustment  is  effected by speeding up (if that amount of time is
       positive) or slowing down (if that amount of time is negative) the sys-
       tem's  clock by some small percentage, generally a fraction of one per-
       cent. The time is always a monotonically increasing  function.  A  time
       correction  from  an earlier call to adjtime() may not be finished when
       adjtime() is called again.

       If delta is 0, then olddelta returns the status of the effects  of  the
       previous  adjtime()  call  with  no  effect on the time correction as a
       result of this call. If olddelta is not a null pointer, then the struc-
       ture  it  points to will contain, upon successful return, the number of
       seconds and/or microseconds still to  be  corrected  from  the  earlier
       call. If olddelta is a null pointer, the corresponding information will
       not be returned.

       This call may be used in time servers that synchronize  the  clocks  of
       computers  in  a  local area network. Such time servers would slow down
       the clocks of some machines and speed up the clocks of others to  bring
       them to the average network time.

       Only  a  processes  with  appropriate privileges can adjust the time of

       The adjustment value will be silently rounded to the resolution of  the
       system clock.

       Upon  successful completion, adjtime() returns 0. Otherwise, it returns
       -1 and sets errno to indicate the error.

       The adjtime() function will fail if:

       EFAULT          The delta  or  olddelta  argument  points  outside  the
                       process's  allocated  address space, or olddelta points
                       to a region of the process's  allocated  address  space
                       that is not writable.

       EINVAL          The  tv_usec  member of delta is not within valid range
                       (-1000000 to 1000000).

       EPERM           The {PRIV_SYS_TIME} privilege is not  asserted  in  the
                       effective set of the calling process.

       Additionally,  the  adjtime()  function will fail for 32-bit interfaces

       EOVERFLOW       The size of the tv_sec member of the timeval  structure
                       pointed to by olddelta is too small to contain the cor-
                       rect number of seconds.

       date(1), gettimeofday(3C), privileges(5)

SunOS 5.10                        20 Jan 2003                       adjtime(2)