lib: add mktime64() for linux compatibility

This function will be used  in lib/crypto/x509_cert_parser.c, which
will also be imported from linux code in a later commit.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
This commit is contained in:
AKASHI Takahiro 2019-11-13 09:44:50 +09:00 committed by Tom Rini
parent 05429b6cf5
commit 1872311727
2 changed files with 30 additions and 0 deletions

View file

@ -1,6 +1,7 @@
#ifndef _LINUX_TIME_H
#define _LINUX_TIME_H
#include <rtc.h>
#include <linux/types.h>
#define _DEFUN(a,b,c) a(c)
@ -150,4 +151,13 @@ _DEFUN (ctime_r, (tim_p, result),
return asctime_r (localtime_r (tim_p, &tm), result);
}
/* for compatibility with linux code */
typedef __s64 time64_t;
#ifdef CONFIG_LIB_DATE
time64_t mktime64(const unsigned int year, const unsigned int mon,
const unsigned int day, const unsigned int hour,
const unsigned int min, const unsigned int sec);
#endif
#endif

View file

@ -8,6 +8,7 @@
#include <command.h>
#include <errno.h>
#include <rtc.h>
#include <linux/time.h>
#if defined(CONFIG_LIB_DATE) || defined(CONFIG_TIMESTAMP)
@ -97,3 +98,22 @@ unsigned long rtc_mktime(const struct rtc_time *tm)
}
#endif /* CONFIG_LIB_DATE || CONFIG_TIMESTAMP */
#ifdef CONFIG_LIB_DATE
/* for compatibility with linux code */
time64_t mktime64(const unsigned int year, const unsigned int mon,
const unsigned int day, const unsigned int hour,
const unsigned int min, const unsigned int sec)
{
struct rtc_time time;
time.tm_year = year;
time.tm_mon = mon;
time.tm_mday = day;
time.tm_hour = hour;
time.tm_min = min;
time.tm_sec = sec;
return (time64_t)rtc_mktime((const struct rtc_time *)&time);
}
#endif