Avoid pass-by-reference in C-style ABI of libnetd_resolv

This is in preparation to enabling the ABI checker on libnetd_resolv.

Switching resolv_init()'s argument from reference to pointer is
technically an ABI change, but in practice most calling conventions
pass pointers and references exactly the same way (I verified only
aarch64).

Test: as follows:
  - build libnetd_resolv
  - install on system with old netd binary
  - reboot
  - atest resolv_integration_test

Change-Id: Iebf385036010b4065afe74209a9f7cf021ca5a20
diff --git a/DnsResolver.cpp b/DnsResolver.cpp
index bef973f..de2637e 100644
--- a/DnsResolver.cpp
+++ b/DnsResolver.cpp
@@ -24,13 +24,13 @@
 #include "DnsResolverService.h"
 #include "resolv_private.h"
 
-bool resolv_init(const ResolverNetdCallbacks& callbacks) {
+bool resolv_init(const ResolverNetdCallbacks* callbacks) {
     android::base::InitLogging(/*argv=*/nullptr);
     android::base::SetDefaultTag("libnetd_resolv");
     LOG(INFO) << __func__ << ": Initializing resolver";
     resolv_set_log_severity(android::base::WARNING);
 
-    android::net::gResNetdCallbacks = callbacks;
+    android::net::gResNetdCallbacks = *callbacks;
     android::net::gDnsResolv = android::net::DnsResolver::getInstance();
     return android::net::gDnsResolv->start();
 }
diff --git a/include/netd_resolv/resolv.h b/include/netd_resolv/resolv.h
index 6b3e3e2..fef356e 100644
--- a/include/netd_resolv/resolv.h
+++ b/include/netd_resolv/resolv.h
@@ -148,6 +148,6 @@
 LIBNETD_RESOLV_PUBLIC bool resolv_has_nameservers(unsigned netid);
 
 // Set callbacks and bring DnsResolver up.
-LIBNETD_RESOLV_PUBLIC bool resolv_init(const ResolverNetdCallbacks& callbacks);
+LIBNETD_RESOLV_PUBLIC bool resolv_init(const ResolverNetdCallbacks* callbacks);
 
 #endif  // NETD_RESOLV_RESOLV_H