summaryrefslogtreecommitdiff
path: root/nt/inc/sys/time.h
blob: f8fb022d221c46bd619ca3a1a4266d2aa9522c18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef SYS_TIME_H_INCLUDED
#define SYS_TIME_H_INCLUDED

/*
 * sys/time.h either doesn't exist on Windows, or doesn't necessarily
 * have the below stuff.
 */

/* The guards are for MinGW64, which defines these structs on its
   system headers which are included by ms-w32.h.  */
/* Allow inclusion of sys/time.h and winsock2.h in any order.  Needed
   for running the configure test, which is only relevant to MinGW.  */
#ifndef _TIMEVAL_DEFINED
#define _TIMEVAL_DEFINED
struct timeval
{
  long		tv_sec;		/* seconds */
  long		tv_usec;	/* microseconds */
};
#define timerisset(tvp)  ((tvp)->tv_sec || (tvp)->tv_usec)
#define timercmp(tvp, uvp, cmp) \
        (((tvp)->tv_sec != (uvp)->tv_sec) ? \
        ((tvp)->tv_sec cmp (uvp)->tv_sec) : \
        ((tvp)->tv_usec cmp (uvp)->tv_usec))
#define timerclear(tvp)  (tvp)->tv_sec = (tvp)->tv_usec = 0
#endif /* _TIMEVAL_DEFINED */

#ifndef _TIMEZONE_DEFINED
#define _TIMEZONE_DEFINED
struct timezone
{
  int		tz_minuteswest;	/* minutes west of Greenwich */
  int		tz_dsttime;	/* type of dst correction */
};
#endif


/* This needs to be compatible with Posix signature, in order to pass
   the configure test for the type of the second argument; see
   m4/gettimeofday.m4.  We use '__restrict' here, rather than
   'restrict', for the benefit of the old nt/configure.bat build,
   which does not force the use of -std= switch to GCC, and that
   causes compilation errors with 'restrict', which is a C99
   extension.  */
int gettimeofday (struct timeval *__restrict, struct timezone *__restrict);

#define ITIMER_REAL      0
#define ITIMER_PROF      1

struct itimerval
{
  struct  timeval it_interval;	/* timer interval */
  struct  timeval it_value;	/* current value */
};

int getitimer (int, struct itimerval *);
int setitimer (int, struct itimerval *, struct itimerval *);

#endif /* SYS_TIME_H_INCLUDED */

/* end of sys/time.h */