|
Packit |
b802ec |
/*
|
|
Packit |
b802ec |
mtr -- a network diagnostic tool
|
|
Packit |
b802ec |
Copyright (C) 1997,1998 Matt Kimball
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
This program is free software; you can redistribute it and/or modify
|
|
Packit |
b802ec |
it under the terms of the GNU General Public License version 2 as
|
|
Packit |
b802ec |
published by the Free Software Foundation.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
This program is distributed in the hope that it will be useful,
|
|
Packit |
b802ec |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
b802ec |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit |
b802ec |
GNU General Public License for more details.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
You should have received a copy of the GNU General Public License
|
|
Packit |
b802ec |
along with this program; if not, write to the Free Software
|
|
Packit |
b802ec |
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
Packit |
b802ec |
*/
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
/* Prototypes for functions in net.c */
|
|
Packit |
b802ec |
#include <sys/types.h>
|
|
Packit |
b802ec |
#include <netdb.h>
|
|
Packit |
b802ec |
#include <arpa/inet.h>
|
|
Packit |
b802ec |
#include <netinet/in.h>
|
|
Packit |
b802ec |
#include <sys/socket.h>
|
|
Packit |
b802ec |
#include <sys/select.h>
|
|
Packit |
b802ec |
#ifdef ENABLE_IPV6
|
|
Packit |
b802ec |
#include <netinet/ip6.h>
|
|
Packit |
b802ec |
#endif
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
#include <stdint.h>
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
#include "mtr.h"
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
extern int net_open(
|
|
Packit |
b802ec |
struct mtr_ctl *ctl,
|
|
Packit |
b802ec |
struct hostent *host);
|
|
Packit |
b802ec |
extern void net_reopen(
|
|
Packit |
b802ec |
struct mtr_ctl *ctl,
|
|
Packit |
b802ec |
struct hostent *address);
|
|
Packit |
b802ec |
extern void net_reset(
|
|
Packit |
b802ec |
struct mtr_ctl *ctl);
|
|
Packit |
b802ec |
extern void net_close(
|
|
Packit |
b802ec |
void);
|
|
Packit |
b802ec |
extern int net_waitfd(
|
|
Packit |
b802ec |
void);
|
|
Packit |
b802ec |
extern void net_process_return(
|
|
Packit |
b802ec |
struct mtr_ctl *ctl);
|
|
Packit |
b802ec |
extern void net_harvest_fds(
|
|
Packit |
b802ec |
struct mtr_ctl *ctl);
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
extern int net_max(
|
|
Packit |
b802ec |
struct mtr_ctl *ctl);
|
|
Packit |
b802ec |
extern int net_min(
|
|
Packit |
b802ec |
struct mtr_ctl *ctl);
|
|
Packit |
b802ec |
extern int net_last(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern ip_t *net_addr(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern void *net_mpls(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern void *net_mplss(
|
|
Packit |
b802ec |
int,
|
|
Packit |
b802ec |
int);
|
|
Packit |
b802ec |
extern int net_loss(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_drop(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_best(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_worst(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_avg(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_gmean(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_stdev(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_jitter(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_jworst(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_javg(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_jinta(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern ip_t *net_addrs(
|
|
Packit |
b802ec |
int at,
|
|
Packit |
b802ec |
int i);
|
|
Packit |
b802ec |
extern char *net_localaddr(
|
|
Packit |
b802ec |
void);
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
extern int net_send_batch(
|
|
Packit |
b802ec |
struct mtr_ctl *ctl);
|
|
Packit |
b802ec |
extern void net_end_transit(
|
|
Packit |
b802ec |
void);
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
extern int calc_deltatime(
|
|
Packit |
b802ec |
float WaitTime);
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
extern int net_returned(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern int net_xmit(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
extern int net_up(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
extern int *net_saved_pings(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern void net_save_xmit(
|
|
Packit |
b802ec |
int at);
|
|
Packit |
b802ec |
extern void net_save_return(
|
|
Packit |
b802ec |
int at,
|
|
Packit |
b802ec |
int seq,
|
|
Packit |
b802ec |
int ms);
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
extern int addrcmp(
|
|
Packit |
b802ec |
char *a,
|
|
Packit |
b802ec |
char *b,
|
|
Packit |
b802ec |
int af);
|
|
Packit |
b802ec |
extern void addrcpy(
|
|
Packit |
b802ec |
char *a,
|
|
Packit |
b802ec |
char *b,
|
|
Packit |
b802ec |
int af);
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
extern void net_add_fds(
|
|
Packit |
b802ec |
fd_set * writefd,
|
|
Packit |
b802ec |
int *maxfd);
|