diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-06-03 08:11:56 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-06-03 08:11:56 +0000 |
commit | 4cc4b30426c5e5a0ecf912791e3f27312438d10e (patch) | |
tree | 81c31f4bde953f135d9e63582b162c17cc173f10 /libc/inet/getaddrinfo.c | |
parent | 1f124eb0280a5009f1265a9dca49fdb0d95b845e (diff) |
- adds several config-options to allow for turning off certain features
like
o UCLIBC_HAS_GNU_ERROR
o UCLIBC_HAS_BSD_ERR
o UCLIBC_HAS_PTY
o UCLIBC_HAS_GETPT (1)
o UCLIBC_SYSCALL_STUBS
o UCLIBC_SYSCALL_STUB_WARNING
o UCLIBC_LINUX_SPECIFIC (2)
o UCLIBC_BSD_SPECIFIC (3)
o UCLIBC_NTP_LEGACY (4)
o UCLIBC_SV4_DEPRECATED (5)
o UCLIBC_HAVE_REALTIME (6)
o UCLIBC_HAVE_ADVANCED_REALTIME (7)
o UCLIBC_HAVE_EPOLL (8)
o UCLIBC_HAVE_XATTR (9)
o UCLIBC_HAVE_PROFILING (10)
(1) make non-standard getpt optional and implement standard posix_openpt
(2) fstatfs(), inotify_*(), ioperm(), iopl(), madvise(), modify_ldt(),
personality()
ppoll(), setresuid()
(3) mincore(), getdomainname(), setdomainname()
(4) ntp_adjtime(), ntp_gettime() aliases
(5) ustat() [use statfs(2) in your code instead]
(6) All marked as "(REALTIME)" in SUSv3
(7) All marked as "(ADVANCED REALTIME)" in SUSv3
(8) epoll_create(), epoll_ctl(), epoll_wait()
(9) all Extended Attributes
(10) helpers for gcc's -finstrument-functions
- Fixes _dl_exit()
- Implements sleep(3) for !UCLIBC_HAVE_REALTIME
- Implements usleep(3) for !UCLIBC_HAVE_REALTIME
- adds #warning about incorrect posix_fadvise{,64}()
- removes unused and unwanted uselib()
Net outcome is that an allnoconfig with HAVE_SHARED is now about 88k instead
of formerly 130k.
Diffstat (limited to 'libc/inet/getaddrinfo.c')
-rw-r--r-- | libc/inet/getaddrinfo.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/libc/inet/getaddrinfo.c b/libc/inet/getaddrinfo.c index 0b885afd2..e3caf6f0d 100644 --- a/libc/inet/getaddrinfo.c +++ b/libc/inet/getaddrinfo.c @@ -501,7 +501,7 @@ gaih_inet (const char *name, const struct gaih_service *service, return -EAI_FAMILY; } -#if __UCLIBC_HAS_IPV6__ +#if defined __UCLIBC_HAS_IPV6__ if (at->family == AF_UNSPEC) { char *namebuf = strdupa (name); @@ -558,7 +558,7 @@ gaih_inet (const char *name, const struct gaih_service *service, * IPv6 addresses. */ -#if __UCLIBC_HAS_IPV6__ +#if defined __UCLIBC_HAS_IPV6__ if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET6) gethosts (AF_INET6, struct in6_addr); #endif @@ -598,7 +598,7 @@ gaih_inet (const char *name, const struct gaih_service *service, memset (at->next, '\0', sizeof (struct gaih_addrtuple)); } -#if __UCLIBC_HAS_IPV6__ +#if defined __UCLIBC_HAS_IPV6__ if (req->ai_family == 0 || req->ai_family == AF_INET6) { at->family = AF_INET6; @@ -680,19 +680,22 @@ gaih_inet (const char *name, const struct gaih_service *service, else namelen = 0; -#if __UCLIBC_HAS_IPV6__ +#if defined __UCLIBC_HAS_IPV6__ if (at2->family == AF_INET6 || v4mapped) { family = AF_INET6; socklen = sizeof (struct sockaddr_in6); } +#endif +#if defined __UCLIBC_HAS_IPV4__ && defined __UCLIBC_HAS_IPV6__ else #endif +#if defined __UCLIBC_HAS_IPV4__ { family = AF_INET; socklen = sizeof (struct sockaddr_in); } - +#endif for (st2 = st; st2 != NULL; st2 = st2->next) { *pai = malloc (sizeof (struct addrinfo) + socklen + namelen); @@ -710,7 +713,7 @@ gaih_inet (const char *name, const struct gaih_service *service, #endif /* SALEN */ (*pai)->ai_addr->sa_family = family; -#if __UCLIBC_HAS_IPV6__ +#if defined __UCLIBC_HAS_IPV6__ if (family == AF_INET6) { struct sockaddr_in6 *sin6p = @@ -733,8 +736,11 @@ gaih_inet (const char *name, const struct gaih_service *service, sin6p->sin6_port = st2->port; sin6p->sin6_scope_id = at2->scopeid; } +#endif +#if defined __UCLIBC_HAS_IPV4__ && defined __UCLIBC_HAS_IPV6__ else #endif +#if defined __UCLIBC_HAS_IPV4__ { struct sockaddr_in *sinp = (struct sockaddr_in *) (*pai)->ai_addr; @@ -744,7 +750,7 @@ gaih_inet (const char *name, const struct gaih_service *service, sinp->sin_port = st2->port; memset (sinp->sin_zero, '\0', sizeof (sinp->sin_zero)); } - +#endif if (c) { (*pai)->ai_canonname = ((void *) (*pai) + @@ -766,7 +772,7 @@ gaih_inet (const char *name, const struct gaih_service *service, static struct gaih gaih[] = { -#if __UCLIBC_HAS_IPV6__ +#if defined __UCLIBC_HAS_IPV6__ { PF_INET6, gaih_inet }, #endif { PF_INET, gaih_inet }, |