1 // SPDX-License-Identifier: GPL-2.0 or later
2 /*
3  *  Copyright (c) Zilogic Systems Pvt. Ltd., 2018
4  *  Email : code@zilogic.com
5  */
6 
7 #include <time.h>
8 #include "tst_test.h"
9 
safe_clock_getres(const char * file,const int lineno,clockid_t clk_id,struct timespec * res)10 static inline void safe_clock_getres(const char *file, const int lineno,
11 	clockid_t clk_id, struct timespec *res)
12 {
13 	int rval;
14 
15 	rval = clock_getres(clk_id, res);
16 	if (rval != 0)
17 		tst_brk(TBROK | TERRNO,
18 			"%s:%d clock_getres() failed", file, lineno);
19 
20 }
21 
safe_clock_gettime(const char * file,const int lineno,clockid_t clk_id,struct timespec * tp)22 static inline void safe_clock_gettime(const char *file, const int lineno,
23 	clockid_t clk_id, struct timespec *tp)
24 {
25 	int rval;
26 
27 	rval = clock_gettime(clk_id, tp);
28 	if (rval != 0)
29 		tst_brk(TBROK | TERRNO,
30 			"%s:%d clock_gettime() failed", file, lineno);
31 }
32 
33 #define SAFE_CLOCK_GETRES(clk_id, res)\
34 	safe_clock_getres(__FILE__, __LINE__, (clk_id), (res))
35 
36 #define SAFE_CLOCK_GETTIME(clk_id, tp)\
37 	safe_clock_gettime(__FILE__, __LINE__, (clk_id), (tp))
38 
39