zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

inet.h (4798B) - Raw


      1 /*
      2  * ++Copyright++ 1983, 1993
      3  * -
      4  * Copyright (c) 1983, 1993
      5  *    The Regents of the University of California.  All rights reserved.
      6  * 
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions
      9  * are met:
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  * 2. Redistributions in binary form must reproduce the above copyright
     13  *    notice, this list of conditions and the following disclaimer in the
     14  *    documentation and/or other materials provided with the distribution.
     15  * 3. All advertising materials mentioning features or use of this software
     16  *    must display the following acknowledgement:
     17  * 	This product includes software developed by the University of
     18  * 	California, Berkeley and its contributors.
     19  * 4. Neither the name of the University nor the names of its contributors
     20  *    may be used to endorse or promote products derived from this software
     21  *    without specific prior written permission.
     22  * 
     23  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     26  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     33  * SUCH DAMAGE.
     34  * -
     35  * Portions Copyright (c) 1993 by Digital Equipment Corporation.
     36  * 
     37  * Permission to use, copy, modify, and distribute this software for any
     38  * purpose with or without fee is hereby granted, provided that the above
     39  * copyright notice and this permission notice appear in all copies, and that
     40  * the name of Digital Equipment Corporation not be used in advertising or
     41  * publicity pertaining to distribution of the document or software without
     42  * specific, written prior permission.
     43  * 
     44  * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
     45  * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
     46  * OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL DIGITAL EQUIPMENT
     47  * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
     48  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
     49  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
     50  * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
     51  * SOFTWARE.
     52  * -
     53  * --Copyright--
     54  */
     55 
     56 /*
     57  *	@(#)inet.h	8.1 (Berkeley) 6/2/93
     58  *	$Id: inet.h,v 1.10 2006/02/01 18:09:47 majka Exp $
     59  */
     60 
     61 #ifndef _ARPA_INET_H_
     62 #define	_ARPA_INET_H_
     63 
     64 /* External definitions for functions in inet(3), addr2ascii(3) */
     65 
     66 #include <_bounds.h>
     67 #include <sys/cdefs.h>
     68 #include <sys/_types.h>
     69 #include <stdint.h>		/* uint32_t uint16_t */
     70 #include <machine/endian.h>	/* htonl() and family if (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
     71 #include <sys/_endian.h>	/* htonl() and family if (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
     72 #include <netinet/in.h>		/* in_addr */
     73 
     74 _LIBC_SINGLE_BY_DEFAULT()
     75 
     76 __BEGIN_DECLS
     77 
     78 in_addr_t	 inet_addr(const char *);
     79 char		*_LIBC_CSTR  inet_ntoa(struct in_addr);
     80 const char	*inet_ntop(int, const void *, char *_LIBC_COUNT(__size), socklen_t __size);
     81 int		 inet_pton(int, const char *, void *);
     82 
     83 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
     84 int		 ascii2addr(int, const char *, void *);
     85 char *_LIBC_CSTR	addr2ascii(int, const void *_LIBC_SIZE(__size), int __size, char *_LIBC_UNSAFE_INDEXABLE);
     86 int		 inet_aton(const char *, struct in_addr *);
     87 in_addr_t	 inet_lnaof(struct in_addr);
     88 struct in_addr	 inet_makeaddr(in_addr_t, in_addr_t);
     89 in_addr_t	 inet_netof(struct in_addr);
     90 in_addr_t	 inet_network(const char *);
     91 char *_LIBC_CSTR	inet_net_ntop(int, const void *, int, char *_LIBC_COUNT(__size), __darwin_size_t __size);
     92 int		 inet_net_pton(int, const char *, void *_LIBC_SIZE(__size), __darwin_size_t __size);
     93 char *_LIBC_CSTR	inet_neta(in_addr_t, char *_LIBC_COUNT(__size), __darwin_size_t __size);
     94 unsigned int	 inet_nsap_addr(const char *, unsigned char *_LIBC_COUNT(__maxlen), int __maxlen);
     95 char *_LIBC_CSTR	inet_nsap_ntoa(int __binlen, const unsigned char *_LIBC_COUNT(__binlen), char *_LIBC_COUNT_OR_NULL(2 + __binlen*2 + __binlen/2 + 1));
     96 #endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
     97 
     98 __END_DECLS
     99 
    100 #endif /* !_ARPA_INET_H_ */