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