32
27
extern void ctl_clr_stats P((void));
33
extern int ctlclrtrap P((struct sockaddr_in *, struct interface *, int));
28
extern int ctlclrtrap P((struct sockaddr_storage *, struct interface *, int));
34
29
extern u_short ctlpeerstatus P((struct peer *));
35
extern int ctlsettrap P((struct sockaddr_in *, struct interface *, int, int));
30
extern int ctlsettrap P((struct sockaddr_storage *, struct interface *, int, int));
36
31
extern u_short ctlsysstatus P((void));
37
32
extern void init_control P((void));
38
33
extern void process_control P((struct recvbuf *, int));
65
60
#define WO (CAN_WRITE)
66
61
#define RW (CAN_READ|CAN_WRITE)
68
extern char * add_var P((struct ctl_var **, unsigned long, int));
63
extern char * add_var P((struct ctl_var **, u_long, u_short));
69
64
extern void free_varlist P((struct ctl_var *));
70
extern void set_var P((struct ctl_var **, const char *, unsigned long, int));
71
extern void set_sys_var P((char *, unsigned long, int));
65
extern void set_var P((struct ctl_var **, const char *, u_long, u_short));
66
extern void set_sys_var P((char *, u_long, u_short));
74
extern void ntp_res_name P((u_int32, u_short));
69
extern void ntp_res_name P((struct sockaddr_storage, u_short));
75
70
extern void ntp_res_recv P((void));
76
71
extern void ntp_intres P((void));
79
extern struct interface *findinterface P((struct sockaddr_in *));
80
extern struct interface *findbcastinter P((struct sockaddr_in *));
74
extern struct interface *findinterface P((struct sockaddr_storage *));
75
extern struct interface *findbcastinter P((struct sockaddr_storage *));
82
77
extern void init_io P((void));
83
78
extern void input_handler P((l_fp *));
84
79
extern void io_clr_stats P((void));
85
80
extern void io_setbclient P((void));
86
81
extern void io_unsetbclient P((void));
87
extern void io_multicast_add P((u_int32));
88
extern void io_multicast_del P((u_int32));
89
extern void kill_asyncio P((void));
82
extern void io_multicast_add P((struct sockaddr_storage));
83
extern void io_multicast_del P((struct sockaddr_storage));
84
extern void kill_asyncio P((int));
91
extern void sendpkt P((struct sockaddr_in *, struct interface *, int, struct pkt *, int));
86
extern void sendpkt P((struct sockaddr_storage *, struct interface *, int, struct pkt *, int));
92
87
#ifdef HAVE_SIGNALED_IO
93
88
extern void wait_for_signal P((void));
94
89
extern void unblock_io_and_alarm P((void));
124
119
extern void init_peer P((void));
125
extern struct peer *findexistingpeer P((struct sockaddr_in *, struct peer *, int));
126
extern struct peer *findpeer P((struct sockaddr_in *, struct interface *, int, int, int *));
120
extern struct peer *findexistingpeer P((struct sockaddr_storage *, struct peer *, int));
121
extern struct peer *findpeer P((struct sockaddr_storage *, struct interface *, int, int, int *));
127
122
extern struct peer *findpeerbyassoc P((u_int));
128
extern struct peer *newpeer P((struct sockaddr_in *, struct interface *, int, int, int, int, u_int, u_int, int, keyid_t));
123
extern struct peer *newpeer P((struct sockaddr_storage *, struct interface *, int, int, int, int, u_int, u_char, int, keyid_t));
129
124
extern void peer_all_reset P((void));
130
125
extern void peer_clr_stats P((void));
131
extern struct peer *peer_config P((struct sockaddr_in *, struct interface *, int, int, int, int, u_int, int, keyid_t, u_char *));
126
extern struct peer *peer_config P((struct sockaddr_storage *, struct interface *, int, int, int, int, u_int, int, keyid_t, u_char *));
132
127
extern void peer_reset P((struct peer *));
133
extern int peer_unconfig P((struct sockaddr_in *, struct interface *, int));
128
extern int peer_unconfig P((struct sockaddr_storage *, struct interface *, int));
134
129
extern void unpeer P((struct peer *));
135
130
extern void clear_all P((void));
137
132
extern void expire_all P((void));
139
134
extern struct peer *findmanycastpeer P((struct recvbuf *));
140
135
extern void resetmanycast P((void));
139
extern int crypto_recv P((struct peer *, struct recvbuf *));
140
extern int crypto_xmit P((struct pkt *, struct sockaddr_storage *, int, struct exten *, keyid_t));
141
extern keyid_t session_key P((struct sockaddr_storage *, struct sockaddr_storage *, keyid_t, keyid_t, u_long));
142
extern void make_keylist P((struct peer *, struct interface *));
143
extern void key_expire P((struct peer *));
144
extern void crypto_update P((void));
145
extern void crypto_config P((int, char *));
146
extern void crypto_setup P((void));
147
extern u_int crypto_ident P((struct peer *));
148
extern struct exten *crypto_args P((struct peer *, u_int, char *));
149
extern int crypto_public P((struct peer *, u_char *, u_int));
150
extern void value_free P((struct value *));
142
153
/* ntp_proto.c */
143
154
extern void transmit P((struct peer *));
144
155
extern void receive P((struct recvbuf *));
145
extern void peer_clear P((struct peer *));
156
extern void peer_clear P((struct peer *, char *));
146
157
extern void process_packet P((struct peer *, struct pkt *, l_fp *));
147
158
extern void clock_select P((void));
159
extern void kod_proto P((void));
150
162
* there seems to be a bug in the IRIX 4 compiler which prevents
176
188
/* ntp_restrict.c */
177
189
extern void init_restrict P((void));
178
extern int restrictions P((struct sockaddr_in *));
179
extern void hack_restrict P((int, struct sockaddr_in *, struct sockaddr_in *, int, int));
190
extern int restrictions P((struct sockaddr_storage *));
191
extern void hack_restrict P((int, struct sockaddr_storage *, struct sockaddr_storage *, int, int));
181
193
/* ntp_timer.c */
182
194
extern void init_timer P((void));
195
extern void reinit_timer P((void));
183
196
extern void timer P((void));
184
197
extern void timer_clr_stats P((void));
186
199
extern char *sys_hostname;
187
200
extern l_fp sys_revoketime;
191
204
extern void init_util P((void));
192
205
extern void hourly_stats P((void));
193
206
extern void stats_config P((int, char *));
194
extern void record_peer_stats P((struct sockaddr_in *, int, double, double, double, double));
207
extern void record_peer_stats P((struct sockaddr_storage *, int, double, double, double, double));
195
208
extern void record_loop_stats P((double, double, double, double, int));
196
extern void record_clock_stats P((struct sockaddr_in *, const char *));
197
extern void record_raw_stats P((struct sockaddr_in *, struct sockaddr_in *, l_fp *, l_fp *, l_fp *, l_fp *));
209
extern void record_clock_stats P((struct sockaddr_storage *, const char *));
210
extern void record_raw_stats P((struct sockaddr_storage *, struct sockaddr_storage *, l_fp *, l_fp *, l_fp *, l_fp *));
211
extern void record_sys_stats P((void));
212
extern void record_crypto_stats P((struct sockaddr_storage *, const char *));
213
extern int sock_hash P((struct sockaddr_storage *));
200
216
* Variable declarations for ntpd.
284
301
extern int pps_enable; /* kernel PPS discipline enabled */
285
302
extern int ext_enable; /* external clock enabled */
286
303
extern int cal_enable; /* refclock calibrate enable */
287
extern int allow_step; /* allow step correction */
288
304
extern int allow_panic; /* allow panic correction */
289
305
extern int mode_ntpdate; /* exit on first clock set */
290
306
extern int peer_ntpdate; /* count of ntpdate peers */
307
extern int forground_process; /* run the process in the forground */
293
310
* Clock state machine variables
295
312
extern u_char sys_poll; /* system poll interval (log2 s) */
296
extern u_char sys_minpoll; /* min system poll interval (log2 s) */
297
313
extern int state; /* clock discipline state */
298
314
extern int tc_counter; /* poll-adjust counter */
299
315
extern u_long last_time; /* time of last clock update (s) */
300
316
extern double last_offset; /* last clock offset (s) */
301
317
extern double allan_xpt; /* Allan intercept (s) */
302
extern double sys_error; /* system RMS error (s) */
303
extern double sys_jitter; /* system RMS jitter (s) */
318
extern double sys_error; /* system error (s) */
319
extern double sys_jitter; /* system jitter (s) */
305
321
/* ntp_monitor.c */
306
322
extern struct mon_data mon_mru_list;
349
365
extern int sys_authenticate; /* requre authentication for config */
350
366
extern l_fp sys_authdelay; /* authentication delay */
351
367
extern keyid_t sys_private; /* private value for session seed */
352
extern int sys_manycastserver; /* 1 => respond to manycast client pkts */
368
extern int sys_manycastserver; /* respond to manycast client pkts */
369
extern int sys_minclock; /* minimum survivors */
370
extern int sys_minsane; /* minimum candidates */
371
extern int sys_floor; /* cluster stratum floor */
372
extern int sys_ceiling; /* cluster stratum ceiling */
373
extern u_char sys_ttl[]; /* ttl mapping vector */
374
extern int sys_ttlmax; /* max ttl mapping vector index */
355
377
* Statistics counters
357
379
extern u_long sys_stattime; /* time when we started recording */
358
extern u_long sys_badstratum; /* packets with invalid stratum */
359
extern u_long sys_oldversionpkt; /* old version packets received */
360
extern u_long sys_newversionpkt; /* new version packets received */
380
extern u_long sys_restricted; /* restricted packets */
381
extern u_long sys_oldversionpkt; /* old version packets */
382
extern u_long sys_newversionpkt; /* new version packets */
361
383
extern u_long sys_unknownversion; /* don't know version packets */
362
extern u_long sys_badlength; /* packets with bad length */
384
extern u_long sys_badlength; /* bad length or format */
363
385
extern u_long sys_processed; /* packets processed */
364
extern u_long sys_badauth; /* packets dropped because of auth */
365
extern u_long sys_limitrejected; /* pkts rejected due to client count per net */
386
extern u_long sys_badauth; /* bad authentication */
387
extern u_long sys_limitrejected; /* rate limit exceeded */
388
extern u_long sys_received; /* packets received */
367
390
/* ntp_refclock.c */
375
398
extern keyid_t info_auth_keyid; /* keyid used to authenticate requests */
377
400
/* ntp_restrict.c */
378
extern struct restrictlist *restrictlist; /* the restriction list */
379
extern u_long client_limit;
380
extern u_long client_limit_period;
401
extern struct restrictlist *restrictlist; /* the ipv4 restriction list */
402
extern struct restrictlist6 *restrictlist6; /* the ipv6 restriction list */
403
extern u_long res_min_interval;
404
extern u_long res_avg_interval;
405
extern u_long mon_age; /* monitor preempt age */
382
407
/* ntp_timer.c */
383
408
extern volatile int alarm_flag; /* alarm flag */
384
extern u_long sys_revoke; /* keys revoke timeout */
409
extern u_char sys_revoke; /* keys revoke timeout (log2 s) */
385
410
extern volatile u_long alarm_overflow;
386
411
extern u_long current_time; /* current time (s) */
387
412
extern u_long timer_timereset;