comparison druntime/import/core/sys/posix/sys/time.d @ 1458:e0b2d67cfe7c

Added druntime (this should be removed once it works).
author Robert Clipsham <robert@octarineparrot.com>
date Tue, 02 Jun 2009 17:43:06 +0100
parents
children
comparison
equal deleted inserted replaced
1456:7b218ec1044f 1458:e0b2d67cfe7c
1 /**
2 * D header file for POSIX.
3 *
4 * Copyright: Copyright Sean Kelly 2005 - 2009.
5 * License: <a href="http://www.boost.org/LICENSE_1_0.txt>Boost License 1.0</a>.
6 * Authors: Sean Kelly
7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
8 *
9 * Copyright Sean Kelly 2005 - 2009.
10 * Distributed under the Boost Software License, Version 1.0.
11 * (See accompanying file LICENSE_1_0.txt or copy at
12 * http://www.boost.org/LICENSE_1_0.txt)
13 */
14 module core.sys.posix.sys.time;
15
16 private import core.sys.posix.config;
17 public import core.sys.posix.sys.types; // for time_t, suseconds_t
18 public import core.sys.posix.sys.select; // for fd_set, FD_CLR() FD_ISSET() FD_SET() FD_ZERO() FD_SETSIZE, select()
19
20 extern (C):
21
22 //
23 // XOpen (XSI)
24 //
25 /*
26 struct timeval
27 {
28 time_t tv_sec;
29 suseconds_t tv_usec;
30 }
31
32 struct itimerval
33 {
34 timeval it_interval;
35 timeval it_value;
36 }
37
38 ITIMER_REAL
39 ITIMER_VIRTUAL
40 ITIMER_PROF
41
42 int getitimer(int, itimerval*);
43 int gettimeofday(timeval*, void*);
44 int select(int, fd_set*, fd_set*, fd_set*, timeval*); (defined in core.sys.posix.sys.signal)
45 int setitimer(int, in itimerval*, itimerval*);
46 int utimes(in char*, in timeval[2]); // LEGACY
47 */
48
49 version( linux )
50 {
51 struct timeval
52 {
53 time_t tv_sec;
54 suseconds_t tv_usec;
55 }
56
57 struct itimerval
58 {
59 timeval it_interval;
60 timeval it_value;
61 }
62
63 enum ITIMER_REAL = 0;
64 enum ITIMER_VIRTUAL = 1;
65 enum ITIMER_PROF = 2;
66
67 int getitimer(int, itimerval*);
68 int gettimeofday(timeval*, void*);
69 int setitimer(int, in itimerval*, itimerval*);
70 int utimes(in char*, in timeval[2]); // LEGACY
71 }
72 else version( OSX )
73 {
74 struct timeval
75 {
76 time_t tv_sec;
77 suseconds_t tv_usec;
78 }
79
80 struct itimerval
81 {
82 timeval it_interval;
83 timeval it_value;
84 }
85
86 // non-standard
87 struct timezone_t
88 {
89 int tz_minuteswest;
90 int tz_dsttime;
91 }
92
93 int getitimer(int, itimerval*);
94 int gettimeofday(timeval*, timezone_t*); // timezone_t* is normally void*
95 int setitimer(int, in itimerval*, itimerval*);
96 int utimes(in char*, in timeval[2]);
97 }
98 else version( freebsd )
99 {
100 struct timeval
101 {
102 time_t tv_sec;
103 suseconds_t tv_usec;
104 }
105
106 struct itimerval
107 {
108 timeval it_interval;
109 timeval it_value;
110 }
111
112 // non-standard
113 struct timezone_t
114 {
115 int tz_minuteswest;
116 int tz_dsttime;
117 }
118
119 int getitimer(int, itimerval*);
120 int gettimeofday(timeval*, timezone_t*); // timezone_t* is normally void*
121 int setitimer(int, in itimerval*, itimerval*);
122 int utimes(in char*, in timeval[2]);
123 }