DragonOS/kernel/common/time.h

53 lines
1.1 KiB
C
Raw Normal View History

2022-07-12 04:01:51 +00:00
#pragma once
#include "stddef.h"
// 操作系统定义时间以ns为单位
#define CLOCKS_PER_SEC 1000000
struct tm
{
int tm_sec; /* Seconds. [0-60] (1 leap second) */
int tm_min; /* Minutes. [0-59] */
int tm_hour; /* Hours. [0-23] */
int tm_mday; /* Day. [1-31] */
int tm_mon; /* Month. [0-11] */
int tm_year; /* Year - 1900. */
int tm_wday; /* Day of week. [0-6] */
int tm_yday; /* Days in year.[0-365] */
int tm_isdst; /* DST. [-1/0/1]*/
long int __tm_gmtoff; /* Seconds east of UTC. */
const char *__tm_zone; /* Timezone abbreviation. */
};
struct timespec
{
long int tv_sec; // 秒
long long tv_nsec; // 纳秒
2022-07-12 04:01:51 +00:00
};
/**
* @brief
*
* @param rqtp
* @param rmtp
* @return int
*/
2022-07-12 05:20:01 +00:00
extern int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
2022-07-18 13:19:45 +00:00
/**
* @brief
*
* @param usec
* @return int
*/
extern int usleep(useconds_t usec);
2022-07-12 05:20:01 +00:00
/**
* @brief CPU时间
*
* @return uint64_t timer_jiffies
*/
extern uint64_t clock();