1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
/*
* ntp_stdlib.h - Prototypes for NTP lib.
*/
#include <sys/types.h>
#include <sys/socket.h>
#include "ntp_rfc2553.h"
#include "ntp_types.h"
#include "ntp_string.h"
#include "l_stdlib.h"
/*
* Handle gcc __attribute__ if available.
*/
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || (defined(__STRICT_ANSI__))
# define __attribute__(Spec) /* empty */
# endif
/* The __-protected variants of `format' and `printf' attributes
are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
# define __format__ format
# define __printf__ printf
# endif
#endif
#if defined(__STDC__) || defined(HAVE_STDARG_H)
# include <stdarg.h>
extern void msyslog P((int, const char *, ...))
__attribute__((__format__(__printf__, 2, 3)));
extern void netsyslog P((int, const char *, ...))
__attribute__((__format__(__printf__, 2, 3)));
#else
# include <varargs.h>
extern void msyslog P(());
extern void netsyslog P(());
#endif
extern void auth_delkeys P((void));
extern int auth_havekey P((keyid_t));
extern int authdecrypt P((keyid_t, u_int32 *, int, int));
extern int authencrypt P((keyid_t, u_int32 *, int));
extern int authhavekey P((keyid_t));
extern int authistrusted P((keyid_t));
extern int authreadkeys P((const char *));
extern void authtrust P((keyid_t, u_long));
extern int authusekey P((keyid_t, int, const u_char *));
extern u_long calleapwhen P((u_long));
extern u_long calyearstart P((u_long));
extern const char *clockname P((int));
extern int clocktime P((int, int, int, int, int, u_long, u_long *, u_int32 *));
#if defined SYS_WINNT && defined DEBUG
# define emalloc(_c) debug_emalloc(_c, __FILE__, __LINE__)
extern void * debug_emalloc P((u_int, char *, int));
#else
extern void * emalloc P((u_int));
#endif
extern int ntp_getopt P((int, char **, const char *));
extern void init_auth P((void));
extern void init_lib P((void));
extern void init_random P((void));
extern struct savekey *auth_findkey P((keyid_t));
extern int auth_moremem P((void));
extern int ymd2yd P((int, int, int));
extern int MD5authdecrypt P((u_char *, u_int32 *, int, int));
extern int MD5authencrypt P((u_char *, u_int32 *, int));
extern void MD5auth_setkey P((keyid_t, const u_char *, const int));
extern u_int32 addr2refid P((struct sockaddr_storage *));
extern int atoint P((const char *, long *));
extern int atouint P((const char *, u_long *));
extern int hextoint P((const char *, u_long *));
extern char * humandate P((u_long));
extern char * humanlogtime P((void));
extern char * inttoa P((long));
extern char * mfptoa P((u_long, u_long, short));
extern char * mfptoms P((u_long, u_long, short));
extern const char * modetoa P((int));
extern const char * eventstr P((int));
extern const char * ceventstr P((int));
extern char * statustoa P((int, int));
extern const char * sysstatstr P((int));
extern const char * peerstatstr P((int));
extern const char * clockstatstr P((int));
extern struct sockaddr_storage* netof P((struct sockaddr_storage*));
extern char * numtoa P((u_int32));
extern char * numtohost P((u_int32));
extern char * socktoa P((struct sockaddr_storage *));
extern char * socktohost P((struct sockaddr_storage *));
extern int octtoint P((const char *, u_long *));
extern u_long ranp2 P((int));
extern char * refnumtoa P((struct sockaddr_storage *));
extern int tsftomsu P((u_long, int));
extern char * uinttoa P((u_long));
extern int decodenetnum P((const char *, struct sockaddr_storage *));
extern const char * FindConfig P((const char *));
extern void signal_no_reset P((int, RETSIGTYPE (*func)(int)));
extern void getauthkeys P((char *));
extern void auth_agekeys P((void));
extern void rereadkeys P((void));
/*
* Variable declarations for libntp.
*/
/*
* Defined by any program.
*/
extern volatile int debug; /* debugging flag */
/* authkeys.c */
extern u_long authkeynotfound; /* keys not found */
extern u_long authkeylookups; /* calls to lookup keys */
extern u_long authnumkeys; /* number of active keys */
extern u_long authkeyexpired; /* key lifetime expirations */
extern u_long authkeyuncached; /* cache misses */
extern u_long authencryptions; /* calls to encrypt */
extern u_long authdecryptions; /* calls to decrypt */
extern int authnumfreekeys;
/*
* The key cache. We cache the last key we looked at here.
*/
extern keyid_t cache_keyid; /* key identifier */
extern u_char * cache_key; /* key pointer */
extern u_int cache_keylen; /* key length */
/* clocktypes.c */
struct clktype;
extern struct clktype clktypes[];
/* getopt.c */
extern char * ntp_optarg; /* global argument pointer */
extern int ntp_optind; /* global argv index */
/* machines.c */
extern const char *set_tod_using;
/* mexit.c */
#if defined SYS_WINNT || defined SYS_CYGWIN32
extern HANDLE hServDoneEvent;
#endif
/* systime.c */
extern double sys_tick; /* adjtime() resolution */
/* version.c */
extern const char *Version; /* version declaration */
|