summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOystein Eftevaag <oysteine@google.com>2023-02-01 23:54:49 +0000
committerOystein Eftevaag <oysteine@google.com>2023-02-02 03:08:40 +0000
commit55b287d6bfba2f31f7d1ee404e88dff4af688c8d (patch)
tree7d28bf56751f90c7e3a1b598b382c4b3f9559903
parentba74d516e952fba28d3252d8b6eeca5e0de4f184 (diff)
downloadgatekeeper-55b287d6bfba2f31f7d1ee404e88dff4af688c8d.tar.gz
Enable Windows host compilation of gatekeeper
Bug: 261908998 Test: gatekeeper builds using MinGW Change-Id: I123cb4d16c72233d95221e48d45241a359c6b68c
-rw-r--r--Android.bp9
-rw-r--r--gatekeeper.cpp13
2 files changed, 21 insertions, 1 deletions
diff --git a/Android.bp b/Android.bp
index 790b4a5..a8be361 100644
--- a/Android.bp
+++ b/Android.bp
@@ -38,7 +38,14 @@ cc_library_shared {
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) {