bpfloader: pass whole struct Location to loadProg()

Simplify the loadProg() interface by passing struct Location instead
of passing its fields as separate arguments. Move struct Location into
libbpf_android.h to accommodate the change.

Change-Id: I39834b2645d38ba4c2eb5ea901a3da0f56a1912c
Signed-off-by: Connor O'Brien <connoro@google.com>
diff --git a/libbpf_android/BpfLoadTest.cpp b/libbpf_android/BpfLoadTest.cpp
index 8e853b9..0c4e6ee 100644
--- a/libbpf_android/BpfLoadTest.cpp
+++ b/libbpf_android/BpfLoadTest.cpp
@@ -53,9 +53,15 @@
         bpf_prog_type kAllowed[] = {
                 BPF_PROG_TYPE_UNSPEC,
         };
-        EXPECT_EQ(android::bpf::loadProg(progPath.c_str(), &critical, "", 0, kAllowed,
-                                         arraysize(kAllowed)),
-                  -1);
+
+        Location loc = {
+            .dir = "",
+            .prefix = "",
+            .allowedDomainBitmask = 0,
+            .allowedProgTypes = kAllowed,
+            .allowedProgTypesLength = arraysize(kAllowed),
+        };
+        EXPECT_EQ(android::bpf::loadProg(progPath.c_str(), &critical, loc), -1);
 
         EXPECT_EQ(android::bpf::loadProg(progPath.c_str(), &critical), 0);
         EXPECT_EQ(false, critical);