1 #pragma once
2 
3 #include <stddef.h>
4 
5 #if defined(__cplusplus)
6 extern  "C"  {
7 #endif
8 
9 // 操作系统定义时间以ns为单位
10 #define CLOCKS_PER_SEC 1000000
11 
12 struct tm
13 {
14     int tm_sec;   /* Seconds.	[0-60] (1 leap second) */
15     int tm_min;   /* Minutes.	[0-59] */
16     int tm_hour;  /* Hours.	[0-23] */
17     int tm_mday;  /* Day.		[1-31] */
18     int tm_mon;   /* Month.	[0-11] */
19     int tm_year;  /* Year	- 1900.  */
20     int tm_wday;  /* Day of week.	[0-6] */
21     int tm_yday;  /* Days in year.[0-365]	*/
22     int tm_isdst; /* DST.		[-1/0/1]*/
23 
24     long int __tm_gmtoff;  /* Seconds east of UTC.  */
25     const char *__tm_zone; /* Timezone abbreviation.  */
26 };
27 
28 
29 struct timespec
30 {
31     long int tv_sec;    // 秒
32     long int tv_nsec;   // 纳秒
33 };
34 
35 /**
36  * @brief 休眠指定时间
37  *
38  * @param rqtp 指定休眠的时间
39  * @param rmtp 返回的剩余休眠时间
40  * @return int
41  */
42 int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
43 
44 /**
45  * @brief 获取系统当前cpu时间
46  *
47  * @return clock_t
48  */
49 clock_t clock();
50 
51 #if defined(__cplusplus)
52 }  /* extern "C" */
53 #endif
54