1 /*
2  *		Swansea University Computer Society NET3
3  *
4  *	This work is derived from NET2Debugged, which is in turn derived
5  *	from NET2D which was written by:
6  * 		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
7  *
8  *		This work was derived from Ross Biro's inspirational work
9  *		for the LINUX operating system.  His version numbers were:
10  *
11  *		$Id: Space.c,v     0.8.4.5  1992/12/12 19:25:04 bir7 Exp $
12  *		$Id: arp.c,v       0.8.4.6  1993/01/28 22:30:00 bir7 Exp $
13  *		$Id: arp.h,v       0.8.4.6  1993/01/28 22:30:00 bir7 Exp $
14  *		$Id: dev.c,v       0.8.4.13 1993/01/23 18:00:11 bir7 Exp $
15  *		$Id: dev.h,v       0.8.4.7  1993/01/23 18:00:11 bir7 Exp $
16  *		$Id: eth.c,v       0.8.4.4  1993/01/22 23:21:38 bir7 Exp $
17  *		$Id: eth.h,v       0.8.4.1  1992/11/10 00:17:18 bir7 Exp $
18  *		$Id: icmp.c,v      0.8.4.9  1993/01/23 18:00:11 bir7 Exp $
19  *		$Id: icmp.h,v      0.8.4.2  1992/11/15 14:55:30 bir7 Exp $
20  * 		$Id: ip.c,v        0.8.4.8  1992/12/12 19:25:04 bir7 Exp $
21  * 		$Id: ip.h,v        0.8.4.2  1993/01/23 18:00:11 bir7 Exp $
22  * 		$Id: loopback.c,v  0.8.4.8  1993/01/23 18:00:11 bir7 Exp $
23  * 		$Id: packet.c,v    0.8.4.7  1993/01/26 22:04:00 bir7 Exp $
24  *		$Id: protocols.c,v 0.8.4.3  1992/11/15 14:55:30 bir7 Exp $
25  *		$Id: raw.c,v       0.8.4.12 1993/01/26 22:04:00 bir7 Exp $
26  *		$Id: sock.c,v      0.8.4.6  1993/01/28 22:30:00 bir7 Exp $
27  *		$Id: sock.h,v      0.8.4.7  1993/01/26 22:04:00 bir7 Exp $
28  *		$Id: tcp.c,v       0.8.4.16 1993/01/26 22:04:00 bir7 Exp $
29  *		$Id: tcp.h,v       0.8.4.7  1993/01/22 22:58:08 bir7 Exp $
30  *		$Id: timer.c,v     0.8.4.8  1993/01/23 18:00:11 bir7 Exp $
31  *		$Id: timer.h,v     0.8.4.2  1993/01/23 18:00:11 bir7 Exp $
32  *		$Id: udp.c,v       0.8.4.12 1993/01/26 22:04:00 bir7 Exp $
33  *		$Id: udp.h,v       0.8.4.1  1992/11/10 00:17:18 bir7 Exp $
34  *		$Id: we.c,v        0.8.4.10 1993/01/23 18:00:11 bir7 Exp $
35  *		$Id: wereg.h,v     0.8.4.1  1992/11/10 00:17:18 bir7 Exp $
36  *
37  *		This program is free software; you can redistribute it and/or
38  *		modify it under the terms of the GNU General Public License
39  *		as published by the Free Software Foundation; either version
40  *		2 of the License, or (at your option) any later version.
41  */
42 #ifndef _LINUX_INET_H
43 #define _LINUX_INET_H
44 
45 #include <linux/types.h>
46 #include <net/net_namespace.h>
47 #include <linux/socket.h>
48 
49 /*
50  * These mimic similar macros defined in user-space for inet_ntop(3).
51  * See /usr/include/netinet/in.h .
52  */
53 #define INET_ADDRSTRLEN		(16)
54 #define INET6_ADDRSTRLEN	(48)
55 
56 extern __be32 in_aton(const char *str);
57 extern int in4_pton(const char *src, int srclen, u8 *dst, int delim, const char **end);
58 extern int in6_pton(const char *src, int srclen, u8 *dst, int delim, const char **end);
59 
60 extern int inet_pton_with_scope(struct net *net, unsigned short af,
61 		const char *src, const char *port, struct sockaddr_storage *addr);
62 extern bool inet_addr_is_any(struct sockaddr *addr);
63 
64 #endif	/* _LINUX_INET_H */
65