1
# https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
3
from posix.types cimport suseconds_t, time_t, clockid_t, timer_t
4
from posix.signal cimport sigevent
6
cdef extern from "<sys/time.h>" nogil:
11
# FreeBSD-specific clocks
13
enum: CLOCK_UPTIME_PRECISE
14
enum: CLOCK_UPTIME_FAST
15
enum: CLOCK_REALTIME_PRECISE
16
enum: CLOCK_REALTIME_FAST
17
enum: CLOCK_MONOTONIC_PRECISE
18
enum: CLOCK_MONOTONIC_FAST
21
# Linux-specific clocks
22
enum: CLOCK_PROCESS_CPUTIME_ID
23
enum: CLOCK_THREAD_CPUTIME_ID
24
enum: CLOCK_MONOTONIC_RAW
25
enum: CLOCK_REALTIME_COARSE
26
enum: CLOCK_MONOTONIC_COARSE
28
enum: CLOCK_REALTIME_ALARM
29
enum: CLOCK_BOOTTIME_ALARM
47
cdef struct itimerval:
51
cdef struct itimerspec:
55
int nanosleep(const timespec *, timespec *)
57
int getitimer(int, itimerval *)
58
int gettimeofday(timeval *tp, timezone *tzp)
59
int setitimer(int, const itimerval *, itimerval *)
61
int clock_getcpuclockid(pid_t, clockid_t *)
62
int clock_getres(clockid_t, timespec *)
63
int clock_gettime(clockid_t, timespec *)
64
int clock_nanosleep(clockid_t, int, const timespec *, timespec *)
65
int clock_settime(clockid_t, const timespec *)
67
int timer_create(clockid_t, sigevent *, timer_t *)
68
int timer_delete(timer_t)
69
int timer_gettime(timer_t, itimerspec *)
70
int timer_getoverrun(timer_t)
71
int timer_settime(timer_t, int, const itimerspec *, itimerspec *)