aboutsummaryrefslogtreecommitdiff
path: root/include/ntp_stdlib.h
blob: c389d1ecc98b900b95abedb03054401deb033753 (plain) (blame)
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
/*
 * 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	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	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((const 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 */

/* 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 */