7f1deee65e
This implementation supports only IPv4. * inet/ifaddrs.h: New file. * sysdeps/generic/ifaddrs.c: New file. * sysdeps/gnu/ifaddrs.c: New file. * inet/test-ifaddrs.c: New file. * inet/Makefile (routines): Add ifaddrs. (headers): Add ifaddrs.h here. (tests): Add test-ifaddrs. * inet/Versions (GLIBC_2.3): New set, add getifaddrs and freeifaddrs. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Use an explicit socket call to get an AF_INET socket, instead of using __opensock. The SIOCGIFNETMASK ioctl will work only with a PF_INET socket. * sysdeps/generic/ifreq.h (__ifreq): Take third argument SOCKFD, if not -1 use it instead of calling __opensock. * sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise. * sysdeps/mach/hurd/ifreq.h (__ifreq): Take new argument and ignore it. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Pass new argument. * sysdeps/mach/hurd/ifreq.h: New file. * sysdeps/generic/ifreq.h (__if_freereq): Take second argument NUM_IFS. * sysdeps/unix/sysv/linux/ifreq.h (__if_freereq): Likewise. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Update caller.
71 lines
2.4 KiB
Makefile
71 lines
2.4 KiB
Makefile
# Copyright (C) 1991-1999,2000,01,02 Free Software Foundation, Inc.
|
|
# This file is part of the GNU C Library.
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
|
|
# The GNU C Library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with the GNU C Library; if not, write to the Free
|
|
# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
# 02111-1307 USA.
|
|
|
|
#
|
|
# Sub-makefile for inet portion of the library.
|
|
#
|
|
subdir := inet
|
|
|
|
headers := netinet/ether.h netinet/in.h netinet/in_systm.h \
|
|
netinet/if_ether.h \
|
|
netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \
|
|
aliases.h ifaddrs.h netinet/ip6.h netinet/icmp6.h bits/in.h
|
|
|
|
distribute := netgroup.h
|
|
|
|
routines := htonl htons \
|
|
inet_lnaof inet_mkadr \
|
|
inet_netof inet_ntoa inet_net herrno \
|
|
gethstbyad gethstbyad_r gethstbynm gethstbynm2 gethstbynm2_r \
|
|
gethstbynm_r gethstent gethstent_r \
|
|
getnetbyad getnetbyad_r getnetbynm getnetent getnetent_r \
|
|
getnetbynm_r \
|
|
getproto getproto_r getprtent getprtent_r getprtname getprtname_r \
|
|
getsrvbynm getsrvbynm_r getsrvbypt getsrvbypt_r getservent \
|
|
getservent_r \
|
|
getrpcent getrpcbyname getrpcbynumber \
|
|
getrpcent_r getrpcbyname_r getrpcbynumber_r \
|
|
ether_aton ether_aton_r ether_hton ether_line \
|
|
ether_ntoa ether_ntoa_r ether_ntoh \
|
|
rcmd rexec ruserpass \
|
|
getnetgrent_r getnetgrent \
|
|
getaliasent_r getaliasent getaliasname getaliasname_r \
|
|
in6_addr getnameinfo if_index ifaddrs
|
|
|
|
tests := htontest test_ifindex tst-ntoa tst-ether_aton tst-network \
|
|
tst-gethnm test-ifaddrs
|
|
|
|
include ../Rules
|
|
|
|
ifeq ($(have-thread-library),yes)
|
|
|
|
CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1
|
|
CFLAGS-gethstbynm_r.c = -DUSE_NSCD=1
|
|
CFLAGS-gethstbynm2_r.c = -DUSE_NSCD=1
|
|
|
|
endif
|
|
|
|
ifeq ($(build-static-nss),yes)
|
|
CFLAGS += -DSTATIC_NSS
|
|
endif
|
|
|
|
ifeq (yes,$(build-static-nss))
|
|
otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
|
|
$(resolvobjdir)/libresolv.a
|
|
endif
|