diff options
author | Oystein Eftevaag <oysteine@google.com> | 2023-02-01 23:54:49 +0000 |
---|---|---|
committer | Oystein Eftevaag <oysteine@google.com> | 2023-02-02 03:08:40 +0000 |
commit | 55b287d6bfba2f31f7d1ee404e88dff4af688c8d (patch) | |
tree | 7d28bf56751f90c7e3a1b598b382c4b3f9559903 | |
parent | ba74d516e952fba28d3252d8b6eeca5e0de4f184 (diff) | |
download | gatekeeper-55b287d6bfba2f31f7d1ee404e88dff4af688c8d.tar.gz |
Enable Windows host compilation of gatekeeper
Bug: 261908998
Test: gatekeeper builds using MinGW
Change-Id: I123cb4d16c72233d95221e48d45241a359c6b68c
-rw-r--r-- | Android.bp | 9 | ||||
-rw-r--r-- | gatekeeper.cpp | 13 |
2 files changed, 21 insertions, 1 deletions
@@ -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) { |