/** * D header file for POSIX. * * Copyright: Public Domain * License: Public Domain * Authors: Sean Kelly * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition */ module stdc.posix.sys.time; private import stdc.posix.config; public import stdc.posix.sys.types; // for time_t, suseconds_t public import stdc.posix.sys.select; // for fd_set, FD_CLR() FD_ISSET() FD_SET() FD_ZERO() FD_SETSIZE extern (C): // // XOpen (XSI) // /* struct timeval { time_t tv_sec; suseconds_t tv_usec; } struct itimerval { timeval it_interval; timeval it_value; } ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF int getitimer(int, itimerval*); int gettimeofday(timeval*, void*); int select(int, fd_set*, fd_set*, fd_set*, timeval*); int setitimer(int, in itimerval*, itimerval*); int utimes(in char*, in timeval[2]); // LEGACY */ version( linux ) { struct timeval { time_t tv_sec; suseconds_t tv_usec; } struct itimerval { timeval it_interval; timeval it_value; } const ITIMER_REAL = 0; const ITIMER_VIRTUAL = 1; const ITIMER_PROF = 2; int getitimer(int, itimerval*); int gettimeofday(timeval*, void*); int select(int, fd_set*, fd_set*, fd_set*, timeval*); int setitimer(int, in itimerval*, itimerval*); int utimes(in char*, in timeval[2]); // LEGACY } else version( darwin ) { struct timeval { time_t tv_sec; suseconds_t tv_usec; } struct itimerval { timeval it_interval; timeval it_value; } // non-standard struct timezone_t { int tz_minuteswest; int tz_dsttime; } int getitimer(int, itimerval*); int gettimeofday(timeval*, timezone_t*); // timezone_t* is normally void* int select(int, fd_set*, fd_set*, fd_set*, timeval*); int setitimer(int, in itimerval*, itimerval*); int utimes(in char*, in timeval[2]); } else version( freebsd ) { struct timeval { time_t tv_sec; suseconds_t tv_usec; } struct itimerval { timeval it_interval; timeval it_value; } // non-standard struct timezone_t { int tz_minuteswest; int tz_dsttime; } int getitimer(int, itimerval*); int gettimeofday(timeval*, timezone_t*); // timezone_t* is normally void* int select(int, fd_set*, fd_set*, fd_set*, timeval*); int setitimer(int, in itimerval*, itimerval*); int utimes(in char*, in timeval[2]); }