Line data Source code
1 : /* timespec -- System time interface
2 :
3 : Copyright (C) 2000, 2002, 2004, 2005, 2007 Free Software Foundation, Inc.
4 :
5 : This program is free software: you can redistribute it and/or modify
6 : it under the terms of the GNU General Public License as published by
7 : the Free Software Foundation; either version 3 of the License, or
8 : (at your option) any later version.
9 :
10 : This program is distributed in the hope that it will be useful,
11 : but WITHOUT ANY WARRANTY; without even the implied warranty of
12 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 : GNU General Public License for more details.
14 :
15 : You should have received a copy of the GNU General Public License
16 : along with this program. If not, see <http://www.gnu.org/licenses/>. */
17 :
18 : #if ! defined TIMESPEC_H
19 : # define TIMESPEC_H
20 :
21 : # include <time.h>
22 :
23 : /* Return negative, zero, positive if A < B, A == B, A > B, respectively.
24 : Assume the nanosecond components are in range, or close to it. */
25 : static inline int
26 969638 : timespec_cmp (struct timespec a, struct timespec b)
27 : {
28 969638 : return (a.tv_sec < b.tv_sec ? -1
29 1231195 : : a.tv_sec > b.tv_sec ? 1
30 261557 : : a.tv_nsec - b.tv_nsec);
31 : }
32 :
33 : void gettime (struct timespec *);
34 : int settime (struct timespec const *);
35 :
36 : #endif
|