]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - crypto/heimdal/lib/roken/roken-common.h
This commit was generated by cvs2svn to compensate for changes in r56944,
[FreeBSD/FreeBSD.git] / crypto / heimdal / lib / roken / roken-common.h
1 /*
2  * Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan
3  * (Royal Institute of Technology, Stockholm, Sweden).
4  * All rights reserved.
5  * 
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  * 
17  * 3. Neither the name of the Institute nor the names of its contributors
18  *    may be used to endorse or promote products derived from this software
19  *    without specific prior written permission.
20  * 
21  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31  * SUCH DAMAGE.
32  */
33
34 /* $Id: roken-common.h,v 1.24 1999/12/05 13:25:40 assar Exp $ */
35
36 #ifndef __ROKEN_COMMON_H__
37 #define __ROKEN_COMMON_H__
38
39 #ifndef INADDR_NONE
40 #define INADDR_NONE 0xffffffff
41 #endif
42
43 #ifndef INADDR_LOOPBACK
44 #define INADDR_LOOPBACK 0x7f000001
45 #endif
46
47 #ifndef SOMAXCONN
48 #define SOMAXCONN 5
49 #endif
50
51 #ifndef STDIN_FILENO
52 #define STDIN_FILENO 0
53 #endif
54
55 #ifndef STDOUT_FILENO
56 #define STDOUT_FILENO 1
57 #endif
58
59 #ifndef STDERR_FILENO
60 #define STDERR_FILENO 2
61 #endif
62
63 #ifndef max
64 #define max(a,b) (((a)>(b))?(a):(b))
65 #endif
66
67 #ifndef min
68 #define min(a,b) (((a)<(b))?(a):(b))
69 #endif
70
71 #ifndef TRUE
72 #define TRUE 1
73 #endif
74
75 #ifndef FALSE
76 #define FALSE 0
77 #endif
78
79 #ifndef LOG_DAEMON
80 #define openlog(id,option,facility) openlog((id),(option))
81 #define LOG_DAEMON      0
82 #endif
83 #ifndef LOG_ODELAY
84 #define LOG_ODELAY 0
85 #endif
86 #ifndef LOG_NDELAY
87 #define LOG_NDELAY 0x08
88 #endif
89 #ifndef LOG_CONS
90 #define LOG_CONS 0
91 #endif
92 #ifndef LOG_AUTH
93 #define LOG_AUTH 0
94 #endif
95 #ifndef LOG_AUTHPRIV
96 #define LOG_AUTHPRIV LOG_AUTH
97 #endif
98
99 #ifndef F_OK
100 #define F_OK 0
101 #endif
102
103 #ifndef O_ACCMODE
104 #define O_ACCMODE       003
105 #endif
106
107 #ifndef _PATH_DEVNULL
108 #define _PATH_DEVNULL "/dev/null"
109 #endif
110
111 #ifndef _PATH_HEQUIV
112 #define _PATH_HEQUIV "/etc/hosts.equiv"
113 #endif
114
115 #ifndef MAXPATHLEN
116 #define MAXPATHLEN (1024+4)
117 #endif
118
119 #ifndef SIG_ERR
120 #define SIG_ERR ((RETSIGTYPE (*)())-1)
121 #endif
122
123 /*
124  * error code for getipnodeby{name,addr}
125  */
126
127 #ifndef HOST_NOT_FOUND
128 #define HOST_NOT_FOUND 1
129 #endif
130
131 #ifndef TRY_AGAIN
132 #define TRY_AGAIN 2
133 #endif
134
135 #ifndef NO_RECOVERY
136 #define NO_RECOVERY 3
137 #endif
138
139 #ifndef NO_DATA
140 #define NO_DATA 4
141 #endif
142
143 #ifndef NO_ADDRESS
144 #define NO_ADDRESS NO_DATA
145 #endif
146
147 /*
148  * error code for getaddrinfo
149  */
150
151 #ifndef EAI_NOERROR
152 #define EAI_NOERROR     0       /* no error */
153 #endif
154
155 #ifndef EAI_ADDRFAMILY
156
157 #define EAI_ADDRFAMILY  1       /* address family for nodename not supported */
158 #define EAI_AGAIN       2       /* temporary failure in name resolution */
159 #define EAI_BADFLAGS    3       /* invalid value for ai_flags */
160 #define EAI_FAIL        4       /* non-recoverable failure in name resolution */
161 #define EAI_FAMILY      5       /* ai_family not supported */
162 #define EAI_MEMORY      6       /* memory allocation failure */
163 #define EAI_NODATA      7       /* no address associated with nodename */
164 #define EAI_NONAME      8       /* nodename nor servname provided, or not known */
165 #define EAI_SERVICE     9       /* servname not supported for ai_socktype */
166 #define EAI_SOCKTYPE   10       /* ai_socktype not supported */
167 #define EAI_SYSTEM     11       /* system error returned in errno */
168
169 #endif /* EAI_ADDRFAMILY */
170
171 /* flags for getaddrinfo() */
172
173 #ifndef AI_PASSIVE
174
175 #define AI_PASSIVE      0x01
176 #define AI_CANONNAME    0x02
177 #define AI_NUMERICHOST  0x04
178
179 #endif /* AI_PASSIVE */
180
181 /* flags for getnameinfo() */
182
183 #ifndef NI_DGRAM
184 #define NI_DGRAM        0x01
185 #define NI_NAMEREQD     0x02
186 #define NI_NOFQDN       0x04
187 #define NI_NUMERICHOST  0x08
188 #define NI_NUMERICSERV  0x10
189 #endif
190
191 /*
192  * constants for getnameinfo
193  */
194
195 #ifndef NI_MAXHOST
196 #define NI_MAXHOST  1025
197 #define NI_MAXSERV    32
198 #endif
199
200 /*
201  * constants for inet_ntop
202  */
203
204 #ifndef INET_ADDRSTRLEN
205 #define INET_ADDRSTRLEN    16
206 #endif
207
208 #ifndef INET6_ADDRSTRLEN
209 #define INET6_ADDRSTRLEN   46
210 #endif
211
212 /*
213  * for shutdown(2)
214  */
215
216 #ifndef SHUT_RD
217 #define SHUT_RD 0
218 #endif
219
220 #ifndef SHUT_WR
221 #define SHUT_WR 1
222 #endif
223
224 #ifndef SHUT_RDWR
225 #define SHUT_RDWR 2
226 #endif
227
228 #ifndef HAVE___ATTRIBUTE__
229 #define __attribute__(x)
230 #endif
231
232 #if IRIX != 4 /* fix for compiler bug */
233 #ifdef RETSIGTYPE
234 typedef RETSIGTYPE (*SigAction)(/* int??? */);
235 SigAction signal(int iSig, SigAction pAction); /* BSD compatible */
236 #endif
237 #endif
238
239 int ROKEN_LIB_FUNCTION simple_execve(const char*, char*const[], char*const[]);
240 int ROKEN_LIB_FUNCTION simple_execvp(const char*, char *const[]);
241 int ROKEN_LIB_FUNCTION simple_execlp(const char*, ...);
242 int ROKEN_LIB_FUNCTION simple_execle(const char*, ...);
243
244 void ROKEN_LIB_FUNCTION print_version(const char *);
245
246 void *ROKEN_LIB_FUNCTION emalloc (size_t);
247 void *ROKEN_LIB_FUNCTION erealloc (void *, size_t);
248 char *ROKEN_LIB_FUNCTION estrdup (const char *);
249
250 ssize_t ROKEN_LIB_FUNCTION eread (int fd, void *buf, size_t nbytes);
251 ssize_t ROKEN_LIB_FUNCTION ewrite (int fd, const void *buf, size_t nbytes);
252
253 void
254 socket_set_address_and_port (struct sockaddr *sa, const void *ptr, int port);
255
256 size_t
257 socket_addr_size (const struct sockaddr *sa);
258
259 void
260 socket_set_any (struct sockaddr *sa, int af);
261
262 size_t
263 socket_sockaddr_size (const struct sockaddr *sa);
264
265 void *
266 socket_get_address (struct sockaddr *sa);
267
268 int
269 socket_get_port (const struct sockaddr *sa);
270
271 void
272 socket_set_port (struct sockaddr *sa, int port);
273
274 void
275 socket_set_debug (int sock);
276
277 void
278 socket_set_tos (int sock, int tos);
279
280 void
281 socket_set_reuseaddr (int sock, int val);
282
283 #endif /* __ROKEN_COMMON_H__ */