net-tools/includes/internal/ping/stats.h
2026-03-17 09:38:38 -05:00

20 lines
482 B
C

#ifndef PING_STATS_H
#define PING_STATS_H
#include <stdint.h>
#include <stddef.h>
struct ping_stats {
int64_t min_ns;
int64_t max_ns;
int64_t sum_ns;
int64_t sum_sq_ns; /* sum of (rtt_ns / 1000)^2 in us^2, to avoid overflow */
size_t count;
};
void ping_stats_init(struct ping_stats *s);
void ping_stats_update(struct ping_stats *s, int64_t rtt_ns);
void ping_stats_get(const struct ping_stats *s, double *min_ms, double *max_ms,
double *avg_ms, double *mdev_ms);
#endif