move timeval-diff function into utils.h from app_alarmreceiver.c

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kevin P. Fleming 2005-06-09 14:39:34 +00:00
parent f70c5e190b
commit e18a747172
2 changed files with 14 additions and 15 deletions

View File

@ -218,20 +218,6 @@ static int send_tone_burst(struct ast_channel *chan, float freq, int duration, i
return res;
}
/*
* Return the difference in milliseconds between two timeval structs
*/
static int ms_diff(struct timeval *tv1, struct timeval *tv2){
int ms;
ms = (tv1->tv_sec - tv2->tv_sec) * 1000;
ms += (tv1->tv_usec - tv2->tv_usec) / 1000;
return(ms);
}
/*
* Receive a string of DTMF digits where the length of the digit string is known in advance. Do not give preferential
* treatment to any digit value, and allow separate time out values to be specified for the first digit and all subsequent
@ -256,7 +242,7 @@ static int receive_dtmf_digits(struct ast_channel *chan, char *digit_string, int
gettimeofday(&now,NULL);
/* if outa time, leave */
if (ms_diff(&now,&lastdigittime) >
if (ast_tvdiff_ms(&lastdigittime, &now) >
((i > 0) ? sdto : fdto)){
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: DTMF Digit Timeout on %s\n", chan->name);

View File

@ -247,4 +247,17 @@ void ast_copy_string(char *dst, const char *src, size_t size);
*/
int ast_build_string(char **buffer, size_t *space, const char *fmt, ...) __attribute__ ((format (printf, 3, 4)));
/* functions for working with 'struct timeval' instances */
/*!
* \brief Computes the difference (in milliseconds) between two \c struct \c timeval instances.
* \param start the beginning of the time period
* \param end the end of the time period
* \return the difference in milliseconds
*/
static inline int ast_tvdiff_ms(struct timeval *start, struct timeval *end)
{
return ((end->tv_sec - start->tv_sec) * 1000) + ((end->tv_usec - start->tv_usec) / 1000);
}
#endif /* _ASTERISK_UTILS_H */