]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/cvs/lib/xtime.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / cvs / lib / xtime.h
1 /* This program is free software; you can redistribute it and/or modify
2    it under the terms of the GNU General Public License as published by
3    the Free Software Foundation; either version 2, or (at your option)
4    any later version.
5
6    This program is distributed in the hope that it will be useful,
7    but WITHOUT ANY WARRANTY; without even the implied warranty of
8    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9    GNU General Public License for more details.  */
10
11 /* This file simply performs the include magic necessary for using time
12  * functions
13  */
14 #ifndef XTIME_HEADER_INCLUDED
15 #define XTIME_HEADER_INCLUDED
16
17 #ifdef vms
18 # include <time.h>
19 #else /* vms */
20
21 # if TIME_WITH_SYS_TIME
22 #   include <sys/time.h>
23 #   include <time.h>
24 # else /* TIME_WITH_SYS_TIME */
25 #   if HAVE_SYS_TIME_H
26 #     include <sys/time.h>
27 #   else /* HAVE_SYS_TIME_H */
28 #     include <time.h>
29 #   endif /* !HAVE_SYS_TIME_H */
30 # endif /* !TIME_WITH_SYS_TIME */
31
32 # ifdef HAVE_SYS_TIMEB_H
33 #   include <sys/timeb.h>
34 # else /* HAVE_SYS_TIMEB_H */
35 /*
36  * We use the obsolete `struct timeb' as part of our interface!
37  * Since the system doesn't have it, we define it here;
38  * our callers must do likewise.
39  *
40  * At the least we were using this in lib/getdate.y, but lib/system.h used to
41  * define it too, so maybe CVS is using it elsewhere.
42  */
43 struct timeb {
44     time_t              time;           /* Seconds since the epoch      */
45     unsigned short      millitm;        /* Field not used               */
46     short               timezone;       /* Minutes west of GMT          */
47     short               dstflag;        /* Field not used               */
48 };
49 # endif /* !HAVE_SYS_TIMEB_H */
50
51 # ifdef timezone
52 #   undef timezone /* needed for sgi */
53 # endif /* timezone */
54
55 # if !defined(HAVE_FTIME) && !defined(HAVE_TIMEZONE)
56 extern long timezone;
57 # endif /* !defined(HAVE_FTIME) && !defined(HAVE_TIMEZONE) */
58
59 #endif /* !vms */
60
61 #endif /* !XTIME_HEADER_INCLUDED */