Fixed binary search: no more infinite loops when vendor is unknown.
[tangerine.git] / workbench / network / stacks / AROSTCP / dhcp / includes / cf / aros.h
blob66b3493ac302553c42cd5e4ab50d610e098f2c73
1 /* aros.h
3 System dependencies for AROS */
5 /*
6 * Copyright (c) 1996 The Internet Software Consortium. All rights reserved.
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of The Internet Software Consortium nor the names of its
18 * contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
22 * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
23 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
25 * THE INTERNET SOFTWARE CONSORTIUM OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
30 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
32 * OF THE POSSIBILITY OF SUCH DAMAGE.
34 * This software was written for the Internet Software Consortium by Ted Lemon
35 * under a contract with Vixie Laboratories.
38 #define PROTO_USERGROUP_H
40 #include <netdb.h>
41 #include <dos/dosextens.h>
42 #include <exec/ports.h>
43 #include <libraries/miami.h>
44 #include <proto/bsdsocket.h>
45 #include <utility/hooks.h>
46 #include <utility/tagitem.h>
47 #include <errno.h>
48 #include <limits.h>
49 #include <setjmp.h>
50 #include <signal.h>
51 #include <stdlib.h>
52 #include <string.h>
53 #include <syslog.h>
54 #include <sys/types.h>
55 #include <sys/wait.h>
56 #include <unistd.h>
58 extern int h_errno;
60 #include <net/if.h>
61 #include <net/if_dl.h>
62 #include <net/route.h>
63 #include <proto/miami.h>
65 /* sys/ioctl.h is a stupid #warning here, sys/sockio must be used instead */
66 #include <sys/sockio.h>
67 #define _SYS_IOCTL_H_
69 /* Varargs stuff... */
70 #include <stdarg.h>
71 #define VA_DOTDOTDOT ...
72 #define va_dcl
73 #define VA_start(list, last) va_start (list, last)
75 #define SOCKLEN_T LONG
76 #define INADDR_LOOPBACK 0x7f000001
78 #ifndef AROSTCP_DB
79 /* this is the default path, overridable with ENV:AROTCP/Config */
80 #define AROSTCP_DB "SYS:System/Network/AROSTCP/db/"
81 #endif
83 #ifndef AROSTCP_T
84 #define AROSTCP_T "T:"
85 #endif
87 #define _PATH_DHCPD_PID AROSTCP_T "dhcpd.pid"
88 #define _PATH_DHCPD_DB AROSTCP_DB "dhcpd.leases"
89 #define _PATH_DHCPD_CONF AROSTCP_DB "dhcpd.conf"
90 #define _PATH_DHCLIENT_PID AROSTCP_T "dhclient.pid"
91 #define _PATH_DHCLIENT_DB AROSTCP_DB "dhclient.leases"
92 #define _PATH_DHCLIENT_CONF AROSTCP_DB "dhclient.conf"
93 #define _PATH_RESOLV_CONF AROSTCP_DB "resolv.conf"
94 #define _PATH_DHCRELAY_PID AROSTCP_T "dhcrelay.pid"
96 #define EOL '\n'
97 #define VOIDPTR void *
99 /* Time stuff... */
100 #include <sys/time.h>
101 #define TIME time_t
103 //??AGR time and gettimeofday does not give the same result on AROS
104 //?? #define GET_TIME(x) time ((x))
105 #define GET_TIME(x) do { \
106 struct timeval xt1; \
107 gettimeofday(&xt1, NULL); \
108 *(x) = xt1.tv_sec; \
109 } while (0)
111 #define HAVE_SA_LEN
112 /* #define HAVE_CHKABORT ?? would be cool */
113 #define GET_USER_ID_MISSING
114 #define SET_SERVENT_MISSING
115 #define SET_PROTOENT_MISSING
116 #define FORK_MISSING
117 #define FSYNC_MISSING
118 #define SOCKET_IS_NOT_A_FILE
119 #define BUILTIN_IFCONFIG
120 #undef F_SETFD
122 #if defined (USE_DEFAULT_NETWORK)
123 # define USE_SOCKETS
124 #endif
126 #ifdef NEED_PRAND_CONF
128 const char *cmds[] = {
129 "arp -an",
130 // "/usr/bin/netstat -an 2>&1",
131 "info",
132 // "dig com. soa +ti=1 +retry=0 2>&1",
133 // "/usr/bin/netstat -an 2>&1",
134 // "dig . soa +ti=1 +retry=0 2>&1",
135 NULL
138 const char *dirs[] = {
139 "T:",
140 "SYS:T",
142 ":",
143 NULL
146 const char *files[] = {
147 "Net:Logs/Syslog",
148 NULL
150 #endif /* NEED_PRAND_CONF */