3 * - static inline functions for doing arithmetic on timevals
6 * This file is part of adns, which is Copyright Ian Jackson
7 * and contributors (see the file INSTALL for full details).
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 3, or (at your option)
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software Foundation.
23 #ifndef ADNS_TVARITH_H_INCLUDED
24 #define ADNS_TVARITH_H_INCLUDED
26 static inline void timevaladd(struct timeval *tv_io, long ms) {
30 tmp.tv_usec += (ms%1000)*1000;
31 tmp.tv_sec += ms/1000;
32 if (tmp.tv_usec >= 1000000) { tmp.tv_sec++; tmp.tv_usec -= 1000000; }