1/*	$NetBSD: ntp_workimpl.h,v 1.5 2020/05/25 20:47:20 christos Exp $	*/
2
3/*
4 * ntp_workimpl.h - selects worker child implementation
5 */
6#ifndef NTP_WORKIMPL_H
7#define NTP_WORKIMPL_H
8
9/*
10 * Some systems do not support fork() and don't have an alternate
11 * threads implementation of ntp_intres.  Such systems are limited
12 * to using numeric IP addresses.
13 */
14#if defined(SYS_WINNT)
15# define WORK_THREAD
16#elif defined(ISC_PLATFORM_USETHREADS) && \
17      defined(HAVE_SEM_TIMEDWAIT) && \
18      (defined(HAVE_GETCLOCK) || defined(HAVE_CLOCK_GETTIME))
19# define WORK_THREAD
20# define WORK_PIPE
21#elif defined(VMS) || defined(SYS_VXWORKS)
22  /* empty */
23#elif defined(HAVE_WORKING_FORK)
24# define WORK_FORK
25# define WORK_PIPE
26#endif
27
28#if defined(WORK_FORK) || defined(WORK_THREAD)
29# define WORKER
30#endif
31
32#endif	/* !NTP_WORKIMPL_H */
33