2018-10-14 19:28:18 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*
|
|
|
|
* Change Logs:
|
|
|
|
* Date Author Notes
|
|
|
|
*/
|
2015-05-04 20:35:28 +08:00
|
|
|
#ifndef _SYS_TIME_H_
|
|
|
|
#define _SYS_TIME_H_
|
|
|
|
|
|
|
|
#include <time.h>
|
|
|
|
#include <sys/types.h>
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef _TIMEVAL_DEFINED
|
|
|
|
#define _TIMEVAL_DEFINED
|
|
|
|
/*
|
|
|
|
* Structure returned by gettimeofday(2) system call,
|
|
|
|
* and used in other calls.
|
|
|
|
*/
|
|
|
|
struct timeval {
|
|
|
|
long tv_sec; /* seconds */
|
|
|
|
long tv_usec; /* and microseconds */
|
|
|
|
};
|
|
|
|
#endif /* _TIMEVAL_DEFINED */
|
|
|
|
|
2018-05-14 00:12:29 +08:00
|
|
|
/*
|
|
|
|
* Skip define timespec for IAR version over 8.10.1 where __VER__ is 8010001.
|
|
|
|
*/
|
|
|
|
#if defined ( __ICCARM__ ) && (__VER__ >= 8010001)
|
2018-01-10 10:54:45 +08:00
|
|
|
#define _TIMESPEC_DEFINED
|
|
|
|
#endif
|
|
|
|
|
2015-05-04 20:35:28 +08:00
|
|
|
#ifndef _TIMESPEC_DEFINED
|
|
|
|
#define _TIMESPEC_DEFINED
|
|
|
|
/*
|
|
|
|
* Structure defined by POSIX.1b to be like a timeval.
|
|
|
|
*/
|
|
|
|
struct timespec {
|
|
|
|
time_t tv_sec; /* seconds */
|
|
|
|
long tv_nsec; /* and nanoseconds */
|
|
|
|
};
|
|
|
|
#endif /* _TIMESPEC_DEFINED */
|
|
|
|
|
|
|
|
struct timezone {
|
|
|
|
int tz_minuteswest; /* minutes west of Greenwich */
|
|
|
|
int tz_dsttime; /* type of dst correction */
|
|
|
|
};
|
|
|
|
|
|
|
|
int gettimeofday(struct timeval *tp, void *ignore);
|
2018-10-26 11:03:55 +08:00
|
|
|
struct tm *gmtime_r(const time_t *timep, struct tm *r);
|
2015-05-04 20:35:28 +08:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* _SYS_TIME_H_ */
|