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 */
43struct 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)
56extern long timezone;
57# endif /* !defined(HAVE_FTIME) && !defined(HAVE_TIMEZONE) */
58
59#endif /* !vms */
60
61#endif /* !XTIME_HEADER_INCLUDED */
62