mcu_hi3321_watch/kernel/freertos/utils/libc/xlt/include/time64.h
2025-05-26 20:15:20 +08:00

109 lines
2.4 KiB
C

#ifndef _HW_TIME64_H_
#define _HW_TIME64_H_
#if defined(__LP64__)
#error Your time_t is already 64-bit.
#else
#include <sys/time.h>
#include <time.h>
#include <stdint.h>
#if defined(__XLT_OS__) && !defined(__LP64___)
#include <bits/alltypes.h>
#endif /* __XLT_OS__ && !__LP64___ */
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif
#if defined(__XLT_OS__) && !defined(__LP64___)
#ifndef __NEED_int64_t
#define __NEED_int64_t
#endif
struct timeval64 {
int64_t tv_sec;
int64_t tv_usec;
};
struct timespec64 {
int64_t tv_sec;
int64_t tv_nsec;
};
/**
* @ingroup time
* @par Description:
* This function sets the time as well as a timezone in 32-bit system.
*
* @attention
* <ul>
* <li>The function is not supported to set timezone,So the second parameter is unused</li>
* </ul>
*
* @retval #0 The function is executed successfully.
* @retval #-1 The function failed to execute, and corresponding error code is set.
*
* @par Errors
* <ul>
* <li><b>EINVAL</b>: An invalid Input.</li>
* </ul>
*
* @par Dependency:
* <ul><li>time64.h</li></ul>
*
* @see clock_gettime | time | ctime
*/
int settimeofday64(const struct timeval64 *, const struct timezone *);
/**
* @ingroup time
* @par Description:
* This function gets the time as well as a timezone in 32-bit system.
*
* @attention
* <ul>
* <li>The function is not supported to get timezone,So the second parameter is unused</li>
* </ul>
*
* @retval #0 The function is executed successfully.
* @retval #-1 The function failed to execute, and corresponding error code is set.
*
* @par Errors
* <ul>
* <li><b>EINVAL</b>: An invalid Input.</li>
* </ul>
*
* @par Dependency:
* <ul><li>time64.h</li></ul>
*
* @see clock_gettime | time | ctime
*/
int gettimeofday64(struct timeval64 *, struct timezone *);
#endif
typedef int64_t time64_t;
char *asctime64(const struct tm *);
char *asctime64_r(const struct tm *, char *);
char *ctime64(const time64_t *);
char *ctime64_r(const time64_t *, char *);
struct tm *gmtime64(const time64_t *);
struct tm *gmtime64_r(const time64_t *, struct tm *);
struct tm *localtime64(const time64_t *);
struct tm *localtime64_r(const time64_t *, struct tm *);
time64_t mktime64(struct tm *);
time64_t timegm64(const struct tm *);
time64_t timelocal64(const struct tm *);
#ifdef __cplusplus
#if __cplusplus
}
#endif /* __cplusplus */
#endif /* __cplusplus */
#endif /* __LP64__ */
#endif /* _HW_TIME64_H_ */