libnetbsd: add math.h and sys/time.h

- `math.h`: `isinff(..)`
- `sys/time.h`: `timespec*(x)`

These two headers are used by tests in newer snapshots of
`contrib/netbsd-tests`.

MFC after:	1 week
This commit is contained in:
Enji Cooper
2026-02-25 15:19:56 -08:00
parent 42ab99095b
commit 2a6c2d9c38
2 changed files with 49 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
/*-
* SPDX-License-Identifier: BSD-2-Clause
*
* Copyright (c) 2026 Enji Cooper
*/
#ifndef __LIBNETBSD_MATH_H__
#define __LIBNETBSD_MATH_H__
#include_next <math.h>
#define isinff(x) __isinff(x)
#endif
+35
View File
@@ -0,0 +1,35 @@
/*-
* SPDX-License-Identifier: BSD-2-Clause
*
* Copyright (c) 2026 Enji Cooper
*/
#ifndef _LIBNETBSD_SYS_TIME_H_
#define _LIBNETBSD_SYS_TIME_H_
#include_next <sys/time.h>
#define timercmp(tvp, uvp, cmp) \
(((tvp)->tv_sec == (uvp)->tv_sec) ? \
((tvp)->tv_usec cmp (uvp)->tv_usec) : \
((tvp)->tv_sec cmp (uvp)->tv_sec))
#define timespecadd(tsp, usp, vsp) \
do { \
(vsp)->tv_sec = (tsp)->tv_sec + (usp)->tv_sec; \
(vsp)->tv_nsec = (tsp)->tv_nsec + (usp)->tv_nsec; \
if ((vsp)->tv_nsec >= 1000000000L) { \
(vsp)->tv_sec++; \
(vsp)->tv_nsec -= 1000000000L; \
} \
} while (0)
#define timespecsub(tsp, usp, vsp) \
do { \
(vsp)->tv_sec = (tsp)->tv_sec - (usp)->tv_sec; \
(vsp)->tv_nsec = (tsp)->tv_nsec - (usp)->tv_nsec; \
if ((vsp)->tv_nsec < 0) { \
(vsp)->tv_sec--; \
(vsp)->tv_nsec += 1000000000L; \
} \
} while (0)
#endif