4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
21 * Copyright 2014 Garrett D'Amore <garrett@damore.org>
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
26 * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
29 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
30 /* All Rights Reserved */
33 * Portions of this source code were derived from Berkeley 4.3 BSD
34 * under license from the Regents of the University of California.
40 #include <sys/feature_tests.h>
42 #if !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__)
43 #include <sys/socket.h>
44 #endif /* !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__) */
46 #include <netinet/in.h>
47 #if defined(_XPG4_2) && !defined(__EXTENSIONS__)
48 #include <sys/byteorder.h>
49 #endif /* defined(_XPG4_2) && !defined(__EXTENSIONS__) */
56 * External definitions for
57 * functions in inet(3N)
59 #if !defined(_XPG4_2) || defined(__EXTENSIONS__)
60 extern int inet_net_pton(int, const char *, void *, size_t);
61 extern int inet_matchaddr(const void *, const char *);
62 #endif /* !defined(_XPG4_2) || defined(__EXTENSIONS__) */
64 #if !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__)
65 extern int inet_pton(int, const char *_RESTRICT_KYWD
, void *_RESTRICT_KYWD
);
66 extern const char *inet_ntop(int, const void *_RESTRICT_KYWD
,
67 char *_RESTRICT_KYWD
, socklen_t
);
68 #endif /* !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__) */
70 extern in_addr_t
inet_addr(const char *);
72 * With the introduction of CIDR the
73 * following 4 routines are now considered to be Obsolete
75 extern in_addr_t
inet_lnaof(struct in_addr
);
76 extern struct in_addr
inet_makeaddr(in_addr_t
, in_addr_t
);
77 extern in_addr_t
inet_netof(struct in_addr
);
78 extern in_addr_t
inet_network(const char *);
81 extern char *inet_neta(ulong_t
, char *, size_t);
82 extern char *inet_net_ntop(int, const void *, int, char *, size_t);
84 extern char *inet_cidr_ntop(int, const void *, int, char *, size_t);
85 extern int inet_cidr_pton(int, const char *, void *, int *);
86 extern char *inet_ntoa(struct in_addr
);
87 extern int inet_aton(const char *, struct in_addr
*);
89 extern uint_t
inet_nsap_addr(const char *, uchar_t
*, int);
90 extern char *inet_nsap_ntoa(int, const uchar_t
*, char *);
96 #endif /* _ARPA_INET_H */