Initial revision
[kopensolaris-gnu/glibc.git] / time / sys / time.h
1 /* Copyright (C) 1991 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 1, or (at your option)
7 any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with the GNU C Library; see the file COPYING.  If not, write to
16 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
17
18 #ifndef _SYS_TIME_H
19
20 #if     !defined(__need_timeval)
21 #define _SYS_TIME_H     1
22 #include <features.h>
23 #endif
24
25 #include <gnu/time.h>
26
27
28 #ifdef  _SYS_TIME_H
29 #include <time.h>
30 #endif
31
32
33 #if     (!defined(__timeval_defined) && \
34          (defined(_SYS_TIME_H) || defined(__need_timeval)))
35 #define __timeval_defined       1
36 #define timeval __timeval
37 #endif
38 #undef  __need_timeval
39
40
41 /* <time.h> already does #define timezone __timezone.  */
42
43 #ifdef  _SYS_TIME_H
44
45 #define itimerval       __itimerval
46
47 /* Get the current time of day and timezone information,
48    putting it into *TV and *TZ.  If TZ is NULL, *TZ is not filled.
49    Returns 0 on success, -1 on errors.
50    NOTE: This form of timezone information is obsolete.
51    Use the functions and variables declared in <time.h> instead.  */
52 extern int EXFUN(__gettimeofday, (struct __timeval *__tv,
53                                   struct __timezone *__tz));
54
55 /* Set the current time of day and timezone information.
56    This call is restricted to the super-user.  */
57 extern int EXFUN(__settimeofday, (CONST struct __timeval *__tv,
58                                   CONST struct __timezone *__tz));
59
60 /* Adjust the current time of day by the amount in DELTA.
61    If OLDDELTA is not NULL, it is filled in with the amount
62    of time adjustment remaining to be done from the last `adjtime' call.
63    This call is restricted to the super-user.  */
64 extern int EXFUN(__adjtime, (CONST struct __timeval *__delta,
65                              struct __timeval *__olddelta));
66
67 #define gettimeofday    __gettimeofday
68 #define settimeofday    __settimeofday
69 #define adjtime         __adjtime
70
71 /* Set *VALUE to the current setting of timer WHICH.
72    Return 0 on success, -1 on errors.  */
73 extern int EXFUN(__getitimer, (enum __itimer_which __which,
74                                struct __itimerval *__value));
75
76 /* Set the timer WHICH to *NEW.  If OLD is not NULL,
77    set *OLD to the old value of timer WHICH.
78    Returns 0 on success, -1 on errors.  */
79 extern int EXFUN(__setitimer, (enum __itimer_which __which,
80                                struct __itimerval *__old,
81                                struct __itimerval *__new));
82
83 /* Change the access time of FILE to TVP[0] and
84    the modification time of FILE to TVP[1].  */
85 extern int EXFUN(__utimes, (CONST char *__file, struct __timeval __tvp[2]));
86
87 #define getitimer       __getitimer
88 #define setitimer       __setitimer
89 #define utimes          __utimes
90
91
92 #endif  /* <sys/time.h> included.  */
93
94 #endif  /* sys/time.h */