patches/uClibc/20080801/100-ifaddrs.patch
changeset 1617 7d70bcf940a9
parent 1602 1ba79f2126df
parent 1616 1fda13e5d961
child 1618 7f52e1cca71e
     1.1 --- a/patches/uClibc/20080801/100-ifaddrs.patch	Wed Oct 28 12:03:38 2009 +0100
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,190 +0,0 @@
     1.4 -Copyright 2008 Yann E. MORIN.
     1.5 -
     1.6 -This patch is needed to make gcc-4.3.1 able to build the Java frontend.
     1.7 -
     1.8 -Index: uClibc/libc/inet/ifaddrs.c
     1.9 -===================================================================
    1.10 ---- uClibc/libc/inet/ifaddrs.c	(revision 23002)
    1.11 -+++ uClibc/libc/inet/ifaddrs.c	(working copy)
    1.12 -@@ -22,7 +22,7 @@
    1.13 - #include <alloca.h>
    1.14 - #include <assert.h>
    1.15 - #include <errno.h>
    1.16 --#include "ifaddrs.h"
    1.17 -+#include <ifaddrs.h>
    1.18 - #include <net/if.h>
    1.19 - #include <netinet/in.h>
    1.20 - #include <netpacket/packet.h>
    1.21 -Index: uClibc/libc/inet/ifaddrs.h
    1.22 -===================================================================
    1.23 ---- uClibc/libc/inet/ifaddrs.h	(revision 23002)
    1.24 -+++ uClibc/libc/inet/ifaddrs.h	(working copy)
    1.25 -@@ -1,76 +0,0 @@
    1.26 --/* ifaddrs.h -- declarations for getting network interface addresses
    1.27 --   Copyright (C) 2002 Free Software Foundation, Inc.
    1.28 --   This file is part of the GNU C Library.
    1.29 --
    1.30 --   The GNU C Library is free software; you can redistribute it and/or
    1.31 --   modify it under the terms of the GNU Lesser General Public
    1.32 --   License as published by the Free Software Foundation; either
    1.33 --   version 2.1 of the License, or (at your option) any later version.
    1.34 --
    1.35 --   The GNU C Library is distributed in the hope that it will be useful,
    1.36 --   but WITHOUT ANY WARRANTY; without even the implied warranty of
    1.37 --   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    1.38 --   Lesser General Public License for more details.
    1.39 --
    1.40 --   You should have received a copy of the GNU Lesser General Public
    1.41 --   License along with the GNU C Library; if not, write to the Free
    1.42 --   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    1.43 --   02111-1307 USA.  */
    1.44 --
    1.45 --#ifndef _IFADDRS_H
    1.46 --#define _IFADDRS_H	1
    1.47 --
    1.48 --#include <features.h>
    1.49 --#include <sys/socket.h>
    1.50 --#include <stdbool.h>
    1.51 --#include <stdint.h>
    1.52 --
    1.53 --__BEGIN_DECLS
    1.54 --
    1.55 --/* The `getifaddrs' function generates a linked list of these structures.
    1.56 --   Each element of the list describes one network interface.  */
    1.57 --struct ifaddrs
    1.58 --{
    1.59 --  struct ifaddrs *ifa_next;	/* Pointer to the next structure.  */
    1.60 --
    1.61 --  char *ifa_name;		/* Name of this network interface.  */
    1.62 --  unsigned int ifa_flags;	/* Flags as from SIOCGIFFLAGS ioctl.  */
    1.63 --
    1.64 --  struct sockaddr *ifa_addr;	/* Network address of this interface.  */
    1.65 --  struct sockaddr *ifa_netmask; /* Netmask of this interface.  */
    1.66 --  union
    1.67 --  {
    1.68 --    /* At most one of the following two is valid.  If the IFF_BROADCAST
    1.69 --       bit is set in `ifa_flags', then `ifa_broadaddr' is valid.  If the
    1.70 --       IFF_POINTOPOINT bit is set, then `ifa_dstaddr' is valid.
    1.71 --       It is never the case that both these bits are set at once.  */
    1.72 --    struct sockaddr *ifu_broadaddr; /* Broadcast address of this interface. */
    1.73 --    struct sockaddr *ifu_dstaddr; /* Point-to-point destination address.  */
    1.74 --  } ifa_ifu;
    1.75 --  /* These very same macros are defined by <net/if.h> for `struct ifaddr'.
    1.76 --     So if they are defined already, the existing definitions will be fine.  */
    1.77 --# ifndef ifa_broadaddr
    1.78 --#  define ifa_broadaddr	ifa_ifu.ifu_broadaddr
    1.79 --# endif
    1.80 --# ifndef ifa_dstaddr
    1.81 --#  define ifa_dstaddr	ifa_ifu.ifu_dstaddr
    1.82 --# endif
    1.83 --
    1.84 --  void *ifa_data;		/* Address-specific data (may be unused).  */
    1.85 --};
    1.86 --
    1.87 --
    1.88 --/* Create a linked list of `struct ifaddrs' structures, one for each
    1.89 --   network interface on the host machine.  If successful, store the
    1.90 --   list in *IFAP and return 0.  On errors, return -1 and set `errno'.
    1.91 --
    1.92 --   The storage returned in *IFAP is allocated dynamically and can
    1.93 --   only be properly freed by passing it to `freeifaddrs'.  */
    1.94 --extern int getifaddrs (struct ifaddrs **__ifap) __THROW;
    1.95 --
    1.96 --/* Reclaim the storage allocated by a previous `getifaddrs' call.  */
    1.97 --extern void freeifaddrs (struct ifaddrs *__ifa)  __THROW;
    1.98 --
    1.99 --__END_DECLS
   1.100 --
   1.101 --#endif /* ifaddrs.h */
   1.102 -Index: uClibc/libc/inet/getaddrinfo.c
   1.103 -===================================================================
   1.104 ---- uClibc/libc/inet/getaddrinfo.c	(revision 23002)
   1.105 -+++ uClibc/libc/inet/getaddrinfo.c	(working copy)
   1.106 -@@ -68,7 +68,7 @@
   1.107 - #include <sys/un.h>
   1.108 - #include <sys/utsname.h>
   1.109 - #include <net/if.h>
   1.110 --#include "ifaddrs.h"
   1.111 -+#include <ifaddrs.h>
   1.112 - 
   1.113 - /* Experimentally off - libc_hidden_proto(memcpy) */
   1.114 - /* Experimentally off - libc_hidden_proto(memset) */
   1.115 ---- /dev/null	2008-08-04 09:44:45.624322752 +0200
   1.116 -+++ uClibc/include/ifaddrs.h	2008-08-05 09:31:20.000000000 +0200
   1.117 -@@ -0,0 +1,76 @@
   1.118 -+/* ifaddrs.h -- declarations for getting network interface addresses
   1.119 -+   Copyright (C) 2002 Free Software Foundation, Inc.
   1.120 -+   This file is part of the GNU C Library.
   1.121 -+
   1.122 -+   The GNU C Library is free software; you can redistribute it and/or
   1.123 -+   modify it under the terms of the GNU Lesser General Public
   1.124 -+   License as published by the Free Software Foundation; either
   1.125 -+   version 2.1 of the License, or (at your option) any later version.
   1.126 -+
   1.127 -+   The GNU C Library is distributed in the hope that it will be useful,
   1.128 -+   but WITHOUT ANY WARRANTY; without even the implied warranty of
   1.129 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   1.130 -+   Lesser General Public License for more details.
   1.131 -+
   1.132 -+   You should have received a copy of the GNU Lesser General Public
   1.133 -+   License along with the GNU C Library; if not, write to the Free
   1.134 -+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   1.135 -+   02111-1307 USA.  */
   1.136 -+
   1.137 -+#ifndef _IFADDRS_H
   1.138 -+#define _IFADDRS_H	1
   1.139 -+
   1.140 -+#include <features.h>
   1.141 -+#include <sys/socket.h>
   1.142 -+#include <stdbool.h>
   1.143 -+#include <stdint.h>
   1.144 -+
   1.145 -+__BEGIN_DECLS
   1.146 -+
   1.147 -+/* The `getifaddrs' function generates a linked list of these structures.
   1.148 -+   Each element of the list describes one network interface.  */
   1.149 -+struct ifaddrs
   1.150 -+{
   1.151 -+  struct ifaddrs *ifa_next;	/* Pointer to the next structure.  */
   1.152 -+
   1.153 -+  char *ifa_name;		/* Name of this network interface.  */
   1.154 -+  unsigned int ifa_flags;	/* Flags as from SIOCGIFFLAGS ioctl.  */
   1.155 -+
   1.156 -+  struct sockaddr *ifa_addr;	/* Network address of this interface.  */
   1.157 -+  struct sockaddr *ifa_netmask; /* Netmask of this interface.  */
   1.158 -+  union
   1.159 -+  {
   1.160 -+    /* At most one of the following two is valid.  If the IFF_BROADCAST
   1.161 -+       bit is set in `ifa_flags', then `ifa_broadaddr' is valid.  If the
   1.162 -+       IFF_POINTOPOINT bit is set, then `ifa_dstaddr' is valid.
   1.163 -+       It is never the case that both these bits are set at once.  */
   1.164 -+    struct sockaddr *ifu_broadaddr; /* Broadcast address of this interface. */
   1.165 -+    struct sockaddr *ifu_dstaddr; /* Point-to-point destination address.  */
   1.166 -+  } ifa_ifu;
   1.167 -+  /* These very same macros are defined by <net/if.h> for `struct ifaddr'.
   1.168 -+     So if they are defined already, the existing definitions will be fine.  */
   1.169 -+# ifndef ifa_broadaddr
   1.170 -+#  define ifa_broadaddr	ifa_ifu.ifu_broadaddr
   1.171 -+# endif
   1.172 -+# ifndef ifa_dstaddr
   1.173 -+#  define ifa_dstaddr	ifa_ifu.ifu_dstaddr
   1.174 -+# endif
   1.175 -+
   1.176 -+  void *ifa_data;		/* Address-specific data (may be unused).  */
   1.177 -+};
   1.178 -+
   1.179 -+
   1.180 -+/* Create a linked list of `struct ifaddrs' structures, one for each
   1.181 -+   network interface on the host machine.  If successful, store the
   1.182 -+   list in *IFAP and return 0.  On errors, return -1 and set `errno'.
   1.183 -+
   1.184 -+   The storage returned in *IFAP is allocated dynamically and can
   1.185 -+   only be properly freed by passing it to `freeifaddrs'.  */
   1.186 -+extern int getifaddrs (struct ifaddrs **__ifap) __THROW;
   1.187 -+
   1.188 -+/* Reclaim the storage allocated by a previous `getifaddrs' call.  */
   1.189 -+extern void freeifaddrs (struct ifaddrs *__ifa)  __THROW;
   1.190 -+
   1.191 -+__END_DECLS
   1.192 -+
   1.193 -+#endif /* ifaddrs.h */