~ubuntu-branches/debian/squeeze/ntp/squeeze-201010051545

« back to all changes in this revision

Viewing changes to include/ntpd.h

  • Committer: Bazaar Package Importer
  • Author(s): Matt Zimmerman
  • Date: 2004-10-11 16:10:27 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20041011161027-icyjbji8ujym633o
Tags: 1:4.2.0a-10ubuntu2
Use ntp.ubuntulinux.org instead of pool.ntp.org

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
#include "ntp_refclock.h"
11
11
#include "recvbuff.h"
12
12
 
13
 
#define MAXINTERFACES   512
14
 
#define MAXFILENAME     128     /* maximum length of a file name */
15
 
 
16
13
#ifdef SYS_WINNT
17
14
#define exit service_exit
18
15
extern  void    service_exit    (int);
21
18
void    service_ctrl    (DWORD);
22
19
void    worker_thread   (void *);
23
20
#define sleep(x) Sleep((DWORD) x * 1000 /* milliseconds */ );
24
 
#else
25
 
#define closesocket close
26
21
#endif /* SYS_WINNT */
27
22
 
28
23
/* ntp_config.c */
30
25
 
31
26
/* ntp_config.c */
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)
67
62
 
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));
72
67
 
73
68
/* ntp_intres.c */
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));
77
72
 
78
73
/* ntp_io.c */
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 *));
81
76
 
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));
90
85
 
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));
109
104
 
110
105
/* ntp_loopfilter.c */
111
106
extern  void    init_loopfilter P((void));
112
 
extern  int     local_clock P((struct peer *, double, double));
 
107
extern  int     local_clock P((struct peer *, double));
113
108
extern  void    adj_host_clock  P((void));
114
109
extern  void    loop_config P((int, double));
115
110
extern  void    huffpuff        P((void));
122
117
 
123
118
/* ntp_peer.c */
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));
136
 
#ifdef AUTOKEY
 
131
#ifdef OPENSSL
137
132
extern  void    expire_all      P((void));
138
 
#endif /* AUTOKEY */
 
133
#endif /* OPENSSL */
139
134
extern  struct  peer *findmanycastpeer  P((struct recvbuf *));
140
135
extern  void    resetmanycast   P((void));
141
136
 
 
137
/* ntp_crypto.c */
 
138
#ifdef OPENSSL
 
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 *));
 
151
#endif /* OPENSSL */
 
152
 
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));
148
160
 
149
161
/*
150
162
 * there seems to be a bug in the IRIX 4 compiler which prevents
157
169
extern  void    clear           P((struct peer *));
158
170
extern  void    clock_filter    P((struct peer *, double, double, double));
159
171
extern  void    init_proto      P((void));
160
 
extern  void    proto_config    P((int, u_long, double));
 
172
extern  void    proto_config    P((int, u_long, double, struct sockaddr_storage*));
161
173
extern  void    proto_clr_stats P((void));
162
174
 
163
175
#ifdef  REFCLOCK
175
187
 
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));
180
192
 
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));
185
 
#ifdef AUTOKEY
 
198
#ifdef OPENSSL
186
199
extern  char    *sys_hostname;
187
200
extern  l_fp    sys_revoketime;
188
 
#endif /* AUTOKEY */
 
201
#endif /* OPENSSL */
189
202
 
190
203
/* ntp_util.c */
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 *));
198
214
 
199
215
/*
200
216
 * Variable declarations for ntpd.
254
270
/*
255
271
 * Interface stuff
256
272
 */
257
 
extern struct interface *any_interface; /* default interface */
 
273
extern struct interface *any_interface; /* default ipv4 interface */
 
274
extern struct interface *any6_interface;/* default ipv6 interface */
258
275
extern struct interface *loopback_interface; /* loopback interface */
259
276
 
260
277
/*
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 */
291
308
 
292
309
/*
293
310
 * Clock state machine variables
294
311
 */
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) */
304
320
 
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 */
353
375
 
354
376
/*
355
377
 * Statistics counters
356
378
 */
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 */
366
389
 
367
390
/* ntp_refclock.c */
368
391
#ifdef REFCLOCK
375
398
extern keyid_t  info_auth_keyid;        /* keyid used to authenticate requests */
376
399
 
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 */
381
406
 
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;
395
420
extern volatile int debug;              /* debugging flag */
396
421
extern int      nofork;                 /* no-fork flag */
397
422
extern int      initializing;           /* initializing flag */
 
423
#ifdef HAVE_DROPROOT
 
424
extern int droproot;                    /* flag: try to drop root privileges after startup */
 
425
extern char *user;                      /* user to switch to */
 
426
extern char *group;                     /* group to switch to */
 
427
extern char *chrootdir;                 /* directory to chroot to */
 
428
#endif
398
429
 
399
430
/* refclock_conf.c */
400
431
#ifdef REFCLOCK