struct hosttbl;
struct netinfo;
struct sockaddr_in;
struct timeval;
struct tsp;
struct hosttbl *addmach(char *, struct sockaddr_in *, struct netinfo *);
struct hosttbl *findhost(char *);
struct hosttbl *remmach(struct hosttbl *);
struct tsp *readmsg(int, char *, struct timeval *, struct netinfo *);
struct tsp *acksend(struct tsp *,
struct sockaddr_in *, char *, int, struct netinfo *, int);
void addnetname(char *);
void adj_msg_time(struct tsp *, struct timeval *);
void bytehostorder(struct tsp *);
void bytenetorder(struct tsp *);
void byteorder(struct tsp *);
long casual(long, long);
int cksum(u_short *, int);
void correct(long);
char *date(void);
void doquit(struct tsp *);
int election(struct netinfo *);
void get_goodgroup(int);
int good_host_name(char *);
void ignoreack(void);
int in_cksum(const void *, int);
void lookformaster(struct netinfo *);
void makeslave(struct netinfo *);
void master(void) __dead;
void masterack(void);
void masterup(struct netinfo *);
int measure(u_long, u_long, const char *, const struct sockaddr_in *, int);
void msterup(struct netinfo *);
void mstotvround(struct timeval *, long);
long networkdelta(void);
void newslave(struct tsp *);
void print(struct tsp *, struct sockaddr_in *);
void prthp(clock_t);
void rmnetmachs(struct netinfo *);
void setstatus(void);
void slave(void) __dead;
void slaveack(void);
void spreadtime(void);
void suppress(struct sockaddr_in *, char *, struct netinfo *);
void synch(long);
void traceoff(const char *);
void traceon(void);
void xmit(int, u_short, struct sockaddr_in *);
void set_tsp_name(struct tsp *, const char *);
void get_tsp_name(const struct tsp *, char *, size_t);
void update_time(struct timeval *, const struct tsp *);
int sendtsp(int , struct tsp *, struct sockaddr_in *);