Add libtimeinstate for reading uid time-in-state BPF map

Add a library to simplify reading the per-UID time_in_state data
collected using eBPF.

Also add some basic gtests to test the provided interface

Bug: 78498733
Test: gtests pass on crosshatch after loading time_in_state bpf
program
Change-Id: I997e0fd2faad398c7b427084a08edacb9405f089
Signed-off-by: Connor O'Brien <connoro@google.com>
diff --git a/libs/cputimeinstate/Android.bp b/libs/cputimeinstate/Android.bp
new file mode 100644
index 0000000..28cb138
--- /dev/null
+++ b/libs/cputimeinstate/Android.bp
@@ -0,0 +1,30 @@
+cc_library {
+    name: "libtimeinstate",
+    srcs: ["cputimeinstate.cpp"],
+    shared_libs: [
+        "libbase",
+        "libbpf",
+        "libbpf_android",
+        "liblog",
+        "libnetdutils"
+    ],
+    cflags: [
+        "-Werror",
+        "-Wall",
+        "-Wextra",
+    ],
+}
+
+cc_test {
+    name: "libtimeinstate_test",
+    srcs: ["testtimeinstate.cpp"],
+    shared_libs: [
+        "libtimeinstate",
+    ],
+    cflags: [
+        "-Werror",
+        "-Wall",
+        "-Wextra",
+    ],
+}
+