/contrib/ntp/include/l_stdlib.h

https://bitbucket.org/freebsd/freebsd-head/ · C++ Header · 506 lines · 395 code · 87 blank · 24 comment · 4 complexity · a24c23d919a98967ce3f229353a90af5 MD5 · raw file

  1. /*
  2. * Proto types for machines that are not ANSI and POSIX compliant.
  3. * This is optional
  4. */
  5. #ifndef _l_stdlib_h
  6. #define _l_stdlib_h
  7. #ifdef HAVE_CONFIG_H
  8. #include <config.h>
  9. #endif
  10. #ifdef HAVE_STDLIB_H
  11. # include <stdlib.h>
  12. #endif
  13. #if defined(__STDC__) || defined(HAVE_STDARG_H)
  14. # include <stdarg.h>
  15. #else
  16. # include <varargs.h>
  17. #endif
  18. #ifdef HAVE_SYS_TYPES_H
  19. # include <sys/types.h>
  20. #endif
  21. /* Needed for speed_t. */
  22. #ifdef HAVE_TERMIOS_H
  23. # include <termios.h>
  24. #endif
  25. #ifdef HAVE_ERRNO_H
  26. # include <errno.h>
  27. #endif
  28. #include "ntp_types.h"
  29. #include "ntp_proto.h"
  30. /* Let's try to keep this more or less alphabetized... */
  31. #ifdef DECL_ADJTIME_0
  32. struct timeval;
  33. extern int adjtime P((struct timeval *, struct timeval *));
  34. #endif
  35. #ifdef DECL_BCOPY_0
  36. #ifndef bcopy
  37. extern void bcopy P((const char *, char *, int));
  38. #endif
  39. #endif
  40. #ifdef DECL_BZERO_0
  41. #ifndef bzero
  42. extern void bzero P((char *, int));
  43. #endif
  44. #endif
  45. #ifdef DECL_CFSETISPEED_0
  46. struct termios;
  47. extern int cfsetispeed P((struct termios *, speed_t));
  48. extern int cfsetospeed P((struct termios *, speed_t));
  49. #endif
  50. extern char * getpass P((const char *));
  51. #ifdef DECL_HSTRERROR_0
  52. extern const char * hstrerror P((int));
  53. #endif
  54. #ifdef DECL_INET_NTOA_0
  55. struct in_addr;
  56. extern char * inet_ntoa P((struct in_addr));
  57. #endif
  58. #ifdef DECL_IOCTL_0
  59. extern int ioctl P((int, u_long, char *));
  60. #endif
  61. #ifdef DECL_IPC_0
  62. struct sockaddr;
  63. extern int bind P((int, struct sockaddr *, int));
  64. extern int connect P((int, struct sockaddr *, int));
  65. extern int recv P((int, char *, int, int));
  66. extern int recvfrom P((int, char *, int, int, struct sockaddr *, int *));
  67. extern int send P((int, char *, int, int));
  68. extern int sendto P((int, char *, int, int, struct sockaddr *, int));
  69. extern int setsockopt P((int, int, int, char *, int));
  70. extern int socket P((int, int, int));
  71. #endif
  72. #ifdef DECL_MEMMOVE_0
  73. extern void * memmove P((void *, const void *, size_t));
  74. #endif
  75. #ifdef DECL_MEMSET_0
  76. extern char * memset P((char *, int, int));
  77. #endif
  78. #ifdef DECL_MKSTEMP_0
  79. extern int mkstemp P((char *));
  80. #endif
  81. #ifdef DECL_MKTEMP_0
  82. extern char *mktemp P((char *));
  83. #endif
  84. #ifdef DECL_NLIST_0
  85. struct nlist;
  86. extern int nlist P((const char *, struct nlist *));
  87. #endif
  88. #ifdef DECL_PLOCK_0
  89. extern int plock P((int));
  90. #endif
  91. #ifdef DECL_RENAME_0
  92. extern int rename P((const char *, const char *));
  93. #endif
  94. #ifdef DECL_SELECT_0
  95. #ifdef _ntp_select_h
  96. extern int select P((int, fd_set *, fd_set *, fd_set *, struct timeval *));
  97. #endif
  98. #endif
  99. #ifdef DECL_SETITIMER_0
  100. struct itimerval;
  101. extern int setitimer P((int , struct itimerval *, struct itimerval *));
  102. #endif
  103. #ifdef PRIO_PROCESS
  104. #ifdef DECL_SETPRIORITY_0
  105. extern int setpriority P((int, int, int));
  106. #endif
  107. #ifdef DECL_SETPRIORITY_1
  108. extern int setpriority P((int, id_t, int));
  109. #endif
  110. #endif
  111. #ifdef DECL_SIGVEC_0
  112. struct sigvec;
  113. extern int sigvec P((int, struct sigvec *, struct sigvec *));
  114. #endif
  115. #ifndef HAVE_SNPRINTF
  116. /* PRINTFLIKE3 */
  117. extern int snprintf P((char *, size_t, const char *, ...));
  118. #endif
  119. /* HMS: does this need further protection? */
  120. #ifndef HAVE_VSNPRINTF
  121. extern int vsnprintf P((char *, size_t, const char *, va_list));
  122. #endif
  123. #ifdef DECL_STDIO_0
  124. #if defined(FILE) || defined(BUFSIZ)
  125. extern int _flsbuf P((int, FILE *));
  126. extern int _filbuf P((FILE *));
  127. extern int fclose P((FILE *));
  128. extern int fflush P((FILE *));
  129. extern int fprintf P((FILE *, const char *, ...));
  130. extern int fscanf P((FILE *, const char *, ...));
  131. extern int fputs P((const char *, FILE *));
  132. extern int fputc P((int, FILE *));
  133. extern int fread P((char *, int, int, FILE *));
  134. extern void perror P((const char *));
  135. extern int printf P((const char *, ...));
  136. extern int setbuf P((FILE *, char *));
  137. # ifdef HAVE_SETLINEBUF
  138. extern int setlinebuf P((FILE *));
  139. # endif
  140. extern int setvbuf P((FILE *, char *, int, int));
  141. extern int scanf P((const char *, ...));
  142. extern int sscanf P((const char *, const char *, ...));
  143. extern int vfprintf P((FILE *, const char *, ...));
  144. extern int vsprintf P((char *, const char *, ...));
  145. #endif
  146. #endif
  147. #ifdef DECL_STIME_0
  148. extern int stime P((const time_t *));
  149. #endif
  150. #ifdef DECL_STIME_1
  151. extern int stime P((long *));
  152. #endif
  153. #ifdef DECL_STRERROR_0
  154. extern char * strerror P((int errnum));
  155. #endif
  156. #ifdef DECL_STRTOL_0
  157. extern long strtol P((const char *, char **, int));
  158. #endif
  159. #ifdef DECL_SYSCALL
  160. extern int syscall P((int, ...));
  161. #endif
  162. #ifdef DECL_SYSLOG_0
  163. extern void closelog P((void));
  164. #ifndef LOG_DAEMON
  165. extern void openlog P((const char *, int));
  166. #else
  167. extern void openlog P((const char *, int, int));
  168. #endif
  169. extern int setlogmask P((int));
  170. extern void syslog P((int, const char *, ...));
  171. #endif
  172. #ifdef DECL_TIME_0
  173. extern time_t time P((time_t *));
  174. #endif
  175. #ifdef DECL_TIMEOFDAY_0
  176. #ifdef SYSV_TIMEOFDAY
  177. extern int gettimeofday P((struct timeval *));
  178. extern int settimeofday P((struct timeval *));
  179. #else /* not SYSV_TIMEOFDAY */
  180. struct timezone;
  181. extern int gettimeofday P((struct timeval *, struct timezone *));
  182. extern int settimeofday P((struct timeval *, void *));
  183. #endif /* not SYSV_TIMEOFDAY */
  184. #endif
  185. #ifdef DECL_TOLOWER_0
  186. extern int tolower P((int));
  187. #endif
  188. #ifdef DECL_TOUPPER_0
  189. extern int toupper P((int));
  190. #endif
  191. /*
  192. * Necessary variable declarations.
  193. */
  194. #ifdef DECL_ERRNO
  195. extern int errno;
  196. #endif
  197. #if defined(DECL_H_ERRNO) && !defined(h_errno)
  198. extern int h_errno;
  199. #endif
  200. /*******************************************************/
  201. #if 0
  202. /*
  203. * Unprotoyped library functions for SunOS 4.x.x
  204. */
  205. #ifdef SYS_SUNOS4
  206. extern void closelog P((void));
  207. extern void openlog P((char *, int, int));
  208. extern void syslog P((int, char *, ...));
  209. extern int setlogmask P((int));
  210. extern char * getpass P((char *));
  211. extern int setpriority P((int ,int ,int));
  212. extern long strtol P((char *, char **, int));
  213. #if !defined(NTP_POSIX_SOURCE)
  214. extern int atoi P((char *));
  215. extern int dup2 P((int, int));
  216. extern int execve P((char *, char **,char **));
  217. extern int fork P((void));
  218. extern int getdtablesize P((void));
  219. extern int qsort (void *, int , int,
  220. int P((*compar)(void *, void *)));
  221. extern int setpgrp P((int, int));
  222. extern void bcopy P((const char *, char *, int));
  223. #endif
  224. #ifndef bzero /* XXX macro prototyping clash */
  225. extern void bzero P((char *, int));
  226. extern int bcmp P((char *, char *, int));
  227. extern void bcopy P((const char *, char *, int));
  228. #endif
  229. extern char *mktemp P((char *));
  230. extern int tolower P((int));
  231. extern int isatty P((int));
  232. extern unsigned sleep P((unsigned ));
  233. extern unsigned int alarm P((unsigned int));
  234. extern int pause P((void));
  235. extern int getpid P((void));
  236. extern int getppid P((void));
  237. extern int close P((int));
  238. extern int ioctl P((int, int, char *));
  239. extern int rename P((char *, char *));
  240. #if 0
  241. extern int read P((int, void *, size_t));
  242. extern int write P((int, const void *, size_t));
  243. #endif
  244. extern int unlink P((const char *));
  245. extern int link P((const char *, const char *));
  246. #ifdef FILE
  247. extern int fclose P((FILE *));
  248. extern int fflush P((FILE *));
  249. extern int fprintf P((FILE *, char *, ...));
  250. extern int fscanf P((FILE *, char *, ...));
  251. extern int fputs P((char *, FILE *));
  252. extern int fputc P((char, FILE *));
  253. extern int fread P((char *, int, int, FILE *));
  254. extern int printf P((char *, ...));
  255. extern int setbuf P((FILE *, char *));
  256. extern int setvbuf P((FILE *, char *, int, int));
  257. extern int scanf P((char *, ...));
  258. extern int sscanf P((char *, char *, ...));
  259. extern int vsprintf P((char *, char *, ...));
  260. extern int _flsbuf P((int, FILE *));
  261. extern int _filbuf P((FILE *));
  262. extern void perror P((char *));
  263. #ifdef HAVE_SETLINEBUF
  264. extern int setlinebuf P((FILE *));
  265. #endif
  266. #endif
  267. #ifdef _ntp_string_h
  268. #ifdef NTP_POSIX_SOURCE /* these are builtins */
  269. #ifndef NTP_NEED_BOPS /* but may be emulated by bops */
  270. extern char *memcpy P(());
  271. extern char *memset P(());
  272. extern int memcmp P(());
  273. #endif
  274. #endif
  275. #endif
  276. #ifdef _sys_socket_h
  277. extern int bind P((int, struct sockaddr *, int));
  278. extern int connect P((int, struct sockaddr *, int));
  279. extern int sendto P((int, char *, int, int, struct sockaddr *, int));
  280. extern int setsockopt P((int, int, int, char *, int));
  281. extern int socket P((int, int, int));
  282. extern int recvfrom P((int, char *, int, int, struct sockaddr *, int *));
  283. #endif /* _sys_socket_h */
  284. #ifdef _ntp_select_h
  285. extern int select P((int, fd_set *, fd_set *, fd_set *, struct timeval *));
  286. #endif
  287. #ifdef _sys_time_h
  288. extern int adjtime P((struct timeval *, struct timeval *));
  289. extern int setitimer P((int , struct itimerval *, struct itimerval *));
  290. #ifdef SYSV_TIMEOFDAY
  291. extern int gettimeofday P((struct timeval *));
  292. extern int settimeofday P((struct timeval *));
  293. #else /* ! SYSV_TIMEOFDAY */
  294. extern int gettimeofday P((struct timeval *, struct timezone *));
  295. extern int settimeofday P((struct timeval *, struct timezone *));
  296. #endif /* SYSV_TIMEOFDAY */
  297. #endif /* _sys_time_h */
  298. #ifdef __time_h
  299. extern time_t time P((time_t *));
  300. #endif
  301. #ifdef __setjmp_h
  302. extern int setjmp P((jmp_buf));
  303. extern void longjmp P((jmp_buf, int));
  304. #endif
  305. #ifdef _sys_resource_h
  306. extern int getrusage P((int, struct rusage *));
  307. #endif
  308. #ifdef _nlist_h
  309. extern int nlist P((char *, struct nlist *));
  310. #endif
  311. #endif /* SYS_SUNOS4 */
  312. /*
  313. * Unprototyped library functions for DEC OSF/1
  314. */
  315. #ifdef SYS_DECOSF1
  316. #ifndef _MACHINE_ENDIAN_H_
  317. #define _MACHINE_ENDIAN_H_
  318. extern u_short htons P((u_short));
  319. extern u_short ntohs P((u_short));
  320. extern u_int32 htonl P((u_int32));
  321. extern u_int32 ntohl P((u_int32));
  322. #endif /* _MACHINE_ENDIAN_H_ */
  323. /*
  324. extern char * getpass P((char *));
  325. */
  326. extern char * mktemp P((char *));
  327. #ifndef SYS_IX86OSF1
  328. extern int ioctl P((int, u_long, char *));
  329. extern void bzero P((char *, int));
  330. #endif
  331. #ifdef SOCK_DGRAM
  332. extern int bind P((int, const struct sockaddr *, int));
  333. extern int connect P((int, const struct sockaddr *, int));
  334. extern int socket P((int, int, int));
  335. extern int sendto P((int, const void *, int, int, const struct sockaddr *, int));
  336. extern int setsockopt P((int, int, int, const void *, int));
  337. extern int recvfrom P((int, void *, int, int, struct sockaddr *, int *));
  338. #endif /* SOCK_STREAM */
  339. #ifdef _ntp_select_h
  340. extern int select P((int, fd_set *, fd_set *, fd_set *, struct timeval *));
  341. #endif
  342. #endif /* DECOSF1 */
  343. /*
  344. * Unprototyped library functions for Ultrix
  345. */
  346. #ifdef SYS_ULTRIX
  347. extern int close P((int));
  348. extern char * getpass P((char *));
  349. extern int getpid P((void));
  350. extern int ioctl P((int, int, char *));
  351. extern char *mktemp P((char *));
  352. extern int unlink P((const char *));
  353. extern int link P((const char *, const char *));
  354. extern void closelog P((void));
  355. extern void syslog P((int, char *, ...));
  356. #ifndef LOG_DAEMON
  357. extern void openlog P((char *, int));
  358. #else
  359. extern void openlog P((char *, int, int));
  360. #endif
  361. extern int setpriority P((int ,int ,int ));
  362. #ifdef SOCK_DGRAM
  363. extern int bind P((int, struct sockaddr *, int));
  364. extern int connect P((int, struct sockaddr *, int));
  365. extern int socket P((int, int, int));
  366. extern int sendto P((int, char *, int, int, struct sockaddr *, int));
  367. extern int setsockopt P((int, int, int, char *, int));
  368. extern int recvfrom P((int, char *, int, int, struct sockaddr *, int *));
  369. #endif /* SOCK_STREAM */
  370. #ifdef _TIME_H_
  371. extern int gettimeofday P((struct timeval *, struct timezone *));
  372. extern int settimeofday P((struct timeval *, struct timezone *));
  373. extern int adjtime P((struct timeval *, struct timeval *));
  374. extern int select P((int, fd_set *, fd_set *, fd_set *, struct timeval *));
  375. extern int setitimer P((int , struct itimerval *, struct itimerval *));
  376. #endif /* _TIME_H_ */
  377. #ifdef N_UNDF
  378. extern int nlist P((char *, struct nlist *));
  379. #endif
  380. #ifndef bzero /* XXX macro prototyping clash */
  381. extern void bzero P((char *, int));
  382. extern int bcmp P((char *, char *, int));
  383. extern void bcopy P((const char *, char *, int));
  384. #endif
  385. #ifndef NTP_POSIX_SOURCE
  386. extern int atoi P((char *));
  387. extern void bzero P((char *, int));
  388. extern int bcmp P((char *, char *, int));
  389. extern void bcopy P((const char *, char *, int));
  390. extern int execve P((char *, char **,char **));
  391. extern int fork P((void));
  392. extern int getdtablesize P((void));
  393. extern int ran P((void));
  394. #ifdef _TIME_H_
  395. extern int gettimeofday P((struct timeval *, struct timezone *));
  396. extern int settimeofday P((struct timeval *, struct timezone *));
  397. #endif
  398. #endif
  399. #ifdef _RESOURCE_H_
  400. extern int getrusage P((int, struct rusage *));
  401. #endif
  402. #endif /* SYS_ULTRIX */
  403. #if defined(__convex__)
  404. extern char * getpass P((char *));
  405. #endif
  406. #ifdef SYS_IRIX4
  407. extern char * getpass P((char *));
  408. #endif /* IRIX4 */
  409. #ifdef SYS_VAX
  410. extern char * getpass P((char *));
  411. #endif /* VAX */
  412. #ifdef SYS_DOMAINOS
  413. extern char * getpass P((char *));
  414. #endif /* SYS_DOMAINOS */
  415. #ifdef SYS_BSD
  416. #define IN_CLASSD(i) (((long)(i) & 0xf0000000) == 0xe0000000)
  417. #endif
  418. #endif /* 0 */
  419. #endif /* l_stdlib_h */