simplify (and document!) macro for inlinable API functions (inspired by bug #4603...
[asterisk/asterisk.git] / include / asterisk / time.h
1 /*
2  * Asterisk -- A telephony toolkit for Linux.
3  *
4  * Time-related functions and macros
5  *
6  * Copyright (C) 2004 - 2005, Digium, Inc.
7  *
8  * This program is free software, distributed under the terms of
9  * the GNU General Public License
10  */
11
12 #ifndef _ASTERISK_TIME_H
13 #define _ASTERISK_TIME_H
14
15 #include <sys/time.h>
16
17 #include "asterisk/inline_api.h"
18
19 /*!
20  * \brief Computes the difference (in milliseconds) between two \c struct \c timeval instances.
21  * \param end the beginning of the time period
22  * \param start the end of the time period
23  * \return the difference in milliseconds
24  */
25 AST_INLINE_API(
26 int ast_tvdiff_ms(const struct timeval *end, const struct timeval *start),
27 {
28         return ((end->tv_sec - start->tv_sec) * 1000) + ((end->tv_usec - start->tv_usec) / 1000);
29 }
30 )
31
32 #endif /* _ASTERISK_TIME_H */