Enable Windows host compilation of gatekeeper am: 55b287d6bf am: 0adbed35cf am: 3336572119
Original change: https://android-review.googlesource.com/c/platform/system/gatekeeper/+/2417999
Change-Id: Iaf09a708dff521ff18b15459df9f2655c39cfe28
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/Android.bp b/Android.bp
index 790b4a5..a8be361 100644
--- a/Android.bp
+++ b/Android.bp
@@ -38,7 +38,14 @@
header_libs: [
"libhardware_headers",
],
-
+ target: {
+ windows: {
+ enabled: true,
+ host_ldlibs: [
+ "-lws2_32",
+ ],
+ },
+ },
export_include_dirs: ["include"],
}
diff --git a/gatekeeper.cpp b/gatekeeper.cpp
index 57be100..cc6b1a3 100644
--- a/gatekeeper.cpp
+++ b/gatekeeper.cpp
@@ -16,11 +16,24 @@
#include <gatekeeper/UniquePtr.h>
#include <gatekeeper/gatekeeper.h>
+#ifdef _WIN32
+#include <winsock2.h>
+#define htobe32 htonl
+#define htobe64 htonll_gk
+#else
#include <endian.h>
+#endif
+
#include <stddef.h>
#define DAY_IN_MS (1000 * 60 * 60 * 24)
+#ifdef _WIN32
+__forceinline uint64_t htonll_gk(uint64_t value) {
+ return (((uint64_t)htonl(value & 0xFFFFFFFFUL)) << 32) | htonl((uint32_t)(value >> 32));
+}
+#endif
+
namespace gatekeeper {
void GateKeeper::Enroll(const EnrollRequest &request, EnrollResponse *response) {