2 * D header file for POSIX.
4 * Copyright: Copyright Sean Kelly 2005 - 2009.
5 * License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
6 * Authors: Sean Kelly, Alex Rønne Petersen
7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
10 /* Copyright Sean Kelly 2005 - 2009.
11 * Distributed under the Boost Software License, Version 1.0.
12 * (See accompanying file LICENSE or copy at
13 * http://www.boost.org/LICENSE_1_0.txt)
15 module core.sys.posix.sys.time;
17 import core.sys.posix.config;
18 public import core.sys.posix.sys.types; // for time_t, suseconds_t
19 public import core.sys.posix.sys.select; // for fd_set, FD_CLR() FD_ISSET() FD_SET() FD_ZERO() FD_SETSIZE, select()
27 else version (WatchOS)
30 version (linux) public import core.sys.linux.sys.time;
33 extern (C) nothrow @nogc:
55 int getitimer(int, itimerval*);
56 int gettimeofday(timeval*, void*);
57 int select(int, fd_set*, fd_set*, fd_set*, timeval*); (defined in core.sys.posix.sys.signal)
58 int setitimer(int, const scope itimerval*, itimerval*);
59 int utimes(const scope char*, ref const(timeval)[2]); // LEGACY
62 version (CRuntime_Glibc)
77 enum ITIMER_VIRTUAL = 1;
80 int getitimer(int, itimerval*);
81 int gettimeofday(timeval*, void*);
82 int setitimer(int, const scope itimerval*, itimerval*);
83 int utimes(const scope char*, ref const(timeval)[2]); // LEGACY
85 else version (CRuntime_Musl)
92 int gettimeofday(timeval*, void*);
93 int utimes(const scope char*, ref const(timeval)[2]);
116 int getitimer(int, itimerval*);
117 int gettimeofday(timeval*, timezone_t*); // timezone_t* is normally void*
118 int setitimer(int, const scope itimerval*, itimerval*);
119 int utimes(const scope char*, ref const(timeval)[2]);
121 else version (FreeBSD)
142 int getitimer(int, itimerval*);
143 int gettimeofday(timeval*, timezone_t*); // timezone_t* is normally void*
144 int setitimer(int, const scope itimerval*, itimerval*);
145 int utimes(const scope char*, ref const(timeval)[2]);
147 else version (NetBSD)
161 int getitimer(int, itimerval*);
162 int gettimeofday(timeval*, void*); // timezone_t* is normally void*
163 int setitimer(int, const scope itimerval*, itimerval*);
164 int utimes(const scope char*, ref const(timeval)[2]);
166 else version (OpenBSD)
187 int getitimer(int, itimerval*);
188 int gettimeofday(timeval*, timezone_t*);
189 int setitimer(int, const scope itimerval*, itimerval*);
190 int utimes(const scope char*, ref const(timeval)[2]);
192 else version (DragonFlyBSD)
213 int getitimer(int, itimerval*);
214 int gettimeofday(timeval*, timezone_t*); // timezone_t* is normally void*
215 int setitimer(int, const scope itimerval*, itimerval*);
216 int utimes(const scope char*, ref const(timeval)[2]);
218 else version (Solaris)
232 int getitimer(int, itimerval*);
233 int gettimeofday(timeval*, void*);
234 int setitimer(int, const scope itimerval*, itimerval*);
235 int utimes(const scope char*, ref const(timeval)[2]);
237 else version (CRuntime_Bionic)
257 enum ITIMER_REAL = 0;
258 enum ITIMER_VIRTUAL = 1;
259 enum ITIMER_PROF = 2;
261 int getitimer(int, itimerval*);
262 int gettimeofday(timeval*, timezone_t*);
263 int setitimer(int, const scope itimerval*, itimerval*);
264 int utimes(const scope char*, ref const(timeval)[2]);
266 else version (CRuntime_UClibc)
280 enum ITIMER_REAL = 0;
281 enum ITIMER_VIRTUAL = 1;
282 enum ITIMER_PROF = 2;
284 int getitimer(int, itimerval*);
285 int gettimeofday(timeval*, void*);
286 int setitimer(int, const scope itimerval*, itimerval*);
287 int utimes(const scope char*, ref const(timeval)[2]);
291 static assert(false, "Unsupported platform");