Sync usage with man page.
[netbsd-mini2440.git] / external / bsd / ntp / dist / include / ntp_io.h
blob67c80161ba0884b4c0aff36df19f6c3c4de93b18
1 /* $NetBSD$ */
3 #ifndef NTP_IO_H
4 #define NTP_IO_H
5 /*
6 * POSIX says use <fnct.h> to get O_* symbols and
7 * SEEK_SET symbol form <unistd.h>.
8 */
9 #ifdef HAVE_CONFIG_H
10 # include <config.h>
11 #endif
13 #include <sys/types.h>
14 #ifdef HAVE_UNISTD_H
15 # include <unistd.h>
16 #endif
17 #include <stdio.h>
18 #ifdef HAVE_SYS_FILE_H
19 # include <sys/file.h>
20 #endif
21 #ifdef HAVE_FCNTL_H
22 # include <fcntl.h>
23 #endif
24 #if !defined(SEEK_SET) && defined(L_SET)
25 # define SEEK_SET L_SET
26 #endif
28 #ifdef SYS_WINNT
29 # include <io.h>
30 # include "win32_io.h"
31 #endif
33 #include <isc/boolean.h>
34 #include <isc/netaddr.h>
36 #if HAVE_NETINET_IN_H && HAVE_NETINET_IP_H
37 #include <netinet/in.h>
38 # if HAVE_NETINET_IN_SYSTM_H
39 # include <netinet/in_systm.h>
40 # endif
41 #include <netinet/ip.h>
42 #endif
45 * Define FNDELAY and FASYNC using O_NONBLOCK and O_ASYNC if we need
46 * to (and can). This is here initially for QNX, but may help for
47 * others as well...
49 #ifndef FNDELAY
50 # ifdef O_NONBLOCK
51 # define FNDELAY O_NONBLOCK
52 # endif
53 #endif
55 #ifndef FASYNC
56 # ifdef O_ASYNC
57 # define FASYNC O_ASYNC
58 # endif
59 #endif
63 * NIC rule match types
65 typedef enum {
66 MATCH_ALL,
67 MATCH_IPV4,
68 MATCH_IPV6,
69 MATCH_WILDCARD,
70 MATCH_IFNAME,
71 MATCH_IFADDR
72 } nic_rule_match;
76 * NIC rule actions
78 typedef enum {
79 ACTION_LISTEN,
80 ACTION_IGNORE,
81 ACTION_DROP
82 } nic_rule_action;
85 isc_boolean_t get_broadcastclient_flag(void);
86 isc_boolean_t is_ip_address(const char *, isc_netaddr_t *);
87 extern void sau_from_netaddr(sockaddr_u *, const isc_netaddr_t *);
88 extern void add_nic_rule(nic_rule_match match_type, const char *if_name,
89 int prefixlen, nic_rule_action action);
91 #endif /* NTP_IO_H */