inet.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. #include <linux/types.h>
  41. #include <net/net_namespace.h>
  42. #include <linux/socket.h>
  43. /*
  44. * These mimic similar macros defined in user-space for inet_ntop(3).
  45. * See /usr/include/netinet/in.h .
  46. */
  47. #define INET_ADDRSTRLEN (16)
  48. #define INET6_ADDRSTRLEN (48)
  49. extern __be32 in_aton(const char *str);
  50. extern int in4_pton(const char *src, int srclen, u8 *dst, int delim, const char **end);
  51. extern int in6_pton(const char *src, int srclen, u8 *dst, int delim, const char **end);
  52. extern int inet_pton_with_scope(struct net *net, unsigned short af,
  53. const char *src, const char *port, struct sockaddr_storage *addr);
  54. extern bool inet_addr_is_any(struct sockaddr *addr);
  55. #endif /* _LINUX_INET_H */