cython

Форк
0
71 строка · 1.9 Кб
1
# https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
2

3
from posix.types cimport suseconds_t, time_t, clockid_t, timer_t
4
from posix.signal cimport sigevent
5

6
cdef extern from "<sys/time.h>" nogil:
7
    enum: CLOCK_REALTIME
8
    enum: TIMER_ABSTIME
9
    enum: CLOCK_MONOTONIC
10

11
    # FreeBSD-specific clocks
12
    enum: CLOCK_UPTIME
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
19
    enum: CLOCK_SECOND
20

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
27
    enum: CLOCK_BOOTTIME
28
    enum: CLOCK_REALTIME_ALARM
29
    enum: CLOCK_BOOTTIME_ALARM
30

31
    enum: ITIMER_REAL
32
    enum: ITIMER_VIRTUAL
33
    enum: ITIMER_PROF
34

35
    cdef struct timezone:
36
        int tz_minuteswest
37
        int dsttime
38

39
    cdef struct timeval:
40
        time_t      tv_sec
41
        suseconds_t tv_usec
42

43
    cdef struct timespec:
44
        time_t tv_sec
45
        long   tv_nsec
46

47
    cdef struct itimerval:
48
        timeval it_interval
49
        timeval it_value
50

51
    cdef struct itimerspec:
52
        timespec it_interval
53
        timespec it_value
54

55
    int nanosleep(const timespec *, timespec *)
56

57
    int getitimer(int, itimerval *)
58
    int gettimeofday(timeval *tp, timezone *tzp)
59
    int setitimer(int, const itimerval *, itimerval *)
60

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 *)
66

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 *)
72

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.