xref: /llvm-project/libc/docs/headers/time.rst (revision a9aff440d9dde3a636a4ccff3d5f7eaf25836c34)
1======
2time.h
3======
4
5.. include:: ../check.rst
6
7---------------
8Source location
9---------------
10
11-   The main source for time functions is located at: ``libc/src/time``
12
13---------------------
14Implementation Status
15---------------------
16
17* To check date and time functions enabled for Linux:
18
19  - `linux-x86_64 <https://github.com/llvm/llvm-project/tree/main/libc/config/linux/x86_64/entrypoints.txt>`_
20
21  - `linux-aarch64 <https://github.com/llvm/llvm-project/tree/main/libc/config/linux/aarch64/entrypoints.txt>`_
22
23  - `linux-aarch32 <https://github.com/llvm/llvm-project/tree/main/libc/config/linux/arm/entrypoints.txt>`_
24
25  - `linux-riscv and linux-riscv32 <https://github.com/llvm/llvm-project/tree/main/libc/config/linux/riscv/entrypoints.txt>`_
26
27* To check date and time functions enabled for Windows:
28
29  - `windows-x86_64 <https://github.com/llvm/llvm-project/tree/main/libc/config/windows/entrypoints.txt>`_
30
31  - windows-aarch64 - to be added
32
33* To check date and time functions enabled for macOS:
34
35  - `darwin-x86_64 <https://github.com/llvm/llvm-project/tree/main/libc/config/darwin/x86_64/entrypoints.txt>`_
36
37  - `darwin-aarch64 <https://github.com/llvm/llvm-project/tree/main/libc/config/darwin/arm/entrypoints.txt>`_
38
39* To check date and time functions enabled for GPU:
40
41  - `gpu-entrypoints <https://github.com/llvm/llvm-project/tree/main/libc/config/gpu/entrypoints.txt>`_
42
43* To check date and time functions enabled for embedded system:
44
45  - `barebone-aarch32 <https://github.com/llvm/llvm-project/tree/main/libc/config/baremetal/arm/entrypoints.txt>`_
46
47  - barebone-riscv32 - to be added
48
49+---------------------+-----------------------------------------------+-------------------+-------------------+-------------------+-------------------+
50| <Func>              |  Linux                                        | Windows           | MacOS             | Embedded          | GPU               |
51|                     +---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
52|                     | x86_64  | aarch64 | aarch32 | riscv64/riscv32 | x86_64  | aarch64 | x86_64  | aarch64 | aarch32 | riscv32 | AMD     | nVidia  |
53+=====================+=========+=========+=========+=================+=========+=========+=========+=========+=========+=========+=========+=========+
54| asctime             | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
55+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
56| asctime_r           | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
57+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
58| ctime               | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
59+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
60| ctime_r             | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
61+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
62| clock               | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
63+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
64| clock_getcpuclockid |         |         |         |                 |         |         |         |         |         |         |         |         |
65+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
66| clock_getres        |         |         |         |                 |         |         |         |         |         |         |         |         |
67+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
68| clock_gettime       | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
69+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
70| clock_nanosleep     |         |         |         |                 |         |         |         |         |         |         |         |         |
71+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
72| clock_settime       |         |         |         |                 |         |         |         |         |         |         |         |         |
73+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
74| ctime               |         |         |         |                 |         |         |         |         |         |         |         |         |
75+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
76| ctime_r             |         |         |         |                 |         |         |         |         |         |         |         |         |
77+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
78| difftime            | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
79+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
80| getdate             |         |         |         |                 |         |         |         |         |         |         |         |         |
81+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
82| gettimeofday        | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
83+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
84| gmtime              | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
85+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
86| gmtime_r            | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
87+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
88| localtime           |         |         |         |                 |         |         |         |         |         |         |         |         |
89+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
90| localtime_r         |         |         |         |                 |         |         |         |         |         |         |         |         |
91+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
92| mktime              | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
93+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
94| nanosleep           | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
95+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
96| strftime            |         |         |         |                 |         |         |         |         |         |         |         |         |
97+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
98| strptime            |         |         |         |                 |         |         |         |         |         |         |         |         |
99+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
100| time                | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
101+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
102| timer_create        |         |         |         |                 |         |         |         |         |         |         |         |         |
103+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
104| timer_delete        |         |         |         |                 |         |         |         |         |         |         |         |         |
105+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
106| timer_gettime       |         |         |         |                 |         |         |         |         |         |         |         |         |
107+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
108| timer_getoverrun    |         |         |         |                 |         |         |         |         |         |         |         |         |
109+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
110| timer_settime       |         |         |         |                 |         |         |         |         |         |         |         |         |
111+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
112| tzset               |         |         |         |                 |         |         |         |         |         |         |         |         |
113+---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
114