linux/include/linux/inet.h
<<
>>
Prefs
   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
  52extern __be32 in_aton(const char *str);
  53extern int in4_pton(const char *src, int srclen, u8 *dst, int delim, const char **end);
  54extern int in6_pton(const char *src, int srclen, u8 *dst, int delim, const char **end);
  55
  56extern int inet_pton_with_scope(struct net *net, unsigned short af,
  57                const char *src, const char *port, struct sockaddr_storage *addr);
  58extern bool inet_addr_is_any(struct sockaddr *addr);
  59
  60#endif  /* _LINUX_INET_H */
  61