xref: /openbmc/linux/tools/include/nolibc/time.h (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1cec15053SWilly Tarreau /* SPDX-License-Identifier: LGPL-2.1 OR MIT */
2cec15053SWilly Tarreau /*
3cec15053SWilly Tarreau  * time function definitions for NOLIBC
4cec15053SWilly Tarreau  * Copyright (C) 2017-2022 Willy Tarreau <w@1wt.eu>
5cec15053SWilly Tarreau  */
6cec15053SWilly Tarreau 
7cec15053SWilly Tarreau #ifndef _NOLIBC_TIME_H
8cec15053SWilly Tarreau #define _NOLIBC_TIME_H
9cec15053SWilly Tarreau 
10cec15053SWilly Tarreau #include "std.h"
11cec15053SWilly Tarreau #include "arch.h"
12cec15053SWilly Tarreau #include "types.h"
13cec15053SWilly Tarreau #include "sys.h"
14cec15053SWilly Tarreau 
15cec15053SWilly Tarreau static __attribute__((unused))
time(time_t * tptr)16cec15053SWilly Tarreau time_t time(time_t *tptr)
17cec15053SWilly Tarreau {
18cec15053SWilly Tarreau 	struct timeval tv;
19cec15053SWilly Tarreau 
20cec15053SWilly Tarreau 	/* note, cannot fail here */
21cec15053SWilly Tarreau 	sys_gettimeofday(&tv, NULL);
22cec15053SWilly Tarreau 
23cec15053SWilly Tarreau 	if (tptr)
24cec15053SWilly Tarreau 		*tptr = tv.tv_sec;
25cec15053SWilly Tarreau 	return tv.tv_sec;
26cec15053SWilly Tarreau }
27cec15053SWilly Tarreau 
28*55abdd1fSWilly Tarreau /* make sure to include all global symbols */
29*55abdd1fSWilly Tarreau #include "nolibc.h"
30*55abdd1fSWilly Tarreau 
31cec15053SWilly Tarreau #endif /* _NOLIBC_TIME_H */
32