Implementation of control flags in asynchronous DNS query API
Flags definitions are in multinetwork.h
Test: built, flashed, booted
system/netd/tests/runtests.sh passes
Change-Id: Iab1983b783d1470bc1cf23489abbef7a2d88e860
diff --git a/resolv/resolv_cache.h b/resolv/resolv_cache.h
index dd8aa80..4cfa119 100644
--- a/resolv/resolv_cache.h
+++ b/resolv/resolv_cache.h
@@ -28,6 +28,8 @@
#ifndef NETD_RESOLV_CACHE_H
#define NETD_RESOLV_CACHE_H
+#include "netd_resolv/resolv.h"
+
#include <stddef.h>
struct __res_state;
@@ -41,12 +43,13 @@
RESOLV_CACHE_UNSUPPORTED, /* the cache can't handle that kind of queries */
/* or the answer buffer is too small */
RESOLV_CACHE_NOTFOUND, /* the cache doesn't know about this query */
- RESOLV_CACHE_FOUND /* the cache found the answer */
+ RESOLV_CACHE_FOUND, /* the cache found the answer */
+ RESOLV_CACHE_SKIP /* Don't do anything on cache */
} ResolvCacheStatus;
ResolvCacheStatus _resolv_cache_lookup(unsigned netid, const void* query, int querylen,
- void* answer, int answersize,
- int* answerlen);
+ void* answer, int answersize, int* answerlen,
+ uint32_t flags);
/* add a (query,answer) to the cache, only call if _resolv_cache_lookup
* did return RESOLV_CACHE_NOTFOUND
@@ -55,6 +58,6 @@
int answerlen);
/* Notify the cache a request failed */
-void _resolv_cache_query_failed(unsigned netid, const void* query, int querylen);
+void _resolv_cache_query_failed(unsigned netid, const void* query, int querylen, uint32_t flags);
#endif // NETD_RESOLV_CACHE_H