inet.h revision 1.21 1 1.21 perry /* $NetBSD: inet.h,v 1.21 2005/02/03 04:39:32 perry Exp $ */
2 1.11 bjh21
3 1.1 cgd /*
4 1.5 mrg * ++Copyright++ 1983, 1993
5 1.5 mrg * -
6 1.5 mrg * Copyright (c) 1983, 1993
7 1.5 mrg * The Regents of the University of California. All rights reserved.
8 1.5 mrg *
9 1.1 cgd * Redistribution and use in source and binary forms, with or without
10 1.1 cgd * modification, are permitted provided that the following conditions
11 1.1 cgd * are met:
12 1.1 cgd * 1. Redistributions of source code must retain the above copyright
13 1.1 cgd * notice, this list of conditions and the following disclaimer.
14 1.1 cgd * 2. Redistributions in binary form must reproduce the above copyright
15 1.1 cgd * notice, this list of conditions and the following disclaimer in the
16 1.1 cgd * documentation and/or other materials provided with the distribution.
17 1.18 agc * 3. Neither the name of the University nor the names of its contributors
18 1.1 cgd * may be used to endorse or promote products derived from this software
19 1.1 cgd * without specific prior written permission.
20 1.5 mrg *
21 1.1 cgd * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 1.1 cgd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 1.1 cgd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 1.1 cgd * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 1.1 cgd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 1.1 cgd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 1.1 cgd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 1.1 cgd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 1.1 cgd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 1.1 cgd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 1.1 cgd * SUCH DAMAGE.
32 1.5 mrg * -
33 1.5 mrg * Portions Copyright (c) 1993 by Digital Equipment Corporation.
34 1.5 mrg *
35 1.5 mrg * Permission to use, copy, modify, and distribute this software for any
36 1.5 mrg * purpose with or without fee is hereby granted, provided that the above
37 1.5 mrg * copyright notice and this permission notice appear in all copies, and that
38 1.5 mrg * the name of Digital Equipment Corporation not be used in advertising or
39 1.5 mrg * publicity pertaining to distribution of the document or software without
40 1.5 mrg * specific, written prior permission.
41 1.5 mrg *
42 1.5 mrg * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
43 1.5 mrg * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
44 1.5 mrg * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
45 1.5 mrg * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
46 1.5 mrg * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
47 1.5 mrg * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
48 1.5 mrg * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
49 1.5 mrg * SOFTWARE.
50 1.5 mrg * -
51 1.5 mrg * --Copyright--
52 1.20 christos */
53 1.20 christos
54 1.20 christos /*
55 1.5 mrg * @(#)inet.h 8.1 (Berkeley) 6/2/93
56 1.20 christos * Id: inet.h,v 1.1.206.1 2004/03/09 08:33:30 marka Exp
57 1.1 cgd */
58 1.1 cgd
59 1.8 perry #ifndef _ARPA_INET_H_
60 1.8 perry #define _ARPA_INET_H_
61 1.1 cgd
62 1.1 cgd /* External definitions for functions in inet(3) */
63 1.1 cgd
64 1.14 bjh21 #include <sys/ansi.h>
65 1.1 cgd #include <sys/cdefs.h>
66 1.14 bjh21 #include <sys/featuretest.h>
67 1.14 bjh21 #include <sys/types.h>
68 1.14 bjh21
69 1.10 bjh21 #include <netinet/in.h>
70 1.1 cgd
71 1.14 bjh21 #if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
72 1.14 bjh21 defined(_NETBSD_SOURCE)
73 1.12 kleink #ifndef socklen_t
74 1.12 kleink typedef __socklen_t socklen_t;
75 1.12 kleink #define socklen_t __socklen_t
76 1.12 kleink #endif
77 1.14 bjh21 #endif /* _POSIX_C_SOURCE >= 200112 || XOPEN_SOURCE >= 520 || _NETBSD_SOURCE */
78 1.12 kleink
79 1.1 cgd __BEGIN_DECLS
80 1.21 perry in_addr_t inet_addr(const char *);
81 1.21 perry in_addr_t inet_lnaof(struct in_addr);
82 1.21 perry struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
83 1.21 perry in_addr_t inet_netof(struct in_addr);
84 1.21 perry in_addr_t inet_network(const char *);
85 1.21 perry char *inet_ntoa(struct in_addr);
86 1.14 bjh21 #if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
87 1.14 bjh21 defined(_NETBSD_SOURCE)
88 1.21 perry const char *inet_ntop(int, const void * __restrict,
89 1.21 perry char * __restrict, socklen_t);
90 1.21 perry int inet_pton(int, const char * __restrict,
91 1.21 perry void * __restrict);
92 1.9 kleink #endif
93 1.13 bjh21 #if defined(_NETBSD_SOURCE)
94 1.21 perry int inet_aton(const char *, struct in_addr *);
95 1.21 perry char * inet_neta(u_long, char *, size_t);
96 1.21 perry char *inet_net_ntop(int, const void *, int, char *, size_t);
97 1.21 perry int inet_net_pton(int, const char *, void *, size_t);
98 1.21 perry char *inet_cidr_ntop(int, const void *, int, char *, size_t);
99 1.21 perry int inet_cidr_pton(int, const char *, void *, int *);
100 1.21 perry u_int inet_nsap_addr(const char *, u_char *, int);
101 1.21 perry char *inet_nsap_ntoa(int, const u_char *, char *);
102 1.9 kleink #endif
103 1.1 cgd __END_DECLS
104 1.1 cgd
105 1.8 perry #endif /* _ARPA_INET_H_ */
106