diff --git a/resolv/gethnamaddr.cpp b/resolv/gethnamaddr.cpp
index c77d40d..5c4874d 100644
--- a/resolv/gethnamaddr.cpp
+++ b/resolv/gethnamaddr.cpp
@@ -148,6 +148,8 @@
 static struct hostent* android_gethostbyaddrfornetcontext_proxy_internal(
         const void*, socklen_t, int, struct hostent*, char*, size_t, int*,
         const struct android_net_context*);
+static struct hostent* android_gethostbyaddrfornetcontext_proxy(
+        const void* addr, socklen_t len, int af, const struct android_net_context* netcontext);
 
 static int h_errno_to_result(int* herrno_p) {
     // glibc considers ERANGE a special case (and BSD uses ENOSPC instead).
@@ -1080,7 +1082,7 @@
     return android_gethostbyaddrfornetcontext_proxy(addr, len, af, netcontext);
 }
 
-struct hostent* android_gethostbyaddrfornetcontext_proxy(
+static struct hostent* android_gethostbyaddrfornetcontext_proxy(
         const void* addr, socklen_t len, int af, const struct android_net_context* netcontext) {
     struct res_static* rs = __res_get_static();  // For thread-safety.
     return android_gethostbyaddrfornetcontext_proxy_internal(
diff --git a/resolv/resolv_netid.h b/resolv/resolv_netid.h
index 213c3d9..f410ed1 100644
--- a/resolv/resolv_netid.h
+++ b/resolv/resolv_netid.h
@@ -109,13 +109,6 @@
 /* delete the cache associated with a certain network */
 extern void _resolv_delete_cache_for_net(unsigned netid) __used_in_netd;
 
-/* Internal use only. */
-struct hostent* android_gethostbyaddrfornetcontext_proxy(
-        const void*, socklen_t, int, const struct android_net_context*);
-int android_getnameinfofornet(const struct sockaddr*, socklen_t, char*, size_t, char*, size_t, int,
-                              unsigned, unsigned);
-FILE* android_open_proxy(void);
-
 __END_DECLS
 
 #endif /* _RESOLV_NETID_H */
