Commit 08c314cf authored by Charles Blake's avatar Charles Blake

Re-organize so libc.time holds standard C things and posix.time POSIX things.

--HG--
extra : transplant_source : %8D%3C%FBM%FFf%98u%AB%8E.%A1vQhE%E7z%DC%83
parent 97665804
# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html # http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
from posix.signal cimport sigevent
from posix.types cimport clock_t, clockid_t, suseconds_t, time_t, timer_t from posix.types cimport clock_t, clockid_t, suseconds_t, time_t, timer_t
from libc.stddef cimport wchar_t
cdef extern from "time.h" nogil: cdef extern from "time.h" nogil:
enum: CLOCKS_PER_SEC enum: CLOCKS_PER_SEC
enum: CLOCK_PROCESS_CPUTIME_ID clock_t clock() # CPU time
enum: CLOCK_THREAD_CPUTIME_ID time_t time(time_t *) # wall clock time since Unix epoch
enum: CLOCK_REALTIME
enum: TIMER_ABSTIME
enum: CLOCK_MONOTONIC
# FreeBSD-specific clocks
enum: CLOCK_UPTIME
enum: CLOCK_UPTIME_PRECISE
enum: CLOCK_UPTIME_FAST
enum: CLOCK_REALTIME_PRECISE
enum: CLOCK_REALTIME_FAST
enum: CLOCK_MONOTONIC_PRECISE
enum: CLOCK_MONOTONIC_FAST
enum: CLOCK_SECOND
# Linux-specific clocks
enum: CLOCK_PROCESS_CPUTIME_ID
enum: CLOCK_THREAD_CPUTIME_ID
enum: CLOCK_MONOTONIC_RAW
enum: CLOCK_REALTIME_COARSE
enum: CLOCK_MONOTONIC_COARSE
enum: CLOCK_BOOTTIME
enum: CLOCK_REALTIME_ALARM
enum: CLOCK_BOOTTIME_ALARM
cdef struct timespec:
time_t tv_sec
long tv_nsec
cdef struct itimerspec:
timespec it_interval
timespec it_value
cdef struct tm: cdef struct tm:
int tm_sec int tm_sec
...@@ -54,14 +21,13 @@ cdef extern from "time.h" nogil: ...@@ -54,14 +21,13 @@ cdef extern from "time.h" nogil:
char *tm_zone char *tm_zone
long tm_gmtoff long tm_gmtoff
int daylight # global state
long timezone
char *tzname[2]
void tzset()
char *asctime(const tm *) char *asctime(const tm *)
char *asctime_r(const tm *, char *) char *asctime_r(const tm *, char *)
clock_t clock()
int clock_getcpuclockid(pid_t, clockid_t *)
int clock_getres(clockid_t, timespec *)
int clock_gettime(clockid_t, timespec *)
int clock_nanosleep(clockid_t, int, const timespec *, timespec *)
int clock_settime(clockid_t, const timespec *)
char *ctime(const time_t *) char *ctime(const time_t *)
char *ctime_r(const time_t *, char *) char *ctime_r(const time_t *, char *)
double difftime(time_t, time_t) double difftime(time_t, time_t)
...@@ -71,17 +37,6 @@ cdef extern from "time.h" nogil: ...@@ -71,17 +37,6 @@ cdef extern from "time.h" nogil:
tm *localtime(const time_t *) tm *localtime(const time_t *)
tm *localtime_r(const time_t *, tm *) tm *localtime_r(const time_t *, tm *)
time_t mktime(tm *) time_t mktime(tm *)
int nanosleep(const timespec *, timespec *)
size_t strftime(char *, size_t, const char *, const tm *) size_t strftime(char *, size_t, const char *, const tm *)
char *strptime(const char *, const char *, tm *) size_t wcsftime(wchar_t *str, size_t cnt, const wchar_t *fmt, tm *time)
time_t time(time_t *) char *strptime(const char *, const char *, tm *) # POSIX not stdC
int timer_create(clockid_t, sigevent *, timer_t *)
int timer_delete(timer_t)
int timer_gettime(timer_t, itimerspec *)
int timer_getoverrun(timer_t)
int timer_settime(timer_t, int, const itimerspec *, itimerspec *)
void tzset()
int daylight
long timezone
char *tzname[2]
# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html # http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
from posix.types cimport suseconds_t, time_t from posix.types cimport suseconds_t, time_t, clockid_t, timer_t
from posix.signal cimport sigevent
cdef extern from "sys/time.h" nogil: cdef extern from "sys/time.h" nogil:
enum: CLOCK_PROCESS_CPUTIME_ID
enum: CLOCK_THREAD_CPUTIME_ID
enum: CLOCK_REALTIME
enum: TIMER_ABSTIME
enum: CLOCK_MONOTONIC
# FreeBSD-specific clocks
enum: CLOCK_UPTIME
enum: CLOCK_UPTIME_PRECISE
enum: CLOCK_UPTIME_FAST
enum: CLOCK_REALTIME_PRECISE
enum: CLOCK_REALTIME_FAST
enum: CLOCK_MONOTONIC_PRECISE
enum: CLOCK_MONOTONIC_FAST
enum: CLOCK_SECOND
# Linux-specific clocks
enum: CLOCK_PROCESS_CPUTIME_ID
enum: CLOCK_THREAD_CPUTIME_ID
enum: CLOCK_MONOTONIC_RAW
enum: CLOCK_REALTIME_COARSE
enum: CLOCK_MONOTONIC_COARSE
enum: CLOCK_BOOTTIME
enum: CLOCK_REALTIME_ALARM
enum: CLOCK_BOOTTIME_ALARM
enum: ITIMER_REAL enum: ITIMER_REAL
enum: ITIMER_VIRTUAL enum: ITIMER_VIRTUAL
...@@ -16,10 +43,32 @@ cdef extern from "sys/time.h" nogil: ...@@ -16,10 +43,32 @@ cdef extern from "sys/time.h" nogil:
time_t tv_sec time_t tv_sec
suseconds_t tv_usec suseconds_t tv_usec
cdef struct timespec:
time_t tv_sec
long tv_nsec
cdef struct itimerval: cdef struct itimerval:
timeval it_interval timeval it_interval
timeval it_value timeval it_value
cdef struct itimerspec:
timespec it_interval
timespec it_value
int nanosleep(const timespec *, timespec *)
int getitimer(int, itimerval *) int getitimer(int, itimerval *)
int gettimeofday(timeval *tp, timezone *tzp) int gettimeofday(timeval *tp, timezone *tzp)
int setitimer(int, const itimerval *, itimerval *) int setitimer(int, const itimerval *, itimerval *)
int clock_getcpuclockid(pid_t, clockid_t *)
int clock_getres(clockid_t, timespec *)
int clock_gettime(clockid_t, timespec *)
int clock_nanosleep(clockid_t, int, const timespec *, timespec *)
int clock_settime(clockid_t, const timespec *)
int timer_create(clockid_t, sigevent *, timer_t *)
int timer_delete(timer_t)
int timer_gettime(timer_t, itimerspec *)
int timer_getoverrun(timer_t)
int timer_settime(timer_t, int, const itimerspec *, itimerspec *)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment