NAS EPS: upgrade dissector to v15.4.0
[metze/wireshark/wip.git] / epan / timestats.h
1 /* timestats.h
2  * Routines and definitions for time statistics
3  * Copyright 2003 Lars Roland
4  *
5  * Wireshark - Network traffic analyzer
6  * By Gerald Combs <gerald@wireshark.org>
7  * Copyright 1998 Gerald Combs
8  *
9  * SPDX-License-Identifier: GPL-2.0-or-later
10  */
11
12 #ifndef __TIMESTATS_H__
13 #define __TIMESTATS_H__
14
15 #include <glib.h>
16 #include "epan/packet_info.h"
17 #include "wsutil/nstime.h"
18
19 #ifdef __cplusplus
20 extern "C" {
21 #endif /* __cplusplus */
22
23  /* Summary of time statistics*/
24 typedef struct _timestat_t {
25         guint32 num;     /* number of samples */
26         guint32 min_num; /* frame number of minimum */
27         guint32 max_num; /* frame number of maximum */
28         nstime_t min;
29         nstime_t max;
30         nstime_t tot;
31         gdouble variance;
32 } timestat_t;
33
34 /* functions */
35
36 /* Initialize a timestat_t struct */
37 WS_DLL_PUBLIC void time_stat_init(timestat_t *stats);
38
39 /* Update a timestat_t struct with a new sample */
40 WS_DLL_PUBLIC void time_stat_update(timestat_t *stats, const nstime_t *delta, packet_info *pinfo);
41
42 WS_DLL_PUBLIC gdouble get_average(const nstime_t *sum, guint32 num);
43
44 #ifdef __cplusplus
45 }
46 #endif /* __cplusplus */
47
48 #endif /* __TIMESTATS_H__ */