1/*  Copyright (C) 1996 N.M. Maclaren
2    Copyright (C) 1996 The University of Cambridge
3
4This includes all of the 'safe' headers and definitions used across modules.
5No changes should be needed for any system that is even remotely like Unix. */
6
7
8
9#include <ctype.h>
10#include <errno.h>
11#include <stdio.h>
12#include <stdlib.h>
13#include <string.h>
14#include <time.h>
15
16
17
18#define MAX_SOCKETS        10          /* Maximum number of addresses */
19
20#ifndef LOCKNAME
21#    define LOCKNAME "/etc/sntp.pid"  /* Stores the pid */
22#endif
23#ifndef SAVENAME
24#    define SAVENAME "/etc/sntp.state" /* Stores the recovery state */
25#endif
26
27#define DEBUG
28
29
30
31/* Defined in main.c */
32
33#define op_client           1          /* Behave as a challenge client */
34#define op_listen           2          /* Behave as a listening client */
35
36/* extern const char *argv0;
37
38extern int verbose, operation;
39
40extern const char *lockname;
41
42extern void fatal (int syserr, const char *message, const char *insert);
43
44
45
46 Defined in unix.c */
47
48extern void do_nothing (int seconds);
49
50extern int ftty (FILE *file);
51
52extern void set_lock (int lock);
53
54extern void log_message (const char *message);
55
56
57
58/* Defined in internet.c */
59
60/* extern void find_address (struct in_addr *address, int *port, char *hostname,
61    int timespan); */
62
63#define PREF_FAM_INET	1
64#define PREF_FAM_INET6	2
65extern void preferred_family(int);
66
67
68/* Defined in socket.c */
69
70extern void open_socket (int which, char *hostnames, int timespan);
71
72extern void write_socket (int which, void *packet, int length);
73
74extern int read_socket (int which, void *packet, int length, int waiting);
75
76extern int flush_socket (int which);
77
78/* extern void close_socket (int which); */
79
80
81
82/* Defined in timing.c */
83
84extern double current_time (double offset);
85
86extern time_t convert_time (double value, int *millisecs);
87
88extern void adjust_time (double difference, int immediate, double ignore);
89