1 1.24 christos /* $NetBSD: inet.h,v 1.24 2008/06/21 20:12:49 christos 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.22 christos /*% 55 1.5 mrg * @(#)inet.h 8.1 (Berkeley) 6/2/93 56 1.24 christos * Id: inet.h,v 1.3 2005/04/27 04:56:16 sra 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