summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/resolv.h2
-rw-r--r--libc/inet/Makefile.in27
-rw-r--r--libc/inet/gethostent_r.c (renamed from libc/inet/resolvename.c)2
-rw-r--r--libc/inet/resolv.c265
-rw-r--r--libc/inet/resolveaddress.c8
5 files changed, 152 insertions, 152 deletions
diff --git a/include/resolv.h b/include/resolv.h
index d5168770d..9fcc2b48c 100644
--- a/include/resolv.h
+++ b/include/resolv.h
@@ -149,7 +149,7 @@ struct __res_state {
* is the number of addresses of all kinds.
*
* If this differs from established usage and you need
- * to change this, please describe how is it supposed to work.
+ * to change this, please describe how it is supposed to work.
*/
union {
struct {
diff --git a/libc/inet/Makefile.in b/libc/inet/Makefile.in
index f6ee48f9d..b15f49e5f 100644
--- a/libc/inet/Makefile.in
+++ b/libc/inet/Makefile.in
@@ -12,7 +12,7 @@ INET_OUT := $(top_builddir)libc/inet
CSRC :=
ifneq ($(UCLIBC_HAS_CRYPT_IMPL)$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
-# des uses nthol
+# des uses ntohl
CSRC += ntohl.c
endif
ifneq ($(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
@@ -25,21 +25,25 @@ CSRC += in6_addr.c
endif
# multi source addr.c
-addr_CSRC := inet_aton.c inet_addr.c inet_ntoa.c inet_makeaddr.c \
+addr_CSRC := \
+ inet_aton.c inet_addr.c inet_ntoa.c inet_makeaddr.c \
inet_lnaof.c inet_netof.c
ifneq ($(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
CSRC += $(addr_CSRC)
endif
# multi source resolv.c
-resolv_CSRC += encodeh.c decodeh.c encoded.c decoded.c lengthd.c encodeq.c \
- decodeq.c lengthq.c encodea.c decodea.c \
- dnslookup.c resolveaddress.c opennameservers.c \
- closenameservers.c resolvename.c gethostbyname.c res_init.c \
- res_query.c gethostbyaddr.c read_etc_hosts_r.c get_hosts_byname_r.c \
- get_hosts_byaddr_r.c gethostbyname2.c getnameinfo.c gethostent.c \
- gethostbyname_r.c gethostbyname2_r.c gethostbyaddr_r.c \
- res_comp.c ns_name.c ethers.c
+resolv_CSRC += \
+ encodeh.c decodeh.c encoded.c decoded.c lengthd.c \
+ encodeq.c decodeq.c lengthq.c encodea.c decodea.c \
+ dnslookup.c opennameservers.c closenameservers.c \
+ read_etc_hosts_r.c get_hosts_byaddr_r.c get_hosts_byname_r.c \
+ getnameinfo.c \
+ gethostbyaddr_r.c gethostbyname_r.c gethostbyname2_r.c gethostent_r.c \
+ gethostbyaddr.c gethostbyname.c gethostbyname2.c gethostent.c \
+ res_init.c res_query.c res_comp.c ns_name.c \
+ ethers.c
+#FIXME! ethers.c is a separate file, not a part of resolv.c - !?
ifneq ($(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
CSRC += $(resolv_CSRC)
@@ -49,7 +53,8 @@ endif
# multi source socketcalls.c
-socketcalls_CSRC += accept.c bind.c connect.c getpeername.c getsockname.c \
+socketcalls_CSRC += \
+ accept.c bind.c connect.c getpeername.c getsockname.c \
getsockopt.c listen.c recv.c recvfrom.c recvmsg.c send.c sendmsg.c \
sendto.c setsockopt.c shutdown.c socket.c socketpair.c
ifeq ($(UCLIBC_HAS_SOCKET),y)
diff --git a/libc/inet/resolvename.c b/libc/inet/gethostent_r.c
index 157878fd1..aeade155d 100644
--- a/libc/inet/resolvename.c
+++ b/libc/inet/gethostent_r.c
@@ -4,5 +4,5 @@
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
-#define L_resolvename
+#define L_gethostent_r
#include "resolv.c"
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
index 5fe8a8ed7..ebac845d3 100644
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -1563,78 +1563,6 @@ int attribute_hidden __read_etc_hosts_r(
#endif
-#ifdef L_gethostent
-
-__UCLIBC_MUTEX_STATIC(mylock, PTHREAD_MUTEX_INITIALIZER);
-
-static smallint __stay_open;
-static FILE * __gethostent_fp;
-
-void endhostent(void)
-{
- __UCLIBC_MUTEX_LOCK(mylock);
- __stay_open = 0;
- if (__gethostent_fp) {
- fclose(__gethostent_fp);
- __gethostent_fp = NULL;
- }
- __UCLIBC_MUTEX_UNLOCK(mylock);
-}
-
-void sethostent(int stay_open)
-{
- __UCLIBC_MUTEX_LOCK(mylock);
- __stay_open = (stay_open != 0);
- __UCLIBC_MUTEX_UNLOCK(mylock);
-}
-
-int gethostent_r(struct hostent *result_buf, char *buf, size_t buflen,
- struct hostent **result, int *h_errnop)
-{
- int ret;
-
- __UCLIBC_MUTEX_LOCK(mylock);
- if (__gethostent_fp == NULL) {
- __gethostent_fp = __open_etc_hosts();
- if (__gethostent_fp == NULL) {
- *result = NULL;
- ret = TRY_AGAIN;
- goto DONE;
- }
- }
-
- ret = __read_etc_hosts_r(__gethostent_fp, NULL, AF_INET, GETHOSTENT,
- result_buf, buf, buflen, result, h_errnop);
- if (__stay_open == 0) {
- fclose(__gethostent_fp);
- __gethostent_fp = NULL;
- }
-DONE:
- __UCLIBC_MUTEX_UNLOCK(mylock);
- return ret;
-}
-libc_hidden_def(gethostent_r)
-
-//TODO: move into separat .o file!
-struct hostent *gethostent(void)
-{
- static struct hostent h;
- static char buf[
-#ifndef __UCLIBC_HAS_IPV6__
- sizeof(struct in_addr) + sizeof(struct in_addr *) * 2 +
-#else
- sizeof(struct in6_addr) + sizeof(struct in6_addr *) * 2 +
-#endif /* __UCLIBC_HAS_IPV6__ */
- sizeof(char *) * ALIAS_DIM +
- 80 /*namebuffer*/ + 2 /* margin */];
- struct hostent *host;
-
- gethostent_r(&h, buf, sizeof(buf), &host, &h_errno);
- return host;
-}
-#endif
-
-
#ifdef L_get_hosts_byname_r
int attribute_hidden __get_hosts_byname_r(const char * name, int type,
@@ -1681,69 +1609,11 @@ int attribute_hidden __get_hosts_byaddr_r(const char * addr, int len, int type,
inet_ntop(type, addr, ipaddr, sizeof(ipaddr));
return __read_etc_hosts_r(NULL, ipaddr, type, GET_HOSTS_BYADDR,
- result_buf, buf, buflen, result, h_errnop);
+ result_buf, buf, buflen, result, h_errnop);
}
#endif
-#ifdef L_gethostbyname
-
-struct hostent *gethostbyname(const char *name)
-{
- static struct hostent h;
- static char buf[sizeof(struct in_addr) +
- sizeof(struct in_addr *) * 2 +
- sizeof(char *)*ALIAS_DIM + 384/*namebuffer*/ + 32/* margin */];
- struct hostent *hp;
-
- gethostbyname_r(name, &h, buf, sizeof(buf), &hp, &h_errno);
- return hp;
-}
-libc_hidden_def(gethostbyname)
-#endif
-
-
-#ifdef L_gethostbyname2
-
-struct hostent *gethostbyname2(const char *name, int family)
-{
-#ifndef __UCLIBC_HAS_IPV6__
- return family == AF_INET ? gethostbyname(name) : (struct hostent*)NULL;
-#else
- static struct hostent h;
- static char buf[sizeof(struct in6_addr) +
- sizeof(struct in6_addr *) * 2 +
- sizeof(char *)*ALIAS_DIM + 384/*namebuffer*/ + 32/* margin */];
- struct hostent *hp;
-
- gethostbyname2_r(name, family, &h, buf, sizeof(buf), &hp, &h_errno);
- return hp;
-#endif
-}
-#endif
-
-
-#ifdef L_gethostbyaddr
-
-struct hostent *gethostbyaddr(const void *addr, socklen_t len, int type)
-{
- static struct hostent h;
- static char buf[
-#ifndef __UCLIBC_HAS_IPV6__
- sizeof(struct in_addr) + sizeof(struct in_addr *)*2 +
-#else
- sizeof(struct in6_addr) + sizeof(struct in6_addr *)*2 +
-#endif /* __UCLIBC_HAS_IPV6__ */
- sizeof(char *)*ALIAS_DIM + 384 /*namebuffer*/ + 32 /* margin */];
- struct hostent *hp;
-
- gethostbyaddr_r(addr, len, type, &h, buf, sizeof(buf), &hp, &h_errno);
- return hp;
-}
-libc_hidden_def(gethostbyaddr)
-#endif
-
-
#ifdef L_getnameinfo
int getnameinfo(const struct sockaddr *sa, socklen_t addrlen, char *host,
@@ -2488,6 +2358,139 @@ libc_hidden_def(gethostbyaddr_r)
#endif
+#ifdef L_gethostent_r
+
+__UCLIBC_MUTEX_STATIC(mylock, PTHREAD_MUTEX_INITIALIZER);
+
+static smallint __stay_open;
+static FILE * __gethostent_fp;
+
+void endhostent(void)
+{
+ __UCLIBC_MUTEX_LOCK(mylock);
+ __stay_open = 0;
+ if (__gethostent_fp) {
+ fclose(__gethostent_fp);
+ __gethostent_fp = NULL;
+ }
+ __UCLIBC_MUTEX_UNLOCK(mylock);
+}
+
+void sethostent(int stay_open)
+{
+ __UCLIBC_MUTEX_LOCK(mylock);
+ __stay_open = (stay_open != 0);
+ __UCLIBC_MUTEX_UNLOCK(mylock);
+}
+
+int gethostent_r(struct hostent *result_buf, char *buf, size_t buflen,
+ struct hostent **result, int *h_errnop)
+{
+ int ret;
+
+ __UCLIBC_MUTEX_LOCK(mylock);
+ if (__gethostent_fp == NULL) {
+ __gethostent_fp = __open_etc_hosts();
+ if (__gethostent_fp == NULL) {
+ *result = NULL;
+ ret = TRY_AGAIN;
+ goto DONE;
+ }
+ }
+
+ ret = __read_etc_hosts_r(__gethostent_fp, NULL, AF_INET, GETHOSTENT,
+ result_buf, buf, buflen, result, h_errnop);
+ if (__stay_open == 0) {
+ fclose(__gethostent_fp);
+ __gethostent_fp = NULL;
+ }
+DONE:
+ __UCLIBC_MUTEX_UNLOCK(mylock);
+ return ret;
+}
+libc_hidden_def(gethostent_r)
+#endif
+
+
+#ifdef L_gethostent
+
+struct hostent *gethostent(void)
+{
+ static struct hostent h;
+ static char buf[
+#ifndef __UCLIBC_HAS_IPV6__
+ sizeof(struct in_addr) + sizeof(struct in_addr *) * 2 +
+#else
+ sizeof(struct in6_addr) + sizeof(struct in6_addr *) * 2 +
+#endif /* __UCLIBC_HAS_IPV6__ */
+ sizeof(char *) * ALIAS_DIM +
+ 80 /*namebuffer*/ + 2 /* margin */];
+ struct hostent *host;
+
+ gethostent_r(&h, buf, sizeof(buf), &host, &h_errno);
+ return host;
+}
+#endif
+
+
+#ifdef L_gethostbyname
+
+struct hostent *gethostbyname(const char *name)
+{
+ static struct hostent h;
+ static char buf[sizeof(struct in_addr) +
+ sizeof(struct in_addr *) * 2 +
+ sizeof(char *)*ALIAS_DIM + 384/*namebuffer*/ + 32/* margin */];
+ struct hostent *hp;
+
+ gethostbyname_r(name, &h, buf, sizeof(buf), &hp, &h_errno);
+ return hp;
+}
+libc_hidden_def(gethostbyname)
+#endif
+
+
+#ifdef L_gethostbyname2
+
+struct hostent *gethostbyname2(const char *name, int family)
+{
+#ifndef __UCLIBC_HAS_IPV6__
+ return family == AF_INET ? gethostbyname(name) : (struct hostent*)NULL;
+#else
+ static struct hostent h;
+ static char buf[sizeof(struct in6_addr) +
+ sizeof(struct in6_addr *) * 2 +
+ sizeof(char *)*ALIAS_DIM + 384/*namebuffer*/ + 32/* margin */];
+ struct hostent *hp;
+
+ gethostbyname2_r(name, family, &h, buf, sizeof(buf), &hp, &h_errno);
+ return hp;
+#endif
+}
+#endif
+
+
+#ifdef L_gethostbyaddr
+
+struct hostent *gethostbyaddr(const void *addr, socklen_t len, int type)
+{
+ static struct hostent h;
+ static char buf[
+#ifndef __UCLIBC_HAS_IPV6__
+ sizeof(struct in_addr) + sizeof(struct in_addr *)*2 +
+#else
+ sizeof(struct in6_addr) + sizeof(struct in6_addr *)*2 +
+#endif /* __UCLIBC_HAS_IPV6__ */
+ sizeof(char *)*ALIAS_DIM + 384 /*namebuffer*/ + 32 /* margin */];
+ struct hostent *hp;
+
+ gethostbyaddr_r(addr, len, type, &h, buf, sizeof(buf), &hp, &h_errno);
+ return hp;
+}
+libc_hidden_def(gethostbyaddr)
+#endif
+
+
#ifdef L_res_comp
/*
diff --git a/libc/inet/resolveaddress.c b/libc/inet/resolveaddress.c
deleted file mode 100644
index d57366c98..000000000
--- a/libc/inet/resolveaddress.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
- * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#define L_resolveaddress
-#include "resolv.c"