Annotation of embedaddon/ntp/include/ntp_io.h, revision 1.1.1.1
1.1 misho 1: #ifndef NTP_IO_H
2: #define NTP_IO_H
3: /*
4: * POSIX says use <fnct.h> to get O_* symbols and
5: * SEEK_SET symbol form <unistd.h>.
6: */
7: #ifdef HAVE_CONFIG_H
8: # include <config.h>
9: #endif
10:
11: #include <sys/types.h>
12: #ifdef HAVE_UNISTD_H
13: # include <unistd.h>
14: #endif
15: #include <stdio.h>
16: #ifdef HAVE_SYS_FILE_H
17: # include <sys/file.h>
18: #endif
19: #ifdef HAVE_FCNTL_H
20: # include <fcntl.h>
21: #endif
22: #if !defined(SEEK_SET) && defined(L_SET)
23: # define SEEK_SET L_SET
24: #endif
25:
26: #ifdef SYS_WINNT
27: # include <io.h>
28: # include "win32_io.h"
29: #endif
30:
31: #include <isc/boolean.h>
32: #include <isc/netaddr.h>
33:
34: #if defined(HAVE_NETINET_IN_H) && defined(HAVE_NETINET_IP_H)
35: # include <netinet/in.h>
36: # ifdef HAVE_NETINET_IN_SYSTM_H
37: # include <netinet/in_systm.h>
38: # endif
39: # include <netinet/ip.h>
40: #endif
41:
42: /*
43: * Define FNDELAY and FASYNC using O_NONBLOCK and O_ASYNC if we need
44: * to (and can). This is here initially for QNX, but may help for
45: * others as well...
46: */
47: #ifndef FNDELAY
48: # ifdef O_NONBLOCK
49: # define FNDELAY O_NONBLOCK
50: # endif
51: #endif
52:
53: #ifndef FASYNC
54: # ifdef O_ASYNC
55: # define FASYNC O_ASYNC
56: # endif
57: #endif
58:
59:
60: /*
61: * NIC rule match types
62: */
63: typedef enum {
64: MATCH_ALL,
65: MATCH_IPV4,
66: MATCH_IPV6,
67: MATCH_WILDCARD,
68: MATCH_IFNAME,
69: MATCH_IFADDR
70: } nic_rule_match;
71:
72:
73: /*
74: * NIC rule actions
75: */
76: typedef enum {
77: ACTION_LISTEN,
78: ACTION_IGNORE,
79: ACTION_DROP
80: } nic_rule_action;
81:
82:
83: isc_boolean_t get_broadcastclient_flag(void);
84: extern int is_ip_address(const char *, sockaddr_u *);
85: extern void sau_from_netaddr(sockaddr_u *, const isc_netaddr_t *);
86: extern void add_nic_rule(nic_rule_match match_type, const char *if_name,
87: int prefixlen, nic_rule_action action);
88:
89: #endif /* NTP_IO_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>