From f7b85f18bda0e56e261bcb415bf7c632a51b420b Mon Sep 17 00:00:00 2001 From: Lephenixnoir Date: Fri, 31 Dec 2021 19:48:43 +0100 Subject: [PATCH] time: do not depend on gint headers They're usually not installed yet --- src/libc/time/target/gint/clock.c | 8 +++++--- src/libc/time/target/gint/time.c | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/libc/time/target/gint/clock.c b/src/libc/time/target/gint/clock.c index abcec26..a284ef2 100644 --- a/src/libc/time/target/gint/clock.c +++ b/src/libc/time/target/gint/clock.c @@ -1,6 +1,7 @@ #include -#include -#include +#include + +uint32_t rtc_ticks(void); static clock_t clock_init; @@ -9,7 +10,8 @@ static clock_t clock_abs(void) return (CLOCKS_PER_SEC * (uint64_t)rtc_ticks()) / 128; } -GCONSTRUCTOR static void clock_initialize(void) +__attribute__((constructor)) +static void clock_initialize(void) { clock_init = clock_abs(); } diff --git a/src/libc/time/target/gint/time.c b/src/libc/time/target/gint/time.c index 34ce854..69594d2 100644 --- a/src/libc/time/target/gint/time.c +++ b/src/libc/time/target/gint/time.c @@ -1,5 +1,19 @@ #include -#include + +typedef struct +{ + uint16_t year; + uint8_t week_day; + uint8_t month; + uint8_t month_day; + uint8_t hours; + uint8_t minutes; + uint8_t seconds; + uint8_t ticks; + +} rtc_time_t; + +void rtc_get_time(rtc_time_t *time); time_t time(time_t *timeptr) {