]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/man/man2/gettimeofday.2
xnu-2782.40.9.tar.gz
[apple/xnu.git] / bsd / man / man2 / gettimeofday.2
index febc61dcdba4275af1d94dc15ea2fb5dcd18d74c..a9b3005554ff8cb9769e78aa35bff5e4f44ba25d 100644 (file)
@@ -33,7 +33,7 @@
 .\"
 .\"     @(#)gettimeofday.2     8.2 (Berkeley) 5/26/95
 .\"
 .\"
 .\"     @(#)gettimeofday.2     8.2 (Berkeley) 5/26/95
 .\"
-.Dd May 26, 1995
+.Dd August 5, 2008
 .Dt GETTIMEOFDAY 2
 .Os BSD 4
 .Sh NAME
 .Dt GETTIMEOFDAY 2
 .Os BSD 4
 .Sh NAME
 .Sh SYNOPSIS
 .Fd #include <sys/time.h>
 .Ft int
 .Sh SYNOPSIS
 .Fd #include <sys/time.h>
 .Ft int
-.Fn gettimeofday "struct timeval *tp" "struct timezone *tzp"
+.Fo gettimeofday
+.Fa "struct timeval *restrict tp"
+.Fa "void *restrict tzp"
+.Fc
 .Ft int
 .Ft int
-.Fn settimeofday "const struct timeval *tp" "const struct timezone *tzp"
+.Fo settimeofday
+.Fa "const struct timeval *tp"
+.Fa "const struct timezone *tzp"
+.Fc
 .Sh DESCRIPTION
 .Sh DESCRIPTION
-.Bf -symbolic
-Note: timezone is no longer used; this information is kept outside
-the kernel.
-.Ef
 .Pp
 The system's notion of the current Greenwich time and the current time
 zone is obtained with the
 .Pp
 The system's notion of the current Greenwich time and the current time
 zone is obtained with the
@@ -62,10 +64,24 @@ since midnight (0 hour), January 1, 1970.  The resolution of the system
 clock is hardware dependent, and the time may be updated continuously or
 in ``ticks.''  If
 .Fa tp
 clock is hardware dependent, and the time may be updated continuously or
 in ``ticks.''  If
 .Fa tp
-or
+is NULL
+and
+.Fa tzp
+is non-NULL,
+.Fn gettimeofday
+will populate the timezone struct in 
+.Fa tzp .
+If 
+.Fa tp
+is non-NULL and
+.Fa tzp 
+is NULL, then only the timeval struct in
+.Fa tp
+is populated. If both
+.Fa tp
+and
 .Fa tzp
 .Fa tzp
-is NULL, the associated time
-information will not be returned or set.
+are NULL, nothing is returned.
 .Pp
 The structures pointed to by
 .Fa tp
 .Pp
 The structures pointed to by
 .Fa tp
@@ -76,18 +92,28 @@ are defined in
 as:
 .Pp
 .Bd -literal
 as:
 .Pp
 .Bd -literal
+
 struct timeval {
 struct timeval {
-       long    tv_sec;         /* seconds since Jan. 1, 1970 */
-       long    tv_usec;        /* and microseconds */
+       time_t       tv_sec;   /* seconds since Jan. 1, 1970 */
+       suseconds_t  tv_usec;  /* and microseconds */
 };
 
 struct timezone {
        int     tz_minuteswest; /* of Greenwich */
        int     tz_dsttime;     /* type of dst correction to apply */
 };
 };
 
 struct timezone {
        int     tz_minuteswest; /* of Greenwich */
        int     tz_dsttime;     /* type of dst correction to apply */
 };
+
 .Ed
 .Pp
 The 
 .Ed
 .Pp
 The 
+.Fa timeval
+structure specifies a time value in seconds and microseconds.
+The values in
+.Fa timeval
+are opaque types whose length may vary on different machines;
+depending on them to have any given length may lead to errors.
+.Pp
+The 
 .Fa timezone
 structure indicates the local time zone
 (measured in minutes of time westward from Greenwich),
 .Fa timezone
 structure indicates the local time zone
 (measured in minutes of time westward from Greenwich),
@@ -118,10 +144,24 @@ An argument address referenced invalid memory.
 .It Bq Er EPERM
 A user other than the super-user attempted to set the time.
 .El
 .It Bq Er EPERM
 A user other than the super-user attempted to set the time.
 .El
+.Sh LEGACY SYNOPSIS
+.Fd #include <sys/time.h>
+.Pp
+.Ft int
+.br
+.Fo gettimeofday
+.Fa "struct timeval *tp"
+.Fa "struct timezone *tzp"
+.Fc ;
+.Pp
+The type of
+.Fa tzp
+has changed.
 .Sh SEE ALSO
 .Xr date 1 ,
 .Xr adjtime 2 ,
 .Xr ctime 3 ,
 .Sh SEE ALSO
 .Xr date 1 ,
 .Xr adjtime 2 ,
 .Xr ctime 3 ,
+.Xr compat 5 ,
 .Xr timed 8
 .Sh HISTORY
 The
 .Xr timed 8
 .Sh HISTORY
 The