lshal --init-vintf: can specify manifest partition

lshal --init-vintf [--init-vintf-partition=vendor] generates
device manifest.

lshal --init-vintf --init-vintf-partition=system generates
framework manifest.

lshal --init-vintf --init-vintf-partition=odm generates odm manifest.

Test: the above commands
      health/backup is in system manifest
      IBase is not in any manifest
      graphics.composer/vr is in system manifest

Test: lshal_test

Fixes: 71802285
Change-Id: Ie16c8914218ece5c3cd698c93f2bada1be3ee29f
diff --git a/cmds/lshal/TableEntry.h b/cmds/lshal/TableEntry.h
index 69206cc..24ea438 100644
--- a/cmds/lshal/TableEntry.h
+++ b/cmds/lshal/TableEntry.h
@@ -23,11 +23,14 @@
 #include <vector>
 #include <iostream>
 
+#include <procpartition/procpartition.h>
+
 #include "TextTable.h"
 
 namespace android {
 namespace lshal {
 
+using android::procpartition::Partition;
 using Pids = std::vector<int32_t>;
 
 enum : unsigned int {
@@ -77,6 +80,7 @@
     Architecture arch{ARCH_UNKNOWN};
     // empty: unknown, all zeros: unreleased, otherwise: released
     std::string hash{};
+    Partition partition{Partition::UNKNOWN};
 
     static bool sortByInterfaceName(const TableEntry &a, const TableEntry &b) {
         return a.interfaceName < b.interfaceName;