xref: /freebsd/contrib/ntp/include/l_stdlib.h (revision 2da066ef6d85d3f7cd8aaec14369d66254836536)
1 /*
2  * Proto types for machines that are not ANSI and POSIX	 compliant.
3  * This is optional
4  */
5 
6 #ifndef L_STDLIB_H
7 #define L_STDLIB_H
8 
9 #ifdef HAVE_STDLIB_H
10 # include <stdlib.h>
11 #endif
12 
13 #include <stdarg.h>
14 #include <sys/types.h>
15 
16 /* Needed for speed_t. */
17 #ifdef HAVE_TERMIOS_H
18 # include <termios.h>
19 #endif
20 
21 #ifdef HAVE_ERRNO_H
22 # include <errno.h>
23 #endif
24 
25 #include "ntp_types.h"
26 #include "ntp_proto.h"
27 
28 /* Let's try to keep this more or less alphabetized... */
29 
30 #ifdef DECL_ADJTIME_0
31 struct timeval;
32 extern	int	adjtime		(struct timeval *, struct timeval *);
33 #endif
34 
35 #ifdef DECL_BCOPY_0
36 #ifndef bcopy
37 extern	void	bcopy		(const char *, char *, int);
38 #endif
39 #endif
40 
41 #ifdef DECL_BZERO_0
42 #ifndef bzero
43 extern	void	bzero		(char *, int);
44 #endif
45 #endif
46 
47 #ifdef DECL_CFSETISPEED_0
48 struct termios;
49 extern	int	cfsetispeed	(struct termios *, speed_t);
50 extern	int	cfsetospeed	(struct termios *, speed_t);
51 #endif
52 
53 extern	char *	getpass		(const char *);
54 
55 #ifdef DECL_HSTRERROR_0
56 extern	const char * hstrerror	(int);
57 #endif
58 
59 #ifdef DECL_INET_NTOA_0
60 struct in_addr;
61 extern	char *	inet_ntoa	(struct in_addr);
62 #endif
63 
64 #ifdef DECL_IOCTL_0
65 extern	int	ioctl		(int, u_long, char *);
66 #endif
67 
68 #ifdef DECL_IPC_0
69 struct sockaddr;
70 extern	int	bind		(int, struct sockaddr *, int);
71 extern	int	connect		(int, struct sockaddr *, int);
72 extern	int	recv		(int, char *, int, int);
73 extern	int	recvfrom	(int, char *, int, int, struct sockaddr *, int *);
74 extern	int	send		(int, char *, int, int);
75 extern	int	sendto		(int, char *, int, int, struct sockaddr *, int);
76 extern	int	setsockopt	(int, int, int, char *, int);
77 extern	int	socket		(int, int, int);
78 #endif
79 
80 #ifdef DECL_MEMMOVE_0
81 extern	void *	memmove		(void *, const void *, size_t);
82 #endif
83 
84 #ifdef DECL_MEMSET_0
85 extern	char *	memset		(char *, int, int);
86 #endif
87 
88 #ifdef DECL_MKSTEMP_0
89 extern	int	mkstemp		(char *);
90 #endif
91 
92 #ifdef DECL_MKTEMP_0
93 extern	char   *mktemp		(char *);
94 #endif
95 
96 #ifdef DECL_NLIST_0
97 struct nlist;
98 extern int	nlist		(const char *, struct nlist *);
99 #endif
100 
101 #ifdef DECL_PLOCK_0
102 extern	int	plock		(int);
103 #endif
104 
105 #ifdef DECL_RENAME_0
106 extern	int	rename		(const char *, const char *);
107 #endif
108 
109 #ifdef DECL_SELECT_0
110 #ifdef NTP_SELECT_H
111 extern	int	select		(int, fd_set *, fd_set *, fd_set *, struct timeval *);
112 #endif
113 #endif
114 
115 #ifdef DECL_SETITIMER_0
116 struct itimerval;
117 extern	int	setitimer	(int , struct itimerval *, struct itimerval *);
118 #endif
119 
120 #ifdef PRIO_PROCESS
121 #ifdef DECL_SETPRIORITY_0
122 extern	int	setpriority	(int, int, int);
123 #endif
124 #ifdef DECL_SETPRIORITY_1
125 extern	int	setpriority	(int, id_t, int);
126 #endif
127 #endif
128 
129 #ifdef DECL_SIGVEC_0
130 struct sigvec;
131 extern	int	sigvec		(int, struct sigvec *, struct sigvec *);
132 #endif
133 
134 #ifdef DECL_STDIO_0
135 #if defined(FILE) || defined(BUFSIZ)
136 extern	int	_flsbuf		(int, FILE *);
137 extern	int	_filbuf		(FILE *);
138 extern	int	fclose		(FILE *);
139 extern	int	fflush		(FILE *);
140 extern	int	fprintf		(FILE *, const char *, ...);
141 extern	int	fscanf		(FILE *, const char *, ...);
142 extern	int	fputs		(const char *, FILE *);
143 extern	int	fputc		(int, FILE *);
144 extern	int	fread		(char *, int, int, FILE *);
145 extern	void	perror		(const char *);
146 extern	int	printf		(const char *, ...);
147 extern	int	setbuf		(FILE *, char *);
148 # ifdef HAVE_SETLINEBUF
149 extern	int	setlinebuf	(FILE *);
150 # endif
151 extern	int	setvbuf		(FILE *, char *, int, int);
152 extern	int	scanf		(const char *, ...);
153 extern	int	sscanf		(const char *, const char *, ...);
154 extern	int	vfprintf	(FILE *, const char *, ...);
155 extern	int	vsprintf	(char *, const char *, ...);
156 #endif
157 #endif
158 
159 #ifdef DECL_STIME_0
160 extern	int	stime		(const time_t *);
161 #endif
162 
163 #ifdef DECL_STIME_1
164 extern	int	stime		(long *);
165 #endif
166 
167 #ifdef DECL_STRERROR_0
168 extern	char *	strerror		(int errnum);
169 #endif
170 
171 #ifdef DECL_STRTOL_0
172 extern	long	strtol		(const char *, char **, int);
173 #endif
174 
175 #ifdef DECL_SYSCALL
176 extern	int	syscall		(int, ...);
177 #endif
178 
179 #ifdef DECL_SYSLOG_0
180 extern	void	closelog	(void);
181 #ifndef LOG_DAEMON
182 extern	void	openlog		(const char *, int);
183 #else
184 extern	void	openlog		(const char *, int, int);
185 #endif
186 extern	int	setlogmask	(int);
187 extern	void	syslog		(int, const char *, ...);
188 #endif
189 
190 #ifdef DECL_TIME_0
191 extern	time_t	time		(time_t *);
192 #endif
193 
194 #ifdef DECL_TIMEOFDAY_0
195 #ifdef SYSV_TIMEOFDAY
196 extern	int	gettimeofday	(struct timeval *);
197 extern	int	settimeofday	(struct timeval *);
198 #else /* not SYSV_TIMEOFDAY */
199 struct timezone;
200 extern	int	gettimeofday	(struct timeval *, struct timezone *);
201 extern	int	settimeofday	(struct timeval *, void *);
202 #endif /* not SYSV_TIMEOFDAY */
203 #endif
204 
205 #ifdef DECL_TOLOWER_0
206 extern	int	tolower		(int);
207 #endif
208 
209 #ifdef DECL_TOUPPER_0
210 extern	int	toupper		(int);
211 #endif
212 
213 /*
214  * Necessary variable declarations.
215  */
216 #ifdef DECL_ERRNO
217 extern	int	errno;
218 #endif
219 
220 #if defined(DECL_H_ERRNO) && !defined(h_errno)
221 extern	int	h_errno;
222 #endif
223 
224 #ifndef HAVE_MEMCHR
225 extern void *memchr(const void *s, int c, size_t n);
226 #endif
227 
228 #ifndef HAVE_STRNLEN
229 extern size_t strnlen(const char *s, size_t n);
230 #endif
231 
232 
233 #endif	/* L_STDLIB_H */
234