127989a8eSAntonio Nino Diaz /* 227989a8eSAntonio Nino Diaz * Copyright (c) 2012-2017 Roberto E. Vargas Caballero 327989a8eSAntonio Nino Diaz * 427989a8eSAntonio Nino Diaz * SPDX-License-Identifier: BSD-3-Clause 527989a8eSAntonio Nino Diaz */ 6*7c0ff9c4SAntonio Nino Diaz /* 7*7c0ff9c4SAntonio Nino Diaz * Portions copyright (c) 2018, ARM Limited and Contributors. 8*7c0ff9c4SAntonio Nino Diaz * All rights reserved. 9*7c0ff9c4SAntonio Nino Diaz */ 1027989a8eSAntonio Nino Diaz 1127989a8eSAntonio Nino Diaz #ifndef _TIME_H 1227989a8eSAntonio Nino Diaz #define _TIME_H 1327989a8eSAntonio Nino Diaz 14*7c0ff9c4SAntonio Nino Diaz #include <time_.h> 1527989a8eSAntonio Nino Diaz 1627989a8eSAntonio Nino Diaz #ifndef NULL 1727989a8eSAntonio Nino Diaz #define NULL ((void *) 0) 1827989a8eSAntonio Nino Diaz #endif 1927989a8eSAntonio Nino Diaz 2027989a8eSAntonio Nino Diaz #define CLOCKS_PER_SEC 1000000 2127989a8eSAntonio Nino Diaz 2227989a8eSAntonio Nino Diaz typedef long int clock_t; 2327989a8eSAntonio Nino Diaz 2427989a8eSAntonio Nino Diaz struct tm { 2527989a8eSAntonio Nino Diaz int tm_sec; 2627989a8eSAntonio Nino Diaz int tm_min; 2727989a8eSAntonio Nino Diaz int tm_hour; 2827989a8eSAntonio Nino Diaz int tm_mday; 2927989a8eSAntonio Nino Diaz int tm_mon; 3027989a8eSAntonio Nino Diaz int tm_year; 3127989a8eSAntonio Nino Diaz int tm_wday; 3227989a8eSAntonio Nino Diaz int tm_yday; 3327989a8eSAntonio Nino Diaz int tm_isdst; 3427989a8eSAntonio Nino Diaz }; 3527989a8eSAntonio Nino Diaz 3627989a8eSAntonio Nino Diaz extern clock_t clock(void); 3727989a8eSAntonio Nino Diaz extern double difftime(time_t time1, time_t time0); 3827989a8eSAntonio Nino Diaz extern time_t mktime(struct tm *timeptr); 3927989a8eSAntonio Nino Diaz extern time_t time(time_t *timer); 4027989a8eSAntonio Nino Diaz extern char *asctime(const struct tm *timeptr); 4127989a8eSAntonio Nino Diaz extern char *ctime(const time_t *timer); 4227989a8eSAntonio Nino Diaz extern struct tm *gmtime(const time_t *timer); 4327989a8eSAntonio Nino Diaz extern struct tm *localtime(const time_t *timer); 4427989a8eSAntonio Nino Diaz extern size_t strftime(char * restrict s, size_t maxsize, 4527989a8eSAntonio Nino Diaz const char * restrict format, 4627989a8eSAntonio Nino Diaz const struct tm * restrict timeptr); 4727989a8eSAntonio Nino Diaz 4827989a8eSAntonio Nino Diaz #endif 49