a92e1f91e6f739c098043483b57acb2cbd22bb17
[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 /*!
18  * \brief Computes the difference (in milliseconds) between two \c struct \c timeval instances.
19  * \param start the beginning of the time period
20  * \param end the end of the time period
21  * \return the difference in milliseconds
22  */
23 int ast_tvdiff_ms(const struct timeval *start, const struct timeval *end);
24 #if !defined(LOW_MEMORY) && !defined(AST_API_MODULE)
25 extern inline
26 #endif
27 #if !defined(LOW_MEMORY) || defined(AST_API_MODULE)
28 int ast_tvdiff_ms(const struct timeval *start, const struct timeval *end)
29 {
30         return ((end->tv_sec - start->tv_sec) * 1000) + ((end->tv_usec - start->tv_usec) / 1000);
31 }
32 #endif
33
34 #undef AST_API_MODULE
35 #endif /* _ASTERISK_TIME_H */